XGC1
Public Member Functions | Static Public Member Functions | Static Public Attributes | Private Member Functions | Private Attributes | List of all members
Eq::Profile< Device > Class Template Reference

#include <profile.hpp>

Public Member Functions

 Profile (double psi_normalization, Shape shape_in, const std::vector< double > &inx_in, const std::vector< double > &iny_in, const std::string &filename)
 
 Profile (const View< double *, CLayout, HostType > &psi, const View< double *, CLayout, HostType > &var)
 
 Profile (double val_at_zero_psi, double slope)
 
 Profile (Shape shape_in)
 
 Profile ()
 
KOKKOS_INLINE_FUNCTION double value (const MagneticField< DeviceType > &b_field, double psi_in, double r, double z) const
 
KOKKOS_INLINE_FUNCTION double slope (const MagneticField< DeviceType > &b_field, double psi_in, double r, double z) const
 
void get_shape_inx_iny (int &shape_int, std::vector< double > &inx_out, std::vector< double > &iny_out)
 
int get_shape_int ()
 

Static Public Member Functions

static Shape shape_from_int (int shape_int)
 

Static Public Attributes

static constexpr int N_X = 5
 
static constexpr int N_Y = 4
 
static constexpr int N_V = 6
 

Private Member Functions

KOKKOS_INLINE_FUNCTION double value_at_coords (double psi_norm, double psi) const
 

Private Attributes

Shape shape
 
double inx [N_X]
 
double iny [N_Y]
 
double sv [N_V]
 
CustomLinShape< Device > lin
 

Constructor & Destructor Documentation

◆ Profile() [1/5]

template<class Device >
Eq::Profile< Device >::Profile ( double  psi_normalization,
Shape  shape_in,
const std::vector< double > &  inx_in,
const std::vector< double > &  iny_in,
const std::string &  filename 
)
inline
Here is the call graph for this function:

◆ Profile() [2/5]

template<class Device >
Eq::Profile< Device >::Profile ( const View< double *, CLayout, HostType > &  psi,
const View< double *, CLayout, HostType > &  var 
)
inline

◆ Profile() [3/5]

template<class Device >
Eq::Profile< Device >::Profile ( double  val_at_zero_psi,
double  slope 
)
inline
Here is the call graph for this function:

◆ Profile() [4/5]

template<class Device >
Eq::Profile< Device >::Profile ( Shape  shape_in)
inline

◆ Profile() [5/5]

template<class Device >
Eq::Profile< Device >::Profile ( )
inline

Member Function Documentation

◆ get_shape_int()

template<class Device >
int Eq::Profile< Device >::get_shape_int ( )
inline
Here is the call graph for this function:
Here is the caller graph for this function:

◆ get_shape_inx_iny()

template<class Device >
void Eq::Profile< Device >::get_shape_inx_iny ( int &  shape_int,
std::vector< double > &  inx_out,
std::vector< double > &  iny_out 
)
inline
Here is the call graph for this function:

◆ shape_from_int()

template<class Device >
static Shape Eq::Profile< Device >::shape_from_int ( int  shape_int)
inlinestatic
Here is the call graph for this function:
Here is the caller graph for this function:

◆ slope()

template<class Device >
KOKKOS_INLINE_FUNCTION double Eq::Profile< Device >::slope ( const MagneticField< DeviceType > &  b_field,
double  psi_in,
double  r,
double  z 
) const
inline
Here is the call graph for this function:
Here is the caller graph for this function:

◆ value()

template<class Device >
KOKKOS_INLINE_FUNCTION double Eq::Profile< Device >::value ( const MagneticField< DeviceType > &  b_field,
double  psi_in,
double  r,
double  z 
) const
inline
Here is the call graph for this function:
Here is the caller graph for this function:

◆ value_at_coords()

template<class Device >
KOKKOS_INLINE_FUNCTION double Eq::Profile< Device >::value_at_coords ( double  psi_norm,
double  psi 
) const
inlineprivate
Here is the caller graph for this function:

Member Data Documentation

◆ inx

template<class Device >
double Eq::Profile< Device >::inx[N_X]
private

◆ iny

template<class Device >
double Eq::Profile< Device >::iny[N_Y]
private

◆ lin

template<class Device >
CustomLinShape<Device> Eq::Profile< Device >::lin
private

◆ N_V

template<class Device >
constexpr int Eq::Profile< Device >::N_V = 6
staticconstexpr

◆ N_X

template<class Device >
constexpr int Eq::Profile< Device >::N_X = 5
staticconstexpr

◆ N_Y

template<class Device >
constexpr int Eq::Profile< Device >::N_Y = 4
staticconstexpr

◆ shape

template<class Device >
Shape Eq::Profile< Device >::shape
private

◆ sv

template<class Device >
double Eq::Profile< Device >::sv[N_V]
private

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