#include <plasma.hpp>
|
| Plasma () |
|
| Plasma (NLReader::NamelistReader &nlr, bool use_f0_grid, const Grid< DeviceType > &grid, const MagneticField< DeviceType > &magnetic_field, const DomainDecomposition< DeviceType > &pol_decomp, const VelocityGrid &vgrid) |
|
template<typename F > |
void | for_all_species (F func, DevicePtlOpt device_ptl_opt=UseDevicePtl) |
|
template<typename F > |
void | for_all_nonadiabatic_species (F func, DevicePtlOpt device_ptl_opt=UseDevicePtl) |
|
template<typename F > |
void | for_electrons (F func, DevicePtlOpt device_ptl_opt=UseDevicePtl) |
|
template<typename F > |
void | for_all_ions (F func, DevicePtlOpt device_ptl_opt=UseDevicePtl) |
|
template<typename F > |
void | for_all (ParticleType particle_type, F func, DevicePtlOpt device_ptl_opt=UseDevicePtl) |
|
template<typename F > |
void | for_one_species (int isp, F func, DevicePtlOpt device_ptl_opt=UseDevicePtl) |
|
int | largest_n_ptl (bool check_backup) |
|
void | deallocate_device_ptl () |
|
void | update_decomposed_f0_calculations (const DomainDecomposition< DeviceType > &pol_decomp, const Grid< DeviceType > &grid, const MagneticField< DeviceType > &magnetic_field, const VelocityGrid &vgrid) |
|
void | resize_f0_f0g (const DomainDecomposition< DeviceType > &pol_decomp, const VelocityGrid &vgrid) |
|
|
std::vector< Species
< DeviceType > > | all_species |
| Every particle species in the simulation. More...
|
|
VGridDistribution< HostType > | f0_f0g |
|
DecomposedRecalculableF0Arrays | decomposed_recalculable_f0_arrays |
| Contains f0 values that are poloidally decomposed but don't need to be transferred between ranks during load rebalancing. More...
|
|
Kokkos::View< double
**, Kokkos::LayoutRight,
HostType > | f0_delta_n |
| Flux-surface averaged change of density. More...
|
|
Kokkos::View< double
**, Kokkos::LayoutRight,
HostType > | f0_delta_u |
| Flux-surface averaged change of parallel flow. More...
|
|
Kokkos::View< double
**, Kokkos::LayoutRight,
HostType > | f0_delta_T |
| Flux-surface averaged change of temperature. More...
|
|
View< double **, CLayout,
HostType > | f0_den_global |
| Equilibrium density at vertices. More...
|
|
View< double **, CLayout,
HostType > | f0_temp_global |
| Equilibrium temperature at vertices. More...
|
|
int | nspecies |
| Number of species including electrons. More...
|
|
int | n_nonadiabatic_species |
| Number of nonadiabatic species. More...
|
|
Enumerator |
---|
UseDevicePtl |
|
NoDevicePtl |
|
void Plasma::deallocate_device_ptl |
( |
| ) |
|
|
inline |
void Plasma::init_global_f0_arrays |
( |
int |
grid_nnode | ) |
|
|
inlineprivate |
int Plasma::largest_n_ptl |
( |
bool |
check_backup | ) |
|
|
inline |
void Plasma::manage_particle_ownership |
( |
int |
isp, |
|
|
DevicePtlOpt |
device_ptl_opt |
|
) |
| |
|
inlineprivate |
template<typename T_in , typename T_out >
void Plasma::set_unmanaged_f0_species_view |
( |
const T_in & |
view_in, |
|
|
int |
isp, |
|
|
T_out & |
view_out |
|
) |
| |
|
inlineprivate |
void Plasma::transfer_particles_d_ownership |
( |
int |
isp | ) |
|
|
inlineprivate |
Every particle species in the simulation.
Contains f0 values that are poloidally decomposed but don't need to be transferred between ranks during load rebalancing.
Kokkos::View<double**,Kokkos::LayoutRight, HostType> Plasma::f0_delta_n |
Flux-surface averaged change of density.
Kokkos::View<double**,Kokkos::LayoutRight, HostType> Plasma::f0_delta_T |
Flux-surface averaged change of temperature.
Kokkos::View<double**,Kokkos::LayoutRight, HostType> Plasma::f0_delta_u |
Flux-surface averaged change of parallel flow.
int Plasma::n_nonadiabatic_species |
Number of nonadiabatic species.
Number of species including electrons.
bool Plasma::particles_d_has_owner |
|
private |
Whether a species owns the device particles allocation.
int Plasma::particles_d_owner |
|
private |
Which species, if any, owns the device particles allocation.
bool Plasma::species_share_particles_d_ownership |
|
private |
Whether to use the device particles sharing scheme.
The documentation for this class was generated from the following files:
- /u/gitlab-xgc/builds/YGMz2TJ8/0/xgc/XGC-Devel/XGC_core/cpp/plasma.hpp
- /u/gitlab-xgc/builds/YGMz2TJ8/0/xgc/XGC-Devel/XGC_core/cpp/plasma.cpp