XGCa
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Pages
cpp_push_physics.hpp
Go to the documentation of this file.
1 #ifndef CPP_PUSH_PHYSICS_HPP
2 #define CPP_PUSH_PHYSICS_HPP
3 #include "cpp_electric_field.hpp"
5 #include "cpp_f0profile.hpp"
7 
8 template<class Device, KinType KT>
9 KOKKOS_INLINE_FUNCTION void derivs_single_with_e_elec(const Grid<Device> &grid, const Simulation<Device> &sml,
10  const Species<Device> &species, const MagneticField<Device> &magnetic_field, const ElectricField<Device> &electric_field,
11  const PerturbedBField<Device> &perturbed_B_field, const F0Profile<Device> &f0profile, SimdParticles &part,SimdPhase &dy,
12  Simd<int>& itr, const FieldAlignedLocalFields<KT>& 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 Simulation<Device> &sml, const Species<Device> &species,
19  const SimdParticles &part, const SimdVector &bfield, const SimdVector (&jacb)[3],
20  const Simd<double>& psi, const SimdVector2D &gradpsi, const SimdVector &tdb, const SimdVector &efield,
21 #ifdef DELTAF_CONV
22  const SimdVector &efield00, const Simd<double>& ddpotdt,
23  const Simd<double>& f0den, const Simd<double>& f0dden,
24  const Simd<double>& f0tev, const Simd<double>& f0dtev,
25 #endif
26 #ifdef EXPLICIT_EM
27  const SimdVector &dAh, const Simd<double>& Ah, const SimdVector &dAs, const Simd<double>& As, const Simd<double>& Ah_cv,
28 #endif
29  SimdPhase &yprime, Simd<double> *vf_diag );
30 #endif
31 
32 #include "cpp_push_physics.tpp"
33 #endif
Definition: cpp_globals.hpp:59
Definition: cpp_perturbed_B_field.hpp:12
Definition: cpp_sml.hpp:7
Definition: cpp_magnetic_field.hpp:9
KOKKOS_INLINE_FUNCTION void derivs_single_with_e_elec(const Grid< Device > &grid, const Simulation< Device > &sml, const Species< Device > &species, const MagneticField< Device > &magnetic_field, const ElectricField< Device > &electric_field, const PerturbedBField< Device > &perturbed_B_field, const F0Profile< Device > &f0profile, SimdParticles &part, SimdPhase &dy, Simd< int > &itr, const FieldAlignedLocalFields< KT > &E_mag, double time, Simd< double > *vf_diag=nullptr)
Definition: cpp_push_physics.tpp:21
Definition: cpp_electric_field.hpp:35
Definition: cpp_grid.hpp:38
KOKKOS_INLINE_FUNCTION void derivs_elec(const Simulation< Device > &sml, const Species< Device > &species, const SimdParticles &part, const SimdVector &bfield, const SimdVector(&jacb)[3], const Simd< double > &psi, const SimdVector2D &gradpsi, const SimdVector &tdb, const SimdVector &efield, SimdPhase &yprime, Simd< double > *vf_diag)
Definition: cpp_push_physics.tpp:131
Definition: cpp_particles.hpp:28
Definition: field_aligned_local_fields.hpp:21
Definition: cpp_particles.hpp:11
Definition: simd.hpp:18
Definition: cpp_globals.hpp:54
Definition: cpp_species.hpp:13
Definition: cpp_f0profile.hpp:32