XGCa
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
push_physics.hpp
Go to the documentation of this file.
1 #ifndef PUSH_PHYSICS_HPP
2 #define PUSH_PHYSICS_HPP
3 #include "push_controls.hpp"
4 #include "electric_field.hpp"
5 #include "perturbed_B_field.hpp"
7 
8 template<class Device, KinType KT, PhiInterpType PIT>
9 KOKKOS_INLINE_FUNCTION void derivs_single_with_e_elec(const Grid<Device> &grid, const PushControls &push_controls,
11  const PerturbedBField<Device> &perturbed_B_field, SimdParticles &part,SimdPhase &dy,
12  SimdGridWeights<Order::One, PIT>& grid_wts, const FieldAlignedLocalFields<KT, PIT>& E_mag, double time, Simd<double> *vf_diag=nullptr );
13 
14 #if defined(EXPLICIT_EM) || defined(DELTAF_CONV)
15 #include "em_push_physics.hpp"
16 #else
17 template<class Device>
18 KOKKOS_INLINE_FUNCTION void derivs_elec(const PushControls &push_controls, const Species<Device> &species,
19  const SimdParticles &part, const Simd<double>& inv_r_vec, const SimdVector &bfield, const Simd<double>& B_mag, const SimdVector (&jacb)[3],
20  const Simd<double>& psi, const SimdVector2D &gradpsi, const SimdVector &tdb, const SimdVector &efield,
21 #ifdef SONIC_GK
22  const SimdVector &du2_E,
23 #endif
24  SimdPhase &yprime, Simd<double> *vf_diag );
25 #endif
26 
27 #include "push_physics.tpp"
28 #endif
Definition: simd.hpp:149
Definition: perturbed_B_field.hpp:11
Definition: grid_weights.hpp:77
Definition: push_controls.hpp:9
Definition: magnetic_field.hpp:12
Definition: grid.hpp:67
Definition: grid_field_pack.hpp:20
Definition: particles.hpp:58
Definition: field_aligned_local_fields.hpp:22
Definition: magnetic_field.F90:1
Definition: particles.hpp:17
Definition: simd.hpp:139
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, Simd< double > *vf_diag=nullptr)
Definition: push_physics.tpp:19
Definition: species.hpp:75
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, Simd< double > *vf_diag)
Definition: em_push_physics.tpp:214