| 
    XGC1
    
   | 
 
#include <sheath.hpp>

Public Member Functions | |
| Sheath (NLReader::NamelistReader &nlr, const Grid< Device > &grid, Plasma &plasma, const Simulation< Device > &sml) | |
| Sheath () | |
| void | set_static_potential (const Grid< Device > &grid, Plasma &plasma, bool init_pot_auto, double init_pot_factor, const View< double *, CLayout, HostType > &static_potential) const | 
| KOKKOS_INLINE_FUNCTION void | deposition_diagnostics_and_w1 (const Species< Device > &species, const Grid< Device > &grid, const MagneticField< Device > &magnetic_field, const WallLoss &wall_loss, 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, 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 WallLoss &wall_loss, const HeatDiagnostics< Device > &heat_diag, int i_item, const SimdParticles &old_part, const Simd< bool > ¬_in_triangle, SimdParticles &part, SimdGridWeights< Order::One, PIT_GLOBAL > &grid_wts_new, Simd< double > &dw) const | 
| void | write_checkpoint_files (const XGC_IO_Stream &stream) const | 
| void | reorder_sheath_pot (const Grid< DeviceType > &grid) const | 
| void | read_checkpoint_files (const Grid< DeviceType > &grid, const XGC_IO_Stream &stream, int version) | 
| void | clear_device_views () const | 
| void | copy_pot_to_device () const | 
| void | setup_mode_2 (int n_tmp) | 
| void | deallocate_particles () | 
| void | mode_1_copy_to_host () const | 
| void | mode_2_copy_to_host () const | 
| void | copy_lost_to_host () const | 
| void | set_static_potential (const Grid< DeviceType > &grid, Plasma &plasma, bool init_pot_auto, double init_pot_factor, const View< double *, CLayout, HostType > &static_potential_h) const | 
| Sheath (NLReader::NamelistReader &nlr, const Grid< DeviceType > &grid, Plasma &plasma, const Simulation< DeviceType > &sml) | |
| void | write_checkpoint_files (const XGC_IO_Stream &stream) const | 
| void | reorder_sheath_pot (const Grid< DeviceType > &grid) const | 
| void | read_checkpoint_files (const Grid< DeviceType > &grid, const XGC_IO_Stream &stream, int version) | 
| void | clear_device_views () const | 
| void | copy_pot_to_device () const | 
| void | setup_mode_2 (int n_tmp) | 
| void | deallocate_particles () | 
| void | mode_1_copy_to_host () const | 
| void | mode_2_copy_to_host () const | 
| void | copy_lost_to_host () const | 
Public Attributes | |
| View< double *, CLayout, HostType > | static_pot | 
| static sheath potential  More... | |
| View< double **, CLayout, Device > | pot | 
| Sheath potential.  More... | |
| View< double ***, CLayout, Device > | lost | 
| Tracker of particles lost to the sheath.  More... | |
| View< double ***, CLayout, Device > | ilost | 
| Tracker of ions lost to the sheath.  More... | |
| View< double ***, CLayout, Device > | en_max | 
| The most energetic particle that hit the wall in a given section.  More... | |
| bool | adjust | 
| Whether to adjust the sheath.  More... | |
| bool | global_balance | 
| SheathParticles< Device > | particles | 
| Sheath< Device >::Sheath | ( | NLReader::NamelistReader & | nlr, | 
| const Grid< Device > & | grid, | ||
| Plasma & | plasma, | ||
| const Simulation< Device > & | sml | ||
| ) | 
| Sheath< DeviceType >::Sheath | ( | NLReader::NamelistReader & | nlr, | 
| const Grid< DeviceType > & | grid, | ||
| Plasma & | plasma, | ||
| const Simulation< DeviceType > & | sml | ||
| ) | 
Constructor for sheath object
< Initial value of the sheath potential relative to the electron temperature. (for sml_sheath_mode=1)
< Set initial sheath potential to eq. based on Ti,Te, Maxwellian assumption

| void Sheath< DeviceType >::clear_device_views | ( | ) | const | 
| void Sheath< Device >::clear_device_views | ( | ) | const | 

| void Sheath< DeviceType >::copy_lost_to_host | ( | ) | const | 

| void Sheath< Device >::copy_lost_to_host | ( | ) | const | 

| void Sheath< DeviceType >::copy_pot_to_device | ( | ) | const | 

| void Sheath< Device >::copy_pot_to_device | ( | ) | const | 

| void Sheath< DeviceType >::deallocate_particles | ( | ) | 
| void Sheath< Device >::deallocate_particles | ( | ) | 

| KOKKOS_INLINE_FUNCTION void Sheath< Device >::deposition_diagnostics_and_w1 | ( | const Species< Device > & | species, | 
| const Grid< Device > & | grid, | ||
| const MagneticField< Device > & | magnetic_field, | ||
| const WallLoss & | wall_loss, | ||
| 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 | 


| void Sheath< DeviceType >::mode_1_copy_to_host | ( | ) | const | 

| void Sheath< Device >::mode_1_copy_to_host | ( | ) | const | 

| void Sheath< DeviceType >::mode_2_copy_to_host | ( | ) | const | 

| void Sheath< Device >::mode_2_copy_to_host | ( | ) | const | 

| void Sheath< DeviceType >::read_checkpoint_files | ( | const Grid< DeviceType > & | grid, | 
| const XGC_IO_Stream & | stream, | ||
| int | version | ||
| ) | 

| void Sheath< Device >::read_checkpoint_files | ( | const Grid< DeviceType > & | grid, | 
| const XGC_IO_Stream & | stream, | ||
| int | version | ||
| ) | 

| void Sheath< DeviceType >::reorder_sheath_pot | ( | const Grid< DeviceType > & | grid | ) | const | 

| void Sheath< Device >::reorder_sheath_pot | ( | const Grid< DeviceType > & | grid | ) | const | 
| KOKKOS_INLINE_FUNCTION void Sheath< Device >::save_sheath_ptl_info | ( | const PushControls & | push_controls, | 
| const Species< Device > & | species, | ||
| const Grid< Device > & | grid, | ||
| 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 | 

| void Sheath< Device >::set_static_potential | ( | const Grid< Device > & | grid, | 
| Plasma & | plasma, | ||
| bool | init_pot_auto, | ||
| double | init_pot_factor, | ||
| const View< double *, CLayout, HostType > & | static_potential | ||
| ) | const | 

| void Sheath< DeviceType >::set_static_potential | ( | const Grid< DeviceType > & | grid, | 
| Plasma & | plasma, | ||
| bool | init_pot_auto, | ||
| double | init_pot_factor, | ||
| const View< double *, CLayout, HostType > & | static_potential_h | ||
| ) | const | 

| void Sheath< DeviceType >::setup_mode_2 | ( | int | n_tmp | ) | 

| void Sheath< Device >::setup_mode_2 | ( | int | n_tmp | ) | 

| 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 WallLoss & | wall_loss, | ||
| const HeatDiagnostics< Device > & | heat_diag, | ||
| int | i_item, | ||
| const SimdParticles & | old_part, | ||
| const Simd< bool > & | not_in_grid, | ||
| SimdParticles & | part, | ||
| SimdGridWeights< Order::One, PIT_GLOBAL > & | grid_wts_new, | ||
| 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_grid | 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). | 


| void Sheath< DeviceType >::write_checkpoint_files | ( | const XGC_IO_Stream & | stream | ) | const | 

| void Sheath< Device >::write_checkpoint_files | ( | const XGC_IO_Stream & | stream | ) | const | 

| bool Sheath< Device >::adjust | 
Whether to adjust the sheath.
The most energetic particle that hit the wall in a given section.
| bool Sheath< Device >::global_balance | 
Tracker of ions lost to the sheath.
Tracker of particles lost to the sheath.
| SheathParticles<Device> Sheath< Device >::particles | 
static sheath potential