XGC1
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
em_push_physics.hpp
Go to the documentation of this file.
1 #ifndef EM_PUSH_PHYSICS_HPP
2 #define EM_PUSH_PHYSICS_HPP
3 
4 #include "push_controls.hpp"
5 #include "perturbed_B_field.hpp"
6 
7 #if defined(EXPLICIT_EM) || defined(DELTAF_CONV)
8 
9 template<class Device, PushDiagToggle PDT>
10 KOKKOS_INLINE_FUNCTION void derivs_elec(const PushControls& push_controls, const Species<Device> &species,
11  const SimdParticles &part, const Simd<double>& inv_r_vec, const SimdVector &bfield, const Simd<double>& B_mag, const SimdVector (&jacb)[3],
12  const Simd<double>& psi, const SimdVector2D &gradpsi, const SimdVector &tdb, const SimdVector &efield,
13 #ifdef DELTAF_CONV
14 #ifndef EXPLICIT_EM
15  const SimdVector &efield00, const Simd<double>& ddpotdt,
16 #endif
17  const Simd<double>& f0den, const Simd<double>& f0dden,
18  const Simd<double>& f0tev, const Simd<double>& f0dtev,
19  const Simd<double>& f0flow, const Simd<double>& f0dflow,
20 #endif
21 #ifdef EXPLICIT_EM
22  const SimdVector &dAh, const Simd<double>& Ah, const SimdVector &dAs, const Simd<double>& As,
23  const Simd<double>& Epar_em,
24 #endif
25  SimdPhase &yprime , Simd<double> *vf_diag );
26 
27 #include "em_push_physics.tpp"
28 
29 #endif
30 
31 #endif
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 SimdVector &efield, SimdPhase &yprime, VFDiag< PDT > &vf_diag)
Definition: em_push_physics.tpp:214
Definition: simd.hpp:149
Definition: push_controls.hpp:9
Definition: particles.hpp:58
Definition: particles.hpp:17
Definition: simd.hpp:139
Definition: species.hpp:75