#include <plasma.hpp>
|
| Plasma () |
|
| Plasma (NLReader::NamelistReader &nlr, 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) |
|
template<typename F > |
bool | true_for_some_species (F func) const |
|
template<typename F > |
bool | true_for_all_species (F func) const |
|
bool | electrons_are_adiabatic () const |
|
bool | f0_grid () const |
|
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) |
|
void | validate_f0_checkpoint_file_dims (const XGC_IO_Stream &stream, const Grid< DeviceType > &grid, const VelocityGrid &vgrid) |
|
void | write_checkpoint_files (const Grid< DeviceType > &grid, const DomainDecomposition< DeviceType > &pol_decomp, const XGC_IO_Stream &stream) |
|
void | read_checkpoint_files (const Grid< DeviceType > &grid, const VelocityGrid &vgrid, const DomainDecomposition< DeviceType > &pol_decomp, const XGC_IO_Stream &stream, const XGC_IO_Stream &f0_stream, bool n_ranks_is_same, int version) |
|
double | get_main_ion_toroidal_transit_time (const MagneticField< DeviceType > &magnetic_field) const |
|
void | read_initial_distribution_all (NLReader::NamelistReader &nlr, const DomainDecomposition< DeviceType > &pol_decomp) |
|
|
std::vector< Species
< DeviceType > > | all_species |
| Every particle species in the simulation. More...
|
|
VGridDistribution< HostType > | f0_f0g |
|
View< double *, CLayout, HostType > | f0_node_cost |
|
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...
|
|
View< double **, CLayout,
HostType > | f0_delta_n |
| Flux-surface averaged change of density. More...
|
|
View< double **, CLayout,
HostType > | f0_delta_u |
| Flux-surface averaged change of parallel flow. More...
|
|
View< double **, CLayout,
HostType > | f0_delta_T |
| Flux-surface averaged change of temperature. More...
|
|
View< double *, CLayout, HostType > | spitzer_resistivity |
|
int | nspecies |
| Number of species including electrons. More...
|
|
int | n_nonadiabatic_species |
| Number of nonadiabatic species. More...
|
|
std::vector< std::string > | sp_names |
|
Enumerator |
---|
UseDevicePtl |
|
NoDevicePtl |
|
< Characteristic ion energy (keV) –> controls reference time (toroidal ion transit time)
void Plasma::deallocate_device_ptl |
( |
| ) |
|
|
inline |
bool Plasma::electrons_are_adiabatic |
( |
| ) |
const |
|
inline |
bool Plasma::f0_grid |
( |
| ) |
const |
|
inline |
void Plasma::initialize_spitzer_res |
( |
| ) |
|
|
private |
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 |
template<typename F >
bool Plasma::true_for_all_species |
( |
F |
func | ) |
const |
|
inline |
template<typename F >
bool Plasma::true_for_some_species |
( |
F |
func | ) |
const |
|
inline |
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.
Flux-surface averaged change of density.
Flux-surface averaged change of temperature.
Flux-surface averaged change of parallel flow.
double Plasma::main_ion_characteristic_energy |
|
private |
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.
constexpr bool Plasma::reduced_deltaf = false |
|
staticprivate |
Equivalent to the preprocessor flag for now.
std::vector<std::string> Plasma::sp_names |
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