11 template<
class Device>
26 Kokkos::View<int*,Kokkos::LayoutRight,Device>
ntor;
27 Kokkos::View<Field<VarType::Vector,PhiInterpType::None>**,Kokkos::LayoutRight,Device>
bfield_im_vac;
28 Kokkos::View<Field<VarType::Vector,PhiInterpType::None>**,Kokkos::LayoutRight,Device>
bfield_re_vac;
32 int rampup_time_in,
int start_time_in,
33 int nnode_in,
int *ntor_in);
44 #ifndef NO_FORTRAN_MODULES
Definition: field.hpp:276
double rampup_fac
The current relative amplitude of the vacuum vector potential (if ptb_3db_mode==2) - this is updated ...
Definition: perturbed_B_field.hpp:23
void array_deep_copy(T *array, const Kokkos::View< T *, Kokkos::LayoutRight, Device > &view)
Definition: array_deep_copy.hpp:11
int mode
Mode of RMP operation (details in XGC_core/module_ptb_3db.F90 –> ptb_3db_mode)
Definition: perturbed_B_field.hpp:20
void get_3db_rampup_fac(const double *rampup_fac)
void update_rampup_fac_from_fortran() const
Definition: perturbed_B_field.hpp:39
Definition: perturbed_B_field.hpp:12
int rampup_time
Number of time steps over which the perturbed field is ramped up.
Definition: perturbed_B_field.hpp:18
bool full_spec_on
(EM-only) whether to retain the full RMP spectrum from M3D-C1 or only |m/q-n|<=sml_mode_select_mres_q...
Definition: perturbed_B_field.hpp:21
Definition: grid_weights.hpp:47
Definition: NamelistReader.hpp:193
void copy_bfield_from_fortran() const
Definition: perturbed_B_field.hpp:43
Kokkos::View< int *, Kokkos::LayoutRight, Device > ntor
Array to store the toroidal mode numbers.
Definition: perturbed_B_field.hpp:26
int num_ntor
Number of toroidal mode numbers (<= sml_nphi_total)
Definition: perturbed_B_field.hpp:17
KOKKOS_INLINE_FUNCTION void get_delta_b(const Grid< Device > &grid, const Simd< double > &phi, const SimdGridWeights< Order::One, PhiInterpType::None > &grid_wts, SimdVector &tdb) const
Definition: perturbed_B_field.tpp:37
Kokkos::View< Field< VarType::Vector, PhiInterpType::None > **, Kokkos::LayoutRight, Device > bfield_im_vac
perturbed vacuum field on XGC mesh, imaginary part
Definition: perturbed_B_field.hpp:27
PerturbedBField()
Definition: perturbed_B_field.hpp:36
bool rampup_vac
(.true.) Ramp up perturbed field slowly, (.false.) turn on perturbed field abruptly ...
Definition: perturbed_B_field.hpp:16
int start_time
Time step in which perturbed field is switched on.
Definition: perturbed_B_field.hpp:19
void get_ptb_3db_arrays(Field< VarType::Vector, PhiInterpType::None > **ptb_3db_bfield_re_vac, Field< VarType::Vector, PhiInterpType::None > **ptb_3db_bfield_im_vac)
Kokkos::View< Field< VarType::Vector, PhiInterpType::None > **, Kokkos::LayoutRight, Device > bfield_re_vac
perturbed vacuum field on XGC mesh, real part, dimensions: (grid vertex, R-Z-phi components, tor. mode number)
Definition: perturbed_B_field.hpp:28