1 #ifndef DIAGNOSTICS_HPP
2 #define DIAGNOSTICS_HPP
42 bool overwrite_existing){
48 bool heat_diag_is_on = nlr.
get<
bool>(
"diag_heat_on",
false);
90 bool diag_diff_prof_on = nlr.
get<
bool>(
"diag_diff_profiles_on",
false);
91 if (diag_diff_prof_on){
Definition: diag_1d.hpp:10
void init(NLReader::NamelistReader &nlr, const DomainDecomposition< DeviceType > &pol_decomp, const Grid< DeviceType > &grid, const MagneticField< DeviceType > &magnetic_field, const Plasma &plasma, bool allocate_df_diagnostic)
Definition: diag_1d.cpp:324
Definition: diag_3d_f0_f.hpp:13
void init(NLReader::NamelistReader &nlr, const MagneticField< DeviceType > &magnetic_field, const Grid< DeviceType > &grid, int default_period)
Definition: diag_3d_f0_f.cpp:7
bool adios_stage
Definition: diag_3d_f0_f.hpp:67
Definition: diag_3d.hpp:12
bool adios_stage
Definition: diag_3d.hpp:24
void init(NLReader::NamelistReader &nlr, const Grid< DeviceType > &grid, const Plasma &plasma, int default_period)
Definition: diag_3d.cpp:98
Definition: diag_f0_df.hpp:9
bool adios_stage
Definition: diag_f0_df.hpp:34
void init(NLReader::NamelistReader &nlr, const Simulation< DeviceType > &sml, const Grid< DeviceType > &grid, const Plasma &plasma, int f_source_period)
Definition: diag_f0_df.hpp:47
Definition: diag_f0.hpp:10
bool adios_stage
Definition: diag_f0.hpp:14
void init(NLReader::NamelistReader &nlr, int default_period, bool is_XGCa_in)
Definition: diag_f0.cpp:3
Definition: diag_particle.hpp:8
void init(NLReader::NamelistReader &nlr)
Definition: diag_particle.cpp:29
bool adios_stage
Definition: diag_particle.hpp:12
void open_stream(const std::string &filename, const XGC_IO_Mode &mode)
Definition: diagnostic.hpp:66
bool is_on
Definition: diagnostic.hpp:20
void close_stream()
Definition: diagnostic.hpp:90
Diagnostic for writing diffusion profile data using ADIOS2.
Definition: diag_diffusion_profiles.hpp:29
void init(NLReader::NamelistReader &nlr, const Simulation< DeviceType > &sml, const Grid< DeviceType > &grid, const Plasma &plasma, int f_source_period)
Initialize the DiffusionProfilesDiag diagnostic.
Definition: diag_diffusion_profiles.cpp:33
bool is_on
Flag to indicate if this diagnostic is active.
Definition: diag_diffusion_profiles.hpp:40
int npsi_surf2
Definition: grid.hpp:181
int mode
Using mode 1 or mode 2.
Definition: heat_diagnostics.hpp:32
void init(NLReader::NamelistReader &nlr, const MagneticField< Device > &magnetic_field, const Grid< Device > &grid, int nspecies)
Definition: loop_voltage_diag.hpp:18
void init(NLReader::NamelistReader &nlr, int f_source_period, const std::string &name)
Definition: loop_voltage_diag.hpp:24
Definition: magnetic_field.hpp:12
Definition: NamelistReader.hpp:193
T get(const string ¶m, const T default_val, int val_ind=0)
Definition: NamelistReader.hpp:386
void use_namelist(const string &namelist, Options required=Required)
Definition: NamelistReader.hpp:360
Definition: particle_stream.hpp:6
Definition: plasma.hpp:13
Definition: pseudo_inverse_diag.hpp:26
void init(NLReader::NamelistReader &nlr, int f_source_period, const std::string &name)
Definition: pseudo_inverse_diag.hpp:32
int nthreads
Number of OMP threads on the host.
Definition: sml.hpp:57
static constexpr bool is_XGCa
Equivalent to the preprocessor flag for now.
Definition: sml.hpp:20
bool current_drive_on
Definition: sml.hpp:192
Definition: species.hpp:75
bool is_adiabatic
Whether this species is adiabatic.
Definition: species.hpp:80
FAnalyticShape f_analytic_shape
f_analytic_shape shape: Maxwellian, SlowingDown or None
Definition: species.hpp:90
Definition: tracer_diag.hpp:12
void init(const std::string &name)
Definition: tracer_diag.hpp:18
Headers for the DiffusionProfilesDiag diagnostic for writing plasma profile data for automatic adjust...
bool is_rank_zero()
Definition: globals.hpp:27
integer diag_1d_period
Definition: module.F90:1593
Definition: magnetic_field.F90:1
subroutine plasma(grid, itr, p, dene_out, deni_out, Te_out, Ti_out, Vparai_out, ignore_vacuum)
Calculate the plasma density, temperature, and parallel velocity for a point in triangle itr using pl...
Definition: neutral_totalf.F90:1548
Definition: diagnostics.hpp:20
Diag3D diag_3d
Definition: diagnostics.hpp:31
void close_streams()
Definition: diagnostics.hpp:152
Diagnostics()
Definition: diagnostics.hpp:36
void open_streams(bool overwrite_existing)
Definition: diagnostics.hpp:99
LoopVolDiagnostics loop_vol_diag
Definition: diagnostics.hpp:25
DiffusionProfilesDiag diag_diff_prof
Definition: diagnostics.hpp:33
DiagF0DF diag_f0_df
Definition: diagnostics.hpp:27
Diag3DF0F diag_3d_f0_f
Definition: diagnostics.hpp:29
DiagParticle diag_particle
Definition: diagnostics.hpp:32
ParticleStream particle_stream
Definition: diagnostics.hpp:26
DiagF0 diag_f0
Definition: diagnostics.hpp:28
Diag1D diag_1d
Definition: diagnostics.hpp:30
PushDiagnostic< DeviceType > push_diag
Definition: diagnostics.hpp:21
Diagnostics(NLReader::NamelistReader &nlr, const Simulation< DeviceType > &sml, const MagneticField< DeviceType > &magnetic_field, const Plasma &plasma, const DomainDecomposition< DeviceType > &pol_decomp, const Grid< DeviceType > &grid, const VelocityGrid &vgrid, int f_source_period, bool overwrite_existing)
Definition: diagnostics.hpp:38
PseudoInvDiagnostics pseudo_inv_diag
Definition: diagnostics.hpp:23
HeatDiagnostics< DeviceType > heat_diag
Definition: diagnostics.hpp:22
TracerDiagnostics tracer_diag
Definition: diagnostics.hpp:24
Definition: velocity_grid.hpp:8
bool pseudo_inv_on
whether pseudo-inverse interpolation is used in velocity space
Definition: velocity_grid.hpp:24
XGC_IO_Mode
Definition: xgc_io.hpp:17