Go to the source code of this file.
|
template<class Device , KinType KT, PhiInterpType PIT, 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, PIT > &gfpack, const PerturbedBField< Device > &perturbed_B_field, SimdParticles &part, SimdPhase &dy, SimdGridWeights< Order::One, PIT > &grid_wts, const FieldAlignedLocalFields< KT, PIT > &E_mag, double time, VFDiag< PDT > &vf_diag) |
|
template<class Device , KinType KT, PhiInterpType PIT> |
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, PIT > &gfpack, const PerturbedBField< Device > &perturbed_B_field, SimdParticles &part, SimdPhase &dy, SimdGridWeights< Order::One, PIT > &grid_wts, const FieldAlignedLocalFields< KT, PIT > &E_mag, double time) |
|
template<class Device , 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 &fld, const LocalEquilProfiles< MT_GLOBAL > &local_eq_profiles, SimdPhase &yprime, VFDiag< PDT > &vf_diag) |
|
template<class Device , 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 & |
fld, |
|
|
const LocalEquilProfiles< MT_GLOBAL > & |
local_eq_profiles, |
|
|
SimdPhase & |
yprime, |
|
|
VFDiag< PDT > & |
vf_diag |
|
) |
| |
Get the phase derivatives of a vector of particles
- Parameters
-
[in] | part | Vector of particles |
[in] | inv_r_vec | Vector of 1/r (1/r_axis in cylindrical limit) |
[in] | bfield | Vector of magnetic fields |
[in] | B_mag | Vector of bfield magnitudes |
[in] | jacb | Vector of jacobians |
[in] | psi | Vector of psi coordinates |
[in] | gradpsi | Vector of psi gradients (r,z) |
[in] | tdb | Vector of perturbed magnetic field |
[in] | efield | Vector of electric fields |
[in] | efield00 | Vector of 00 electric fields for DELTAF_CONV |
[in] | ddpotdt | Vector of dPotential/dt for DELTAF_CONV |
[in] | f0den | Vector of f0 density for DELTAF_CONV |
[in] | f0dden | Vector of d[f0 density]/dpsi for DELTAF_CONV |
[in] | f0tev | Vector of f0 temperature in eV for DELTAF_CONV |
[in] | f0dtev | Vector of d[f0 tempearture]/dpsi for DELTAF_CONV |
[in] | dAh,Ah,dAs,As | : Vector of vector potentials for EXPLICIT_EM. Minus sign included in dAh and dAs |
[out] | yprime | Vector of derivatives of the particle phases |
[out] | vf_diag | Optional vector of quantities for diagnostic |
Get the phase derivatives of a vector of particles
- Parameters
-
[in] | push_controls | |
[in] | species | |
[in] | part | Vector of particles |
[in] | bfield | Vector of magnetic fields |
[in] | B_mag | Vector of bfield magnitudes |
[in] | jacb | Vector of jacobians |
[in] | psi | Vector of psi coordinates |
[in] | gradpsi | Vector of psi gradients (r,z) |
[in] | tdb | Vector of perturbed magnetic field |
[in] | efield | Vector of electric fields |
[in] | dEr_B2 | Vector of dEr_B2 |
[in] | dEz_B2 | Vector of dEr_B2 |
[in] | du2_E | Vector of du2_E |
[out] | yprime | Vector of derivatives of the particle phases |
[out] | vf_diag | Optional vector of quantities for diagnostic |
template<class Device , KinType KT, PhiInterpType PIT>
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, PIT > & |
gfpack, |
|
|
const PerturbedBField< Device > & |
perturbed_B_field, |
|
|
SimdParticles & |
part, |
|
|
SimdPhase & |
dy, |
|
|
SimdGridWeights< Order::One, PIT > & |
grid_wts, |
|
|
const FieldAlignedLocalFields< KT, PIT > & |
E_mag, |
|
|
double |
time |
|
) |
| |
template<class Device , KinType KT, PhiInterpType PIT, 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, PIT > & |
gfpack, |
|
|
const PerturbedBField< Device > & |
perturbed_B_field, |
|
|
SimdParticles & |
part, |
|
|
SimdPhase & |
dy, |
|
|
SimdGridWeights< Order::One, PIT > & |
grid_wts, |
|
|
const FieldAlignedLocalFields< KT, PIT > & |
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,out] | part | Vector of particles |
[in] | 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] | time | Global simulation time, not used at the moment |
[out] | vf_diag | Optional vector of quantities for diagnostic |