|
template<class Device , KinType KT, PhiInterpType PIT, MarkerType MT, MagneticFieldMode MFM, BFieldSymmetry BFS, typename GFPT , PushDiagToggle PDT> |
KOKKOS_INLINE_FUNCTION void | derivs_single_with_e_elec_w_diag (const Grid< Device > &grid, const PushControls &push_controls, const Species< Device > &species, const MagneticField< Device > &magnetic_field, const GridFieldPack< Device, GFPT > &gfpack, const PerturbedBField< Device > &perturbed_B_field, SimdParticles &part, SimdPhase &dy, SimdGridWeights< Order::One, PIT > &grid_wts, const FieldAlignedLocalFields< KT, PIT, GFPT > &E_mag, double time, VFDiag< PDT > &vf_diag) |
|
template<class Device , KinType KT, PhiInterpType PIT, MarkerType MT, MagneticFieldMode MFM, BFieldSymmetry BFS, typename GFPT > |
KOKKOS_INLINE_FUNCTION void | derivs_single_with_e_elec (const Grid< Device > &grid, const PushControls &push_controls, const Species< Device > &species, const MagneticField< Device > &magnetic_field, const GridFieldPack< Device, GFPT > &gfpack, const PerturbedBField< Device > &perturbed_B_field, SimdParticles &part, SimdPhase &dy, SimdGridWeights< Order::One, PIT > &grid_wts, const FieldAlignedLocalFields< KT, PIT, GFPT > &E_mag, double time) |
|
template<class Device , MarkerType MT, MagneticFieldMode MFM, BFieldSymmetry BFS, typename GFPT , PushDiagToggle PDT> |
KOKKOS_INLINE_FUNCTION void | derivs_elec (const PushControls &push_controls, const Species< Device > &species, const SimdParticles &part, const Simd< double > &inv_r_vec, const SimdVector &bfield, const Simd< double > &B_mag, const SimdVector(&jacb)[3], const Simd< double > &psi, const SimdVector2D &gradpsi, const SimdVector &tdb, const LocalFields< GFPT > &fld, const LocalEquilProfiles< MT > &local_eq_profiles, SimdPhase &yprime, VFDiag< PDT > &vf_diag) |
|
template<class Device , KinType KT, PhiInterpType PIT, MarkerType MT, MagneticFieldMode MFM, BFieldSymmetry BFS, typename GFPT , PushDiagToggle PDT>
KOKKOS_INLINE_FUNCTION void derivs_single_with_e_elec_w_diag |
( |
const Grid< Device > & |
grid, |
|
|
const PushControls & |
push_controls, |
|
|
const Species< Device > & |
species, |
|
|
const MagneticField< Device > & |
magnetic_field, |
|
|
const GridFieldPack< Device, GFPT > & |
gfpack, |
|
|
const PerturbedBField< Device > & |
perturbed_B_field, |
|
|
SimdParticles & |
part, |
|
|
SimdPhase & |
dy, |
|
|
SimdGridWeights< Order::One, PIT > & |
grid_wts, |
|
|
const FieldAlignedLocalFields< KT, PIT, GFPT > & |
E_mag, |
|
|
double |
time, |
|
|
VFDiag< PDT > & |
vf_diag |
|
) |
| |
Compute field quantities needed for the push, then output the phase derivatives of a vector of particles
- Parameters
-
[in] | grid | Spatial grid object |
[in] | push_controls | Set of options/parameters used in the particle push |
[in] | species | Contains species parameters |
[in] | magnetic_field | Magnetic field object |
[in] | gfpack | GridFieldPack object |
[in] | perturbed_B_field | |
[in,out] | part | Vector of particles |
[out] | dy | Vector of derivatives of the particle phases |
[in] | grid_wts | Vector of previous triangle index (guess it hasnt moved, to reduce search time) |
[in] | E_mag | |
[in] | time | Global simulation time, not used at the moment |
[out] | vf_diag | Optional vector of quantities for diagnostic |