XGC1
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
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 MagneticField< DeviceType > &magnetic_field, 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

template<class Device>
anonymous enum
private
Enumerator
Density1 
Energy 
VPara 
Density2 
VPara2 
NTmp 
template<class Device>
anonymous enum
private
Enumerator
Density 
Temp 
Flow 
N 

Constructor & Destructor Documentation

template<class Device>
VaryingBackground< Device >::VaryingBackground ( )
inline
template<class Device>
VaryingBackground< Device >::VaryingBackground ( NLReader::NamelistReader nlr,
const MagneticField< DeviceType > &  magnetic_field,
int  n_nonadiabatic_species 
)
inline

Member Function Documentation

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
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
template<class Device>
void VaryingBackground< Device >::update ( const MagneticField< DeviceType > &  magnetic_field,
Species< DeviceType > &  species 
)
inline

Member Data Documentation

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

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

template<class Device>
double VaryingBackground< Device >::inv_dp
private
template<class Device>
double VaryingBackground< Device >::inv_dtheta
private
template<class Device>
int VaryingBackground< Device >::m
private
template<class Device>
int VaryingBackground< Device >::mtheta
private
template<class Device>
int VaryingBackground< Device >::period

Period of background updating.

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

Volume.


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