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

#include <charge.hpp>

Public Member Functions

 Charge (int nnode, int npsi00, int nrho, int nlarmor, int ntor, int nthreads)
 
 Charge (int nnode, int npsi00, int nrho, int nlarmor, int ntor, int npsi_adj_eden, int nthreads)
 
 Charge ()
 
KOKKOS_INLINE_FUNCTION void adjust_eden_port (const Grid< Device > &grid, const MagneticField< Device > &magnetic_field, const SimdParticles &part, const Simd< double > *vd) const
 
KOKKOS_INLINE_FUNCTION void adjust_eden_wall_loss_port (const Grid< Device > &grid, const MagneticField< Device > &magnetic_field, const Simd< bool > &lost_ptl, const SimdParticles &part, const Simd< double > &dw1) const
 
void reset_charge () const
 
void reset_adj_eden () const
 
void reset_ion_charge () const
 

Public Attributes

bool adjust_eden
 Determines whether to do the adjustment to electron density. More...
 
Kokkos::View< double
**, Kokkos::LayoutRight,
Device > 
edensity
 Electron density distribution. More...
 
Kokkos::View< double
***, Kokkos::LayoutRight,
Device > 
ejpar_re
 
Kokkos::View< double
***, Kokkos::LayoutRight,
Device > 
ejpar_im
 
Kokkos::View< double
***, Kokkos::LayoutRight,
Device > 
idensity
 Ion density distribution. More...
 
Kokkos::View< double
***, Kokkos::LayoutRight,
Device > 
ijpar_re
 
Kokkos::View< double
***, Kokkos::LayoutRight,
Device > 
ijpar_im
 
Kokkos::View< double
**, Kokkos::LayoutRight,
Device > 
adj_eden_rad_flux
 Adjustment. More...
 
Kokkos::View< double
**, Kokkos::LayoutRight,
Device > 
adj_eden_wall_loss
 Adjustment. More...
 

Constructor & Destructor Documentation

template<class Device >
Charge< Device >::Charge ( int  nnode,
int  npsi00,
int  nrho,
int  nlarmor,
int  ntor,
int  nthreads 
)

Constructor for charge class

template<class Device >
Charge< Device >::Charge ( int  nnode,
int  npsi00,
int  nrho,
int  nlarmor,
int  ntor,
int  npsi_adj_eden,
int  nthreads 
)

Constructor for charge class

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

Member Function Documentation

template<class Device >
KOKKOS_INLINE_FUNCTION void Charge< Device >::adjust_eden_port ( const Grid< Device > &  grid,
const MagneticField< Device > &  magnetic_field,
const SimdParticles part,
const Simd< double > *  vd 
) const

Bin particle contributions to diagnostics

Parameters
[in]partVector of particles
[in]psi,psidotpsi and dpsi/dt

Here is the call graph for this function:

Here is the caller graph for this function:

template<class Device >
KOKKOS_INLINE_FUNCTION void Charge< Device >::adjust_eden_wall_loss_port ( const Grid< Device > &  grid,
const MagneticField< Device > &  magnetic_field,
const Simd< bool > &  lost_ptl,
const SimdParticles part,
const Simd< double > &  dw1 
) const

Here is the call graph for this function:

Here is the caller graph for this function:

template<class Device >
void Charge< Device >::reset_adj_eden ( ) const

Reset charge arrays to zero before the scatter.

Here is the caller graph for this function:

template<class Device >
void Charge< Device >::reset_charge ( ) const

Reset charge arrays to zero before the scatter.

Here is the caller graph for this function:

template<class Device >
void Charge< Device >::reset_ion_charge ( ) const

Reset charge arrays to zero before the scatter.

Here is the caller graph for this function:

Member Data Documentation

template<class Device>
Kokkos::View<double**,Kokkos::LayoutRight,Device> Charge< Device >::adj_eden_rad_flux

Adjustment.

template<class Device>
Kokkos::View<double**,Kokkos::LayoutRight,Device> Charge< Device >::adj_eden_wall_loss

Adjustment.

template<class Device>
bool Charge< Device >::adjust_eden

Determines whether to do the adjustment to electron density.

template<class Device>
Kokkos::View<double**,Kokkos::LayoutRight,Device> Charge< Device >::edensity

Electron density distribution.

template<class Device>
Kokkos::View<double***,Kokkos::LayoutRight,Device> Charge< Device >::ejpar_im
template<class Device>
Kokkos::View<double***,Kokkos::LayoutRight,Device> Charge< Device >::ejpar_re
template<class Device>
Kokkos::View<double***,Kokkos::LayoutRight,Device> Charge< Device >::idensity

Ion density distribution.

template<class Device>
Kokkos::View<double***,Kokkos::LayoutRight,Device> Charge< Device >::ijpar_im
template<class Device>
Kokkos::View<double***,Kokkos::LayoutRight,Device> Charge< Device >::ijpar_re

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