XGCa
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
Public Member Functions | Static Public Member Functions | Public Attributes | List of all members
ElectricField< Device > Struct Template Reference

#include <electric_field.hpp>

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

Public Member Functions

 ElectricField ()
 
 ElectricField (NLReader::NamelistReader &nlr, int nnode_in, int nplanes_in, int nrho_in, double inv_drho_in)
 
template<PhiInterpType PIT>
GridFieldPack< Device, PIT > copy_push_fields_to_device (KinType kintype_in, const Simulation< DeviceType > &sml, const DomainDecomposition< DeviceType > &pol_decomp, const MagneticField< DeviceType > &magnetic_field, const Grid< DeviceType > &grid, bool near_field=false) const
 
template<PhiInterpType PIT>
GridFieldPack< Device, PIT > copy_Ah_cv_to_device_as_Ah (KinType kintype_in, const DomainDecomposition< DeviceType > &pol_decomp, const Grid< DeviceType > &grid) const
 
template<PhiInterpType PIT>
GridFieldPack< Device, PIT > copy_Ah_ff_to_device (KinType kintype_in, const DomainDecomposition< DeviceType > &pol_decomp, const Grid< DeviceType > &grid) const
 
template<PhiInterpType PIT>
GridFieldPack< Device, PIT > copy_dpot_to_device (KinType kintype_in) const
 
void get_Ah_rho_ff (const Simulation< DeviceType > &sml, const Grid< DeviceType > &grid, const DomainDecomposition< DeviceType > &pol_decomp, const MagneticField< DeviceType > &magnetic_field, const Species< DeviceType > &species)
 
void get_potential_grad (const Simulation< DeviceType > &sml, const Grid< DeviceType > &grid, const DomainDecomposition< DeviceType > &pol_decomp, const MagneticField< DeviceType > &magnetic_field, const Species< DeviceType > &species)
 

Static Public Member Functions

static MemoryPrediction estimate_memory_usage (NLReader::NamelistReader &nlr, const Grid< DeviceType > &grid)
 

Public Attributes

int nnode
 
int nphi
 
int nrho
 
double inv_drho
 
bool calculate_phi_ff_on_device
 
bool turb_efield
 E-field calculated only with \(<\phi>\) if .false., psndpot will still contain all (n=0,|m|>0) and (|n|>0,m) modes. More...
 
bool E00_efield
 Flux-surface averaged potential not used for calculating the electric field if .false. More...
 
GridField< HostType,
VarType::Vector2D, PIT_GLOBAL,
TorType::OnePlane,
KinType::DriftKin
E00_ff_h
 Radial electric field from \(\langle \phi\rangle \) in field-following format. More...
 
GridField< HostType,
VarType::Scalar,
PhiInterpType::Planes,
TorType::OnePlane,
KinType::DriftKin
ddpotdt
 Time derivative of \(\phi - \langle \phi\rangle \) - Not field-following? More...
 
GridField< HostType,
VarType::Scalar,
PhiInterpType::None,
TorType::MultiplePlanes,
KinType::DriftKin
Ah_h
 
GridField< HostType,
vec2d_if_axisym< PIT_GLOBAL >
), PIT_GLOBAL,
TorType::OnePlane,
KinType::GyroKin
dAh
 
GridField< HostType,
VarType::Scalar, PIT_GLOBAL,
TorType::OnePlane,
KinType::GyroKin
Ah
 
GridField< HostType,
VarType::Scalar,
PhiInterpType::None,
TorType::MultiplePlanes,
KinType::DriftKin
As_h
 
GridField< HostType,
VarType::Scalar,
PhiInterpType::None,
TorType::MultiplePlanes,
KinType::DriftKin
As_h_backup
 
GridField< HostType,
vec2d_if_axisym< PIT_GLOBAL >
), PIT_GLOBAL,
TorType::OnePlane,
KinType::GyroKin
dAs
 
GridField< HostType,
VarType::Scalar, PIT_GLOBAL,
TorType::OnePlane,
KinType::GyroKin
As
 
GridField< HostType,
VarType::Scalar,
PhiInterpType::Planes,
TorType::OnePlane,
KinType::DriftKin
Ah_cv
 
GridField< HostType,
VarType::Scalar,
PhiInterpType::Planes,
TorType::OnePlane,
KinType::GyroKin
Epar_em
 
GridField< HostType,
VarType::Scalar, PIT_GLOBAL,
TorType::OnePlane,
KinType::GyroKin
pot
 
GridField< HostType,
vec2d_if_axisym< PIT_GLOBAL >
), PIT_GLOBAL,
TorType::OnePlane,
KinType::GyroKin
E
 
GridField< HostType,
VarType::Scalar, PIT_GLOBAL,
TorType::OnePlane,
KinType::DriftKin
dpot_ff_h
 
GridField< HostType,
VarType::Vector2D, PIT_GLOBAL,
TorType::OnePlane,
KinType::GyroKin
dEr_B2
 Gradient of Er/B^2. More...
 
GridField< HostType,
VarType::Vector2D, PIT_GLOBAL,
TorType::OnePlane,
KinType::GyroKin
dEz_B2
 Gradient of Ez/B^2. More...
 
GridField< HostType,
VarType::Vector2D, PIT_GLOBAL,
TorType::OnePlane,
KinType::GyroKin
du2_E
 Gradient of the square (dot product) of the E x B drift. More...
 
GridField< HostType,
VarType::Scalar,
PhiInterpType::None,
TorType::MultiplePlanes,
KinType::DriftKin
dpot_h
 
GridField< HostType,
VarType::Scalar,
PhiInterpType::None,
TorType::OnePlane,
KinType::DriftKin
pot0_h
 
View< double ***, CLayout,
HostType
dpotsave
 
GridField< HostType,
VarType::Scalar,
PhiInterpType::None,
TorType::OnePlane,
KinType::DriftKin
loop_voltage_h
 
GridField< HostType,
VarType::Scalar,
PhiInterpType::None,
TorType::OnePlane,
KinType::DriftKin
jpara_diff_previous_h
 
GridField< HostType,
VarType::Scalar,
PhiInterpType::None,
TorType::OnePlane,
KinType::DriftKin
jpara_diff_integral_h
 

Constructor & Destructor Documentation

template<class Device>
ElectricField< Device >::ElectricField ( )
inline
template<class Device>
ElectricField< Device >::ElectricField ( NLReader::NamelistReader nlr,
int  nnode_in,
int  nplanes_in,
int  nrho_in,
double  inv_drho_in 
)
inline

Here is the call graph for this function:

Member Function Documentation

template<class Device>
template<PhiInterpType PIT>
GridFieldPack<Device, PIT> ElectricField< Device >::copy_Ah_cv_to_device_as_Ah ( KinType  kintype_in,
const DomainDecomposition< DeviceType > &  pol_decomp,
const Grid< DeviceType > &  grid 
) const
inline

Here is the call graph for this function:

Here is the caller graph for this function:

template<class Device>
template<PhiInterpType PIT>
GridFieldPack<Device, PIT> ElectricField< Device >::copy_Ah_ff_to_device ( KinType  kintype_in,
const DomainDecomposition< DeviceType > &  pol_decomp,
const Grid< DeviceType > &  grid 
) const
inline

Here is the call graph for this function:

Here is the caller graph for this function:

template<class Device>
template<PhiInterpType PIT>
GridFieldPack<Device, PIT> ElectricField< Device >::copy_dpot_to_device ( KinType  kintype_in) const
inline

Here is the call graph for this function:

Here is the caller graph for this function:

template<class Device>
template<PhiInterpType PIT>
GridFieldPack<Device, PIT> ElectricField< Device >::copy_push_fields_to_device ( KinType  kintype_in,
const Simulation< DeviceType > &  sml,
const DomainDecomposition< DeviceType > &  pol_decomp,
const MagneticField< DeviceType > &  magnetic_field,
const Grid< DeviceType > &  grid,
bool  near_field = false 
) const
inline

Here is the call graph for this function:

Here is the caller graph for this function:

template<class Device>
static MemoryPrediction ElectricField< Device >::estimate_memory_usage ( NLReader::NamelistReader nlr,
const Grid< DeviceType > &  grid 
)
inlinestatic

Here is the call graph for this function:

template<class Device>
void ElectricField< Device >::get_Ah_rho_ff ( const Simulation< DeviceType > &  sml,
const Grid< DeviceType > &  grid,
const DomainDecomposition< DeviceType > &  pol_decomp,
const MagneticField< DeviceType > &  magnetic_field,
const Species< DeviceType > &  species 
)
inline

Calculates gyro-averaged Ah, field following

Parameters
[in]smlis the simulation object
[in]gridis the grid object
[in]magnetic_fieldis the magnetic field object
Returns
void

Here is the call graph for this function:

Here is the caller graph for this function:

template<class Device>
void ElectricField< Device >::get_potential_grad ( const Simulation< DeviceType > &  sml,
const Grid< DeviceType > &  grid,
const DomainDecomposition< DeviceType > &  pol_decomp,
const MagneticField< DeviceType > &  magnetic_field,
const Species< DeviceType > &  species 
)
inline

Calculates gyro-averaged electric field, electric potential in field-following coordinates (if XGC1) If EM, also calculates analogous magnetic potential and gradients

Parameters
[in]smlis the simulation object
[in]gridis the grid object
[in]magnetic_fieldis the magnetic field object
Returns
void

Here is the call graph for this function:

Here is the caller graph for this function:

Member Data Documentation

template<class Device>
bool ElectricField< Device >::calculate_phi_ff_on_device

Time derivative of \(\phi - \langle \phi\rangle \) - Not field-following?

Gradient of Er/B^2.

Gradient of Ez/B^2.

template<class Device>
View<double***,CLayout, HostType> ElectricField< Device >::dpotsave

Gradient of the square (dot product) of the E x B drift.

template<class Device>
bool ElectricField< Device >::E00_efield

Flux-surface averaged potential not used for calculating the electric field if .false.

Radial electric field from \(\langle \phi\rangle \) in field-following format.

template<class Device>
double ElectricField< Device >::inv_drho
template<class Device>
int ElectricField< Device >::nnode
template<class Device>
int ElectricField< Device >::nphi
template<class Device>
int ElectricField< Device >::nrho
template<class Device>
bool ElectricField< Device >::turb_efield

E-field calculated only with \(<\phi>\) if .false., psndpot will still contain all (n=0,|m|>0) and (|n|>0,m) modes.


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