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

#include <cpp_sheath.hpp>

Public Member Functions

 Sheath (int nphi, int nwall, int nthreads)
 
 Sheath ()
 
KOKKOS_INLINE_FUNCTION void sheath_calculation1 (const Simulation< Device > &sml, const Species< Device > &species, const Grid< Device > &grid, const MagneticField< Device > &magnetic_field, const Charge< Device > &charge, const Neutrals< Device > &neutrals, const HeatDiagnostics< Device > &heat_diag, const SimdParticles &old_part, const Simd< bool > &not_in_triangle, SimdParticles &part, Simd< int > &itrout, SimdGridVec &pout) const
 
KOKKOS_INLINE_FUNCTION void sheath_calculation2 (const Simulation< Device > &sml, const Species< Device > &species, const Grid< Device > &grid, const MagneticField< Device > &magnetic_field, const Charge< Device > &charge, const SheathParticles< Device > &sheath_particles, int i_item, const SimdParticles &old_part, const Simd< bool > &not_in_triangle, SimdParticles &part, Simd< int > &itrout, SimdGridVec &pout) const
 

Public Attributes

Kokkos::View< double
**, Kokkos::LayoutRight,
Device > 
pot
 Sheath potential. More...
 
Kokkos::View< double
***, Kokkos::LayoutRight,
Device > 
lost
 Tracker of particles lost to the sheath. More...
 
Kokkos::View< double
***, Kokkos::LayoutRight,
Device > 
ilost
 Tracker of ions lost to the sheath. More...
 

Constructor & Destructor Documentation

template<class Device >
Sheath< Device >::Sheath ( int  nphi,
int  nwall,
int  nthreads 
)

Constructor for sheath object

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

Member Function Documentation

template<class Device >
KOKKOS_INLINE_FUNCTION void Sheath< Device >::sheath_calculation1 ( const Simulation< Device > &  sml,
const Species< Device > &  species,
const Grid< Device > &  grid,
const MagneticField< Device > &  magnetic_field,
const Charge< Device > &  charge,
const Neutrals< Device > &  neutrals,
const HeatDiagnostics< Device > &  heat_diag,
const SimdParticles old_part,
const Simd< bool > &  not_in_triangle,
SimdParticles part,
Simd< int > &  itrout,
SimdGridVec pout 
) const

Sheath mode 1. Determine where particle goes if it leaves the grid, and track it for later adjustments to the sheath

Parameters
[in]old_partVector of old particle phases
[in]not_in_triangleVector of whether the particles are in the grid or not
[in,out]partVector of the new particle phases
[out]partVector of the new grid triangle indices
[out]partVector of the p weights of the triangle vertices

Here is the call graph for this function:

Here is the caller graph for this function:

template<class Device >
KOKKOS_INLINE_FUNCTION void Sheath< Device >::sheath_calculation2 ( const Simulation< Device > &  sml,
const Species< Device > &  species,
const Grid< Device > &  grid,
const MagneticField< Device > &  magnetic_field,
const Charge< Device > &  charge,
const SheathParticles< Device > &  sheath_particles,
int  i_item,
const SimdParticles old_part,
const Simd< bool > &  not_in_triangle,
SimdParticles part,
Simd< int > &  itrout,
SimdGridVec pout 
) const

Determine where particle goes if it leaves the grid, and track all the particles that hit to do the sheath adjustment later.

Parameters
[in]i_itemParticle/vector index
[in]old_partVector of old particle phases
[in]not_in_triangleVector of whether the particles are in the grid or not
[in,out]partVector of the new particle phases
[out]partVector of the new grid triangle indices
[out]partVector of the p weights of the triangle vertices

Here is the call graph for this function:

Here is the caller graph for this function:

Member Data Documentation

template<class Device>
Kokkos::View<double***,Kokkos::LayoutRight,Device> Sheath< Device >::ilost

Tracker of ions lost to the sheath.

template<class Device>
Kokkos::View<double***,Kokkos::LayoutRight,Device> Sheath< Device >::lost

Tracker of particles lost to the sheath.

template<class Device>
Kokkos::View<double**,Kokkos::LayoutRight,Device> Sheath< Device >::pot

Sheath potential.


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