XGC1
Public Member Functions | Public Attributes | Private Types | Private Attributes | List of all members
VaryingBackground< Device > Class Template Reference

#include <varying_background.hpp>

Collaboration diagram for VaryingBackground< Device >:
Collaboration graph
[legend]

Public Member Functions

 VaryingBackground ()
 
 VaryingBackground (NLReader::NamelistReader &nlr, const DomainDecomposition< DeviceType > &pol_decomp, const MagneticField< DeviceType > &magnetic_field, const Grid< DeviceType > &grid, int n_nonadiabatic_species)
 
KOKKOS_INLINE_FUNCTION bool is_in_range (const MagneticField< DeviceType > &magnetic_field, double r, double z, double psi) const
 
KOKKOS_INLINE_FUNCTION void interp_bg_profile (double psi, double theta, int isp, double &den, double &temp, double &up) const
 
void update (const MagneticField< DeviceType > &magnetic_field, Species< DeviceType > &species)
 

Public Attributes

int period
 Period of background updating. More...
 

Private Types

enum  {
  Density1 =0 , Energy , VPara , Density2 ,
  VPara2 , NTmp
}
 
enum  { Density =0 , Temp , Flow , N }
 

Private Attributes

double pin
 
double pout
 
int m
 
int mtheta
 
double inv_dp
 
double inv_dtheta
 
View< double **, CLayout, Device > vol
 Volume. More...
 
View< double ****, CLayout, Device > bg
 Density, Temperature and velocity of each shell for background update. More...
 

Member Enumeration Documentation

◆ anonymous enum

template<class Device >
anonymous enum
private
Enumerator
Density1 
Energy 
VPara 
Density2 
VPara2 
NTmp 

◆ anonymous enum

template<class Device >
anonymous enum
private
Enumerator
Density 
Temp 
Flow 

Constructor & Destructor Documentation

◆ VaryingBackground() [1/2]

template<class Device >
VaryingBackground< Device >::VaryingBackground ( )
inline

◆ VaryingBackground() [2/2]

template<class Device >
VaryingBackground< Device >::VaryingBackground ( NLReader::NamelistReader nlr,
const DomainDecomposition< DeviceType > &  pol_decomp,
const MagneticField< DeviceType > &  magnetic_field,
const Grid< DeviceType > &  grid,
int  n_nonadiabatic_species 
)
inline
Here is the call graph for this function:

Member Function Documentation

◆ interp_bg_profile()

template<class Device >
KOKKOS_INLINE_FUNCTION void VaryingBackground< Device >::interp_bg_profile ( double  psi,
double  theta,
int  isp,
double &  den,
double &  temp,
double &  up 
) const
inline

◆ is_in_range()

template<class Device >
KOKKOS_INLINE_FUNCTION bool VaryingBackground< Device >::is_in_range ( const MagneticField< DeviceType > &  magnetic_field,
double  r,
double  z,
double  psi 
) const
inline

◆ update()

template<class Device >
void VaryingBackground< Device >::update ( const MagneticField< DeviceType > &  magnetic_field,
Species< DeviceType > &  species 
)
inline
Here is the call graph for this function:

Member Data Documentation

◆ bg

template<class Device >
View<double****, CLayout, Device> VaryingBackground< Device >::bg
private

Density, Temperature and velocity of each shell for background update.

◆ inv_dp

template<class Device >
double VaryingBackground< Device >::inv_dp
private

◆ inv_dtheta

template<class Device >
double VaryingBackground< Device >::inv_dtheta
private

◆ m

template<class Device >
int VaryingBackground< Device >::m
private

◆ mtheta

template<class Device >
int VaryingBackground< Device >::mtheta
private

◆ period

template<class Device >
int VaryingBackground< Device >::period

Period of background updating.

◆ pin

template<class Device >
double VaryingBackground< Device >::pin
private

◆ pout

template<class Device >
double VaryingBackground< Device >::pout
private

◆ vol

template<class Device >
View<double**, CLayout, Device> VaryingBackground< Device >::vol
private

Volume.


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