XGCa
Public Member Functions | Private Attributes | List of all members
Radiation Class Reference

#include <radiation.hpp>

Inheritance diagram for Radiation:
Inheritance graph
[legend]
Collaboration diagram for Radiation:
Collaboration graph
[legend]

Public Member Functions

 Radiation ()
 
 Radiation (NLReader::NamelistReader &nlr, const Grid< DeviceType > &grid, const MagneticField< DeviceType > &magnetic_field)
 
KOKKOS_INLINE_FUNCTION void Rad_Emissivity2 (double tval_ev_in, double n0_ne_in, double &Lz, double &avgZ, double &avgZ2) const
 
KOKKOS_INLINE_FUNCTION double get_impurity_fraction (const MagneticField< DeviceType > &magnetic_field, const Grid< DeviceType > &grid, const Moments &moments, int inode, double avgZ, double avgZ2) const
 
KOKKOS_INLINE_FUNCTION double power_loss (double n, double imp_frac, double Lz, double dt) const
 
KOKKOS_INLINE_FUNCTION void f_shift_from_f_heat_torque (const VelocityGrid &vgrid, double alpha, const VGridDistribution< DeviceType > &f0_f, const VGridDistribution< DeviceType > &f0_df0g, int inode_local) const
 
KOKKOS_INLINE_FUNCTION bool out_of_bounds (const Grid< DeviceType > &grid, int inode) const
 
void apply (const Grid< DeviceType > &grid, const MagneticField< DeviceType > &magnetic_field, const DomainDecomposition< DeviceType > &pol_decomp, const VelocityGrid &vgrid, Plasma &plasma, const Moments &moments, const View< double *, CLayout, HostType > &neu_node_dens, const VGridDistribution< DeviceType > &f0_f, const VGridDistribution< DeviceType > &f0_df0g_cumul, double dt, int gstep, DiagF0DF &diag_f0_df)
 
- Public Member Functions inherited from Source
bool is_triggered (int step)
 

Private Attributes

double psi_min
 Inner boundary for impurity radiation. More...
 
double psi_max
 Outer boundary for impurity radiation. More...
 
View< double *, CLayout, HostTyperad_Te_ev_h
 
View< double *, CLayout, HostTyperad_n0_ne_h
 
View< double **, CLayout, HostTyperad_Lz_h
 
View< double **, CLayout, HostTyperad_avgZ_h
 
View< double **, CLayout, HostTyperad_avgZ2_h
 
View< double *, CLayout, DeviceTyperad_Te_ev
 
View< double *, CLayout, DeviceTyperad_n0_ne
 
View< double **, CLayout, DeviceTyperad_Lz
 
View< double **, CLayout, DeviceTyperad_avgZ
 
View< double **, CLayout, DeviceTyperad_avgZ2
 
double impurity_fraction
 
bool use_zeff_profile
 
bool use_fix_charge
 
double fixedZ
 
int rad_species
 
Eq::Profile< DeviceTypeeq_zeff
 

Additional Inherited Members

- Public Attributes inherited from Source
StepTrigger step_trigger
 

Constructor & Destructor Documentation

◆ Radiation() [1/2]

Radiation::Radiation ( )
inline

◆ Radiation() [2/2]

Radiation::Radiation ( NLReader::NamelistReader nlr,
const Grid< DeviceType > &  grid,
const MagneticField< DeviceType > &  magnetic_field 
)

< Start time for impurity radiation in time steps

fixed Z for impurity - Z_Carbon --> 6, Z^2 --> 36

< Inner boundary for impurity radiation

< Outer boundary for impurity radiation

Read rad file

Here is the call graph for this function:

Member Function Documentation

◆ apply()

void Radiation::apply ( const Grid< DeviceType > &  grid,
const MagneticField< DeviceType > &  magnetic_field,
const DomainDecomposition< DeviceType > &  pol_decomp,
const VelocityGrid vgrid,
Plasma plasma,
const Moments moments,
const View< double *, CLayout, HostType > &  neu_node_dens,
const VGridDistribution< DeviceType > &  f0_f,
const VGridDistribution< DeviceType > &  f0_df0g_cumul,
double  dt,
int  gstep,
DiagF0DF diag_f0_df 
)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ f_shift_from_f_heat_torque()

KOKKOS_INLINE_FUNCTION void Radiation::f_shift_from_f_heat_torque ( const VelocityGrid vgrid,
double  alpha,
const VGridDistribution< DeviceType > &  f0_f,
const VGridDistribution< DeviceType > &  f0_df0g,
int  inode_local 
) const
Here is the call graph for this function:
Here is the caller graph for this function:

◆ get_impurity_fraction()

KOKKOS_INLINE_FUNCTION double Radiation::get_impurity_fraction ( const MagneticField< DeviceType > &  magnetic_field,
const Grid< DeviceType > &  grid,
const Moments moments,
int  inode,
double  avgZ,
double  avgZ2 
) const
Here is the call graph for this function:
Here is the caller graph for this function:

◆ out_of_bounds()

KOKKOS_INLINE_FUNCTION bool Radiation::out_of_bounds ( const Grid< DeviceType > &  grid,
int  inode 
) const
Here is the call graph for this function:
Here is the caller graph for this function:

◆ power_loss()

KOKKOS_INLINE_FUNCTION double Radiation::power_loss ( double  n,
double  imp_frac,
double  Lz,
double  dt 
) const
Here is the caller graph for this function:

◆ Rad_Emissivity2()

KOKKOS_INLINE_FUNCTION void Radiation::Rad_Emissivity2 ( double  tval_ev_in,
double  n0_ne_in,
double &  Lz,
double &  avgZ,
double &  avgZ2 
) const
Here is the call graph for this function:
Here is the caller graph for this function:

Member Data Documentation

◆ eq_zeff

Eq::Profile<DeviceType> Radiation::eq_zeff
private

◆ fixedZ

double Radiation::fixedZ
private

◆ impurity_fraction

double Radiation::impurity_fraction
private

◆ psi_max

double Radiation::psi_max
private

Outer boundary for impurity radiation.

◆ psi_min

double Radiation::psi_min
private

Inner boundary for impurity radiation.

◆ rad_avgZ

View<double**, CLayout, DeviceType> Radiation::rad_avgZ
private

◆ rad_avgZ2

View<double**, CLayout, DeviceType> Radiation::rad_avgZ2
private

◆ rad_avgZ2_h

View<double**, CLayout, HostType> Radiation::rad_avgZ2_h
private

◆ rad_avgZ_h

View<double**, CLayout, HostType> Radiation::rad_avgZ_h
private

◆ rad_Lz

View<double**, CLayout, DeviceType> Radiation::rad_Lz
private

◆ rad_Lz_h

View<double**, CLayout, HostType> Radiation::rad_Lz_h
private

◆ rad_n0_ne

View<double*, CLayout, DeviceType> Radiation::rad_n0_ne
private

◆ rad_n0_ne_h

View<double*, CLayout, HostType> Radiation::rad_n0_ne_h
private

◆ rad_species

int Radiation::rad_species
private

◆ rad_Te_ev

View<double*, CLayout, DeviceType> Radiation::rad_Te_ev
private

◆ rad_Te_ev_h

View<double*, CLayout, HostType> Radiation::rad_Te_ev_h
private

◆ use_fix_charge

bool Radiation::use_fix_charge
private

◆ use_zeff_profile

bool Radiation::use_zeff_profile
private

The documentation for this class was generated from the following files: