XGC1
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
Public Types | Public Member Functions | Public Attributes | List of all members
GridFieldPack< Device, GFPT > Struct Template Reference

#include <grid_field_pack.hpp>

Inheritance diagram for GridFieldPack< Device, GFPT >:
Inheritance graph
[legend]
Collaboration diagram for GridFieldPack< Device, GFPT >:
Collaboration graph
[legend]

Public Types

using pack_type = GFPT
 

Public Member Functions

template<Label FN>
KOKKOS_INLINE_FUNCTION const auto & get () const
 
template<Label FN>
auto & get ()
 
 GridFieldPack ()
 
 GridFieldPack (bool turb_efield_in)
 
KOKKOS_INLINE_FUNCTION void phi_from_para (SimdVector &vec, int i_simd, const SimdVector &B, double Bmag) const
 
template<typename FieldT >
KOKKOS_INLINE_FUNCTION void gather_deltaf_conv (int i_simd, int node, int i_phi, double wp, const FieldCorrection &corr, const SimdGridWeights< Order::One, PIT_GLOBAL > &grid_wts, LocalFields< GFPT > &fld, const FieldT &labeled_field) const
 
KOKKOS_INLINE_FUNCTION void gather_all_fields (const PushControls &push_controls, int i_simd, int i_node, double wp, const FieldCorrection &corr, const SimdGridWeights< Order::One, PIT_GLOBAL > &grid_wts, const SimdGyroWeights< DriftKin > &rho_wts, LocalFields< GFPT > &fld) const
 
KOKKOS_INLINE_FUNCTION void gather_all_fields (const PushControls &push_controls, int i_simd, int node, double wp, const FieldCorrection &corr, const SimdGridWeights< Order::One, PIT_GLOBAL > &grid_wts, const SimdGyroWeights< GyroKin > &rho_wts, LocalFields< GFPT > &fld) const
 
template<KinType PT>
KOKKOS_INLINE_FUNCTION void fields_at_point (const PushControls &push_controls, const Grid< Device > &grid, const SimdVector &B, const SimdVector2D &gradpsi, const SimdGridWeights< Order::One, PIT_GLOBAL > &grid_wts, const SimdGyroWeights< PT > &rho_wts, LocalFields< GFPT > &fld) const
 
- Public Member Functions inherited from GridFieldPackGeneric
virtual ~GridFieldPackGeneric ()=default
 

Public Attributes

bool turb_efield
 
int phi_offset
 Offset for phi_ff field decomposition. More...
 
int node_offset
 Offset for phi_ff field decomposition. More...
 
pack_type pack
 
GridField< Device,
VarType::Scalar, PIT_GLOBAL,
TorType::OnePlane,
KinType::DriftKin
loop_voltage
 

Member Typedef Documentation

template<class Device, typename GFPT>
using GridFieldPack< Device, GFPT >::pack_type = GFPT

Constructor & Destructor Documentation

template<class Device, typename GFPT>
GridFieldPack< Device, GFPT >::GridFieldPack ( )
inline
template<class Device, typename GFPT>
GridFieldPack< Device, GFPT >::GridFieldPack ( bool  turb_efield_in)
inline

Member Function Documentation

template<class Device, typename GFPT>
template<KinType PT>
KOKKOS_INLINE_FUNCTION void GridFieldPack< Device, GFPT >::fields_at_point ( const PushControls push_controls,
const Grid< Device > &  grid,
const SimdVector B,
const SimdVector2D gradpsi,
const SimdGridWeights< Order::One, PIT_GLOBAL > &  grid_wts,
const SimdGyroWeights< PT > &  rho_wts,
LocalFields< GFPT > &  fld 
) const
inline

Get electric field vector for a vector of particle locations

Parameters
[in]push_controlsPushControls parameters
[in]gridThe grid object
[in]BThe magnetic field vector
[in]gradpsiGradients of psi
[in]itrTriangle the particles are in
[in]pWeighting of triangle vertices
[out]rho
[out]fldLocal fields object

Here is the call graph for this function:

Here is the caller graph for this function:

template<class Device, typename GFPT>
KOKKOS_INLINE_FUNCTION void GridFieldPack< Device, GFPT >::gather_all_fields ( const PushControls push_controls,
int  i_simd,
int  i_node,
double  wp,
const FieldCorrection corr,
const SimdGridWeights< Order::One, PIT_GLOBAL > &  grid_wts,
const SimdGyroWeights< DriftKin > &  rho_wts,
LocalFields< GFPT > &  fld 
) const
inline

Here is the call graph for this function:

Here is the caller graph for this function:

template<class Device, typename GFPT>
KOKKOS_INLINE_FUNCTION void GridFieldPack< Device, GFPT >::gather_all_fields ( const PushControls push_controls,
int  i_simd,
int  node,
double  wp,
const FieldCorrection corr,
const SimdGridWeights< Order::One, PIT_GLOBAL > &  grid_wts,
const SimdGyroWeights< GyroKin > &  rho_wts,
LocalFields< GFPT > &  fld 
) const
inline

Here is the call graph for this function:

template<class Device, typename GFPT>
template<typename FieldT >
KOKKOS_INLINE_FUNCTION void GridFieldPack< Device, GFPT >::gather_deltaf_conv ( int  i_simd,
int  node,
int  i_phi,
double  wp,
const FieldCorrection corr,
const SimdGridWeights< Order::One, PIT_GLOBAL > &  grid_wts,
LocalFields< GFPT > &  fld,
const FieldT &  labeled_field 
) const
inline

Here is the caller graph for this function:

template<class Device, typename GFPT>
template<Label FN>
KOKKOS_INLINE_FUNCTION const auto& GridFieldPack< Device, GFPT >::get ( ) const
inline
template<class Device, typename GFPT>
template<Label FN>
auto& GridFieldPack< Device, GFPT >::get ( )
inline
template<class Device, typename GFPT>
KOKKOS_INLINE_FUNCTION void GridFieldPack< Device, GFPT >::phi_from_para ( SimdVector vec,
int  i_simd,
const SimdVector B,
double  Bmag 
) const
inline

Here is the caller graph for this function:

Member Data Documentation

template<class Device, typename GFPT>
GridField<Device, VarType::Scalar,PIT_GLOBAL, TorType::OnePlane, KinType::DriftKin> GridFieldPack< Device, GFPT >::loop_voltage
template<class Device, typename GFPT>
int GridFieldPack< Device, GFPT >::node_offset

Offset for phi_ff field decomposition.

template<class Device, typename GFPT>
pack_type GridFieldPack< Device, GFPT >::pack
template<class Device, typename GFPT>
int GridFieldPack< Device, GFPT >::phi_offset

Offset for phi_ff field decomposition.

template<class Device, typename GFPT>
bool GridFieldPack< Device, GFPT >::turb_efield

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