XGCa
|
#include <grid_field_pack.hpp>
Public Member Functions | |
GridFieldPack () | |
GridFieldPack (KinType kintype_in, bool turb_efield_in, int nrho_in, double inv_drho_in) | |
bool | can_reuse (KinType kintype_in) |
KOKKOS_INLINE_FUNCTION void | phi_from_para (SimdVector &vec, int i_simd, const SimdVector &B, double Bmag) const |
KOKKOS_INLINE_FUNCTION void | gather_all_fields (const PushControls &push_controls, int i_simd, int i_node, double wp, const FieldCorrection &corr, const FieldWeights< DriftKin, PIT > &wts, LocalFields &fld) const |
KOKKOS_INLINE_FUNCTION void | gather_all_fields (const PushControls &push_controls, int i_simd, int node, double wp, const FieldCorrection &corr, const FieldWeights< GyroKin, PIT > &wts, LocalFields &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 Simd< double > &fld_phi, const Simd< int > &itr, const SimdGridVec &p, SimdGyroRadius< PT > &rho, LocalFields &fld) const |
KOKKOS_INLINE_FUNCTION void | get_Ah (const Grid< Device > &grid, const Simd< double > &fld_phi, const Simd< int > &itr, const SimdGridVec &p, SimdGyroRadius< GyroKin > &rho, Simd< double > &Ah) const |
KOKKOS_INLINE_FUNCTION void | get_Ah (const Grid< Device > &grid, const Simd< double > &fld_phi, const Simd< int > &itr, const SimdGridVec &p, SimdGyroRadius< DriftKin > &rho, Simd< double > &Ah) const |
KOKKOS_INLINE_FUNCTION void | get_dpot (const Grid< Device > &grid, const Simd< double > &fld_phi, const Simd< int > &itr, const SimdGridVec &p, Simd< double > &dpot_out) const |
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... | |
int | nrho |
Gyroavg dimension (not including 0) - Used if kintype==GyroKin. More... | |
double | inv_drho |
1.0 over rho spacing - Used if kintype==Gyrokin More... | |
GridField< Device, vec2d_if_axisym< PIT >), PIT, TorType::OnePlane, KinType::GyroKin > | E_rho |
GridField< Device, VarType::Scalar, PIT, TorType::OnePlane, KinType::DriftKin > | dpot |
Private Attributes | |
KinType | kintype |
bool | is_initialized |
|
inline |
|
inline |
|
inline |
|
inline |
Get electric field vector for a vector of particle locations
[in] | push_controls | PushControls parameters |
[in] | grid | The grid object |
[in] | B | The magnetic field vector |
[in] | gradpsi | Gradients of psi |
[in] | fld_phi | Phi coordinate |
[in] | itr | Triangle the particles are in |
[in] | p | Weighting of triangle vertices |
[out] | rho | |
[out] | fld | Local fields object |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
GridField<Device, VarType::Scalar,PIT, TorType::OnePlane, KinType::DriftKin> GridFieldPack< Device, PIT >::dpot |
GridField<Device, vec2d_if_axisym<PIT>),PIT, TorType::OnePlane, KinType::GyroKin> GridFieldPack< Device, PIT >::E_rho |
double GridFieldPack< Device, PIT >::inv_drho |
1.0 over rho spacing - Used if kintype==Gyrokin
|
private |
|
private |
int GridFieldPack< Device, PIT >::node_offset |
Offset for phi_ff field decomposition.
int GridFieldPack< Device, PIT >::nrho |
Gyroavg dimension (not including 0) - Used if kintype==GyroKin.
int GridFieldPack< Device, PIT >::phi_offset |
Offset for phi_ff field decomposition.
bool GridFieldPack< Device, PIT >::turb_efield |