XGCa
|
#include <grid_field_pack.hpp>
Public Types | |
using | pack_type = Pack< Labeled< EfieldType, Label::E >, Labeled< EfieldGyroType, Label::E_gyro >> |
Public Member Functions | |
GridFieldPack () | |
GridFieldPack (KinType kintype_in, bool turb_efield_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 SimdGridWeights< Order::One, PIT_GLOBAL > &grid_wts, const SimdGyroWeights< DriftKin > &rho_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 SimdGridWeights< Order::One, PIT_GLOBAL > &grid_wts, const SimdGyroWeights< GyroKin > &rho_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 SimdGridWeights< Order::One, PIT_GLOBAL > &grid_wts, const SimdGyroWeights< PT > &rho_wts, LocalFields &fld) const |
KOKKOS_INLINE_FUNCTION void | get_Ah (const Grid< Device > &grid, const SimdGridWeights< Order::One, PIT_GLOBAL > &grid_wts, const SimdGyroWeights< GyroKin > &rho_wts, Simd< double > &Ah) const |
KOKKOS_INLINE_FUNCTION void | get_Ah (const Grid< Device > &grid, const SimdGridWeights< Order::One, PIT_GLOBAL > &grid_wts, const SimdGyroWeights< DriftKin > &rho_wts, Simd< double > &Ah) const |
KOKKOS_INLINE_FUNCTION void | get_dpot (const Grid< Device > &grid, const SimdGridWeights< Order::One, PIT_GLOBAL > &grid_wts, 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... | |
GridField< Device, vec2d_if_axisym< PIT >), PIT, TorType::OnePlane, KinType::GyroKin > | E_rho |
GridField< Device, VarType::Scalar, PIT, TorType::OnePlane, KinType::DriftKin > | dpot |
GridField< Device, VarType::Scalar, PIT, TorType::OnePlane, KinType::DriftKin > | loop_voltage |
Private Attributes | |
KinType | kintype |
bool | is_initialized |
using GridFieldPack< Device, PIT >::pack_type = Pack<Labeled<EfieldType, Label::E>, Labeled<EfieldGyroType, Label::E_gyro>> |
|
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] | 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 |
|
private |
|
private |
GridField<Device, VarType::Scalar,PIT, TorType::OnePlane, KinType::DriftKin> GridFieldPack< Device, PIT >::loop_voltage |
int GridFieldPack< Device, PIT >::node_offset |
Offset for phi_ff field decomposition.
int GridFieldPack< Device, PIT >::phi_offset |
Offset for phi_ff field decomposition.
bool GridFieldPack< Device, PIT >::turb_efield |