XGC1
|
#include <sheath.hpp>
Public Member Functions | |
Sheath (const Grid< Device > &grid, const Simulation< Device > &sml) | |
Sheath () | |
KOKKOS_INLINE_FUNCTION void | deposition_diagnostics_and_w1 (const Species< Device > &species, const Grid< Device > &grid, const MagneticField< Device > &magnetic_field, const Neutrals< Device > &neutrals, const HeatDiagnostics< Device > &heat_diag, const SimdParticles &old_part, SimdParticles &part, const SimdVector2D &xff, const Simd< int > &iphi, const Simd< double > &en_para, const Simd< double > &en_perp, SimdPhase &new_phase, const Simd< int > &widx, const Simd< bool > &just_left_the_grid, bool update_lost, bool update_ilost, bool update_neutrals, bool update_heat_diag, Simd< double > &dw) const |
KOKKOS_INLINE_FUNCTION void | save_sheath_ptl_info (const PushControls &push_controls, const Species< Device > &species, const Grid< Device > &grid, const SheathParticles< Device > &sheath_particles, int i_item, const SimdParticles &old_part, SimdParticles &part, const Simd< int > &iphi, const Simd< double > &en_para, const Simd< double > &en_perp, const SimdPhase &new_phase, const Simd< int > &widx, const Simd< bool > &just_left_the_grid) const |
KOKKOS_INLINE_FUNCTION void | sheath_calculation (const PushControls &push_controls, const Species< Device > &species, const Grid< Device > &grid, const MagneticField< Device > &magnetic_field, const Neutrals< Device > &neutrals, const HeatDiagnostics< Device > &heat_diag, const SheathParticles< Device > &sheath_particles, int i_item, const SimdParticles &old_part, const Simd< bool > ¬_in_triangle, SimdParticles &part, Simd< int > &itrout, SimdGridVec &pout, Simd< double > &dw) 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... | |
Sheath< Device >::Sheath | ( | const Grid< Device > & | grid, |
const Simulation< Device > & | sml | ||
) |
Constructor for sheath object
KOKKOS_INLINE_FUNCTION void Sheath< Device >::deposition_diagnostics_and_w1 | ( | const Species< Device > & | species, |
const Grid< Device > & | grid, | ||
const MagneticField< Device > & | magnetic_field, | ||
const Neutrals< Device > & | neutrals, | ||
const HeatDiagnostics< Device > & | heat_diag, | ||
const SimdParticles & | old_part, | ||
SimdParticles & | part, | ||
const SimdVector2D & | xff, | ||
const Simd< int > & | iphi, | ||
const Simd< double > & | en_para, | ||
const Simd< double > & | en_perp, | ||
SimdPhase & | new_phase, | ||
const Simd< int > & | widx, | ||
const Simd< bool > & | just_left_the_grid, | ||
bool | update_lost, | ||
bool | update_ilost, | ||
bool | update_neutrals, | ||
bool | update_heat_diag, | ||
Simd< double > & | dw | ||
) | const |
KOKKOS_INLINE_FUNCTION void Sheath< Device >::save_sheath_ptl_info | ( | const PushControls & | push_controls, |
const Species< Device > & | species, | ||
const Grid< Device > & | grid, | ||
const SheathParticles< Device > & | sheath_particles, | ||
int | i_item, | ||
const SimdParticles & | old_part, | ||
SimdParticles & | part, | ||
const Simd< int > & | iphi, | ||
const Simd< double > & | en_para, | ||
const Simd< double > & | en_perp, | ||
const SimdPhase & | new_phase, | ||
const Simd< int > & | widx, | ||
const Simd< bool > & | just_left_the_grid | ||
) | const |
KOKKOS_INLINE_FUNCTION void Sheath< Device >::sheath_calculation | ( | const PushControls & | push_controls, |
const Species< Device > & | species, | ||
const Grid< Device > & | grid, | ||
const MagneticField< Device > & | magnetic_field, | ||
const Neutrals< Device > & | neutrals, | ||
const HeatDiagnostics< Device > & | heat_diag, | ||
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, | ||
Simd< double > & | dw | ||
) | const |
Sheath calculation during push. Determine where particle goes if it leaves the grid, and track it for later adjustments to the sheath
[in] | old_part | Vector of old particle phases |
[in] | not_in_triangle | Vector of whether the particles are in the grid or not |
[in,out] | part | Vector of the new particle phases |
[out] | part | Vector of the new grid triangle indices |
[out] | part | Vector of the p weights of the triangle vertices |
[out] | dw | If dw is zero after sheath_calculation, the particles did not hit the divertor (just reflected by sheath). |
Kokkos::View<double***,Kokkos::LayoutRight,Device> Sheath< Device >::ilost |
Tracker of ions lost to the sheath.
Kokkos::View<double***,Kokkos::LayoutRight,Device> Sheath< Device >::lost |
Tracker of particles lost to the sheath.
Kokkos::View<double**,Kokkos::LayoutRight,Device> Sheath< Device >::pot |
Sheath potential.