XGCa
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Pages
Public Member Functions | Public Attributes | List of all members
PerturbedBField< Device > Class Template Reference

#include <cpp_perturbed_B_field.hpp>

Public Member Functions

 PerturbedBField (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 Simulation< Device > &sml, 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...
 
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...
 

Constructor & Destructor Documentation

template<class Device >
PerturbedBField< Device >::PerturbedBField ( 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

Here is the call graph for this function:

template<class Device>
PerturbedBField< Device >::PerturbedBField ( )
inline

Member Function Documentation

template<class Device >
KOKKOS_INLINE_FUNCTION void PerturbedBField< Device >::get_delta_b ( const Simulation< Device > &  sml,
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

Parameters
[in]gridThe grid object
[in]fld_phiPhi coordinate
[in]itrTriangle the particles are in
[in]pWeighting of triangle vertices
[out]tdbMagnetic field perturbation vector

Here is the caller graph for this function:

Member Data Documentation

template<class Device>
Kokkos::View<PertVec**,Kokkos::LayoutRight,Device> PerturbedBField< Device >::bfield_im

perturbed magnetic field on XGC mesh, imaginary part

template<class Device>
Kokkos::View<PertVec**,Kokkos::LayoutRight,Device> PerturbedBField< Device >::bfield_im_vac

perturbed vacuum field on XGC mesh, imaginary part

template<class Device>
Kokkos::View<PertVec**,Kokkos::LayoutRight,Device> PerturbedBField< Device >::bfield_re

perturbed magnetic field on XGC mesh, real part

template<class Device>
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)

template<class Device>
Kokkos::View<int*,Kokkos::LayoutRight,Device> PerturbedBField< Device >::ntor

Array to store the toroidal mode numbers.

template<class Device>
int PerturbedBField< Device >::num_ntor

Number of toroidal mode numbers (<= sml_nphi_total)

template<class Device>
int PerturbedBField< Device >::rampup_interval

Number of time steps over which the perturbed field is constant during ramp-up.

template<class Device>
int PerturbedBField< Device >::rampup_time

Number of time steps over which the perturbed field is ramped up.

template<class Device>
bool PerturbedBField< Device >::rampup_vac

(.true.) Ramp up perturbed field slowly, (.false.) turn on perturbed field abruptly

template<class Device>
int PerturbedBField< Device >::start_time

Time step in which perturbed field is switched on.


The documentation for this class was generated from the following files: