XGCa
|
#include <perturbed_B_field.hpp>
Public Member Functions | |
PerturbedBField (NLReader::NamelistReader &nlr, bool rampup_vac_in, int num_ntor_in, int rampup_interval_in, int rampup_time_in, int start_time_in, int nnode_in, int *ntor_in) | |
PerturbedBField () | |
KOKKOS_INLINE_FUNCTION void | get_delta_b (const PushControls &push_controls, const Grid< Device > &grid, const Simd< double > &fld_phi, const Simd< int > &itr, const SimdGridVec &p, SimdVector &tdb) const |
Public Attributes | |
bool | rampup_vac |
(.true.) Ramp up perturbed field slowly, (.false.) turn on perturbed field abruptly More... | |
int | num_ntor |
Number of toroidal mode numbers (<= sml_nphi_total) More... | |
int | rampup_interval |
Number of time steps over which the perturbed field is constant during ramp-up. More... | |
int | rampup_time |
Number of time steps over which the perturbed field is ramped up. More... | |
int | start_time |
Time step in which perturbed field is switched on. More... | |
int | mode |
Mode of RMP operation (details in XGC_core/module_ptb_3db.F90 –> ptb_3db_mode) More... | |
int | jpar_avg_period |
Averaging period for the perturbed current in time steps. More... | |
Kokkos::View< int *, Kokkos::LayoutRight, Device > | ntor |
Array to store the toroidal mode numbers. More... | |
Kokkos::View< PertVec **, Kokkos::LayoutRight, Device > | bfield_im_vac |
perturbed vacuum field on XGC mesh, imaginary part More... | |
Kokkos::View< PertVec **, Kokkos::LayoutRight, Device > | bfield_re_vac |
perturbed vacuum field on XGC mesh, real part, dimensions: (grid vertex, R-Z-phi components, tor. mode number) More... | |
Kokkos::View< PertVec **, Kokkos::LayoutRight, Device > | bfield_im |
perturbed magnetic field on XGC mesh, imaginary part More... | |
Kokkos::View< PertVec **, Kokkos::LayoutRight, Device > | bfield_re |
perturbed magnetic field on XGC mesh, real part More... | |
PerturbedBField< Device >::PerturbedBField | ( | NLReader::NamelistReader & | nlr, |
bool | rampup_vac_in, | ||
int | num_ntor_in, | ||
int | rampup_interval_in, | ||
int | rampup_time_in, | ||
int | start_time_in, | ||
int | nnode_in, | ||
int * | ntor_in | ||
) |
Constructor for perturbed magnetic field class
|
inline |
KOKKOS_INLINE_FUNCTION void PerturbedBField< Device >::get_delta_b | ( | const PushControls & | push_controls, |
const Grid< Device > & | grid, | ||
const Simd< double > & | fld_phi, | ||
const Simd< int > & | itr, | ||
const SimdGridVec & | p, | ||
SimdVector & | tdb | ||
) | const |
Get magnetic field perturbation vector for a vector of particle locations
[in] | grid | The grid object |
[in] | fld_phi | Phi coordinate |
[in] | itr | Triangle the particles are in |
[in] | p | Weighting of triangle vertices |
[out] | tdb | Magnetic field perturbation vector |
Kokkos::View<PertVec**,Kokkos::LayoutRight,Device> PerturbedBField< Device >::bfield_im |
perturbed magnetic field on XGC mesh, imaginary part
Kokkos::View<PertVec**,Kokkos::LayoutRight,Device> PerturbedBField< Device >::bfield_im_vac |
perturbed vacuum field on XGC mesh, imaginary part
Kokkos::View<PertVec**,Kokkos::LayoutRight,Device> PerturbedBField< Device >::bfield_re |
perturbed magnetic field on XGC mesh, real part
Kokkos::View<PertVec**,Kokkos::LayoutRight,Device> PerturbedBField< Device >::bfield_re_vac |
perturbed vacuum field on XGC mesh, real part, dimensions: (grid vertex, R-Z-phi components, tor. mode number)
int PerturbedBField< Device >::jpar_avg_period |
Averaging period for the perturbed current in time steps.
int PerturbedBField< Device >::mode |
Mode of RMP operation (details in XGC_core/module_ptb_3db.F90 –> ptb_3db_mode)
Kokkos::View<int*,Kokkos::LayoutRight,Device> PerturbedBField< Device >::ntor |
Array to store the toroidal mode numbers.
int PerturbedBField< Device >::num_ntor |
Number of toroidal mode numbers (<= sml_nphi_total)
int PerturbedBField< Device >::rampup_interval |
Number of time steps over which the perturbed field is constant during ramp-up.
int PerturbedBField< Device >::rampup_time |
Number of time steps over which the perturbed field is ramped up.
bool PerturbedBField< Device >::rampup_vac |
(.true.) Ramp up perturbed field slowly, (.false.) turn on perturbed field abruptly
int PerturbedBField< Device >::start_time |
Time step in which perturbed field is switched on.