1 #ifndef LOOP_VOLTAGE_HPP
2 #define LOOP_VOLTAGE_HPP
20 template<
class Device,
typename GFPT>
21 KOKKOS_INLINE_FUNCTION
void add_loop_voltage(
const Grid<Device>& grid,
const MagneticField<Device>&
magnetic_field,
const GridFieldPack<Device,GFPT>& gfpack,
const Species<Device>& species,
const SimdParticles& part,
const Simd<double>& B_mag,
const Simd<double>& psi,
SimdVector& efield,
SimdGridWeights<Order::One, PIT_GLOBAL>& grid_wts,
double psimax){
34 for (
int i_simd = 0; i_simd<SIMD_SIZE; i_simd++){
35 double cmrhoB = species.
c_m*part.
ph.
rho[i_simd]*B_mag[i_simd];
39 constexpr
double LOOP_VOLTAGE_HIGH_E_LIMIT_FACTOR = 16.0;
40 bool loop_voltage_on = (psi[i_simd]<psimax) &&
42 ((part.
ct.
mu[i_simd]*2.0*B_mag[i_simd] + cmrhoB*cmrhoB*species.
mass)*
J_2_EV<(LOOP_VOLTAGE_HIGH_E_LIMIT_FACTOR*f0_T_ev));
Definition: magnetic_field.hpp:12
Definition: species.hpp:75
double c_m
c/m
Definition: species.hpp:86
double mass
Particle mass.
Definition: species.hpp:83
Eq::Profile< Device > eq_temp
Definition: species.hpp:136
constexpr double J_2_EV
Conversion rate J to ev.
Definition: constants.hpp:6
constexpr double TWOPI
Definition: constants.hpp:10
KOKKOS_INLINE_FUNCTION void add_loop_voltage(const Grid< Device > &grid, const MagneticField< Device > &magnetic_field, const GridFieldPack< Device, GFPT > &gfpack, const Species< Device > &species, const SimdParticles &part, const Simd< double > &B_mag, const Simd< double > &psi, SimdVector &efield, SimdGridWeights< Order::One, PIT_GLOBAL > &grid_wts, double psimax)
Definition: loop_voltage.hpp:21
Definition: magnetic_field.F90:1
Definition: grid_field_pack.hpp:24
GridField< Device, VarType::Scalar, PIT_GLOBAL, TorType::OnePlane, KinType::DriftKin > loop_voltage
Definition: grid_field_pack.hpp:49
Simd< double > mu
m*v_perp^2/(2B)
Definition: particles.hpp:52
Definition: grid_weights.hpp:47
Definition: particles.hpp:61
SimdPhase ph
Definition: particles.hpp:62
SimdConstants ct
Definition: particles.hpp:63
Simd< double > rho
m*v_para/(q*B) - A_para^h/B (should it be plus or minus?)
Definition: particles.hpp:21
Simd< double > z
Cylindrical coordinate Z.
Definition: particles.hpp:19
Simd< double > r
Cylindrical coordinate R (major radial direction)
Definition: particles.hpp:18
Simd< double > phi
Cylindrical coordinate phi (toroidal direction)
Definition: particles.hpp:20
Simd< double > phi
Definition: simd.hpp:152