ORB5X 1.0.0
Performance-portable global electromagnetic gyrokinetic PIC code
Loading...
Searching...
No Matches
orb5x::DiagVariables Struct Reference

User-selected diagnostic cadence, grids, windows, and run counters. More...

#include "globals.hpp"

Public Member Functions

 DiagVariables ()
 Allocate diagnostic windows and load their unbounded defaults.

Public Attributes

int maxm_spec = 64
 Maximum output poloidal mode number.
int maxn_spec = 32
 Maximum output toroidal mode number.
int minm_spec = -64
 Minimum output poloidal mode number.
int minn_spec = 0
 Minimum output toroidal mode number.
int nbin_flux = 64
 Radial flux bins.
int nbin_sampling_psi = 64
 Radial bins in marker-sampling diagnostics.
int nbin_sampling_v2 = 64
 Squared-speed bins in marker-sampling diagnostics.
int nbin_theta2d = 64
 Poloidal bins in two-dimensional diagnostics.
int nbin_vel = 8
 Velocity bins in reduced distribution diagnostics.
int nfreq_1D = 1
 Cadence for one-dimensional profiles.
int nfreq_3d = 0
 Cadence for the selected three-dimensional moment.
int nfreq_3d_multi_1 = 5
 Cadence of the first multi-moment 3-D output group.
int nfreq_3d_multi_2 = 1
 Cadence of the second multi-moment 3-D output group.
int nfreq_3d_multi_real = 0
 Cadence for real-space multi-moment output.
int nfreq_dens = 100
 Cadence for density diagnostics.
int nfreq_fulltorus = 0
 Full-torus output cadence; zero disables it.
int nfreq_hdf5 = 10
 Cadence for flushing HDF5 output.
int nfreq_noise = 100
 Cadence for particle-noise estimates.
int nfreq_parmove = 0
 Cadence for particle-transport diagnostics.
int nfreq_phasespace = 0
 Cadence for phase-space diagnostics.
int nfreq_phipol = 100
 Cadence for field/potential diagnostics.
int nfreq_sampling = 0
 Cadence for marker-sampling output.
int nfreq_source_3d = 0
 Cadence for three-dimensional source output.
int nfreq_spec = 5
 Cadence for angular spectra.
int nfreq_testpart = 10
 Cadence for test-particle trajectories.
int nfreq_torpol = 0
 Toroidal/poloidal spectrum cadence; zero disables it.
bool nl_mpr = false
 Enable mode-particle-resonance diagnostics.
bool nl_noise_2D = false
 Compute two-dimensional particle-noise maps.
bool nl_pszs_ke2u = false
 Express PSZS kinetic energy through normalized speed u.
bool nl_pszs_mu2u = false
 Transform PSZS magnetic moment to normalized speed.
bool nl_pszs_mu2vp = false
 Transform PSZS magnetic moment to perpendicular velocity.
bool nl_pszs_tam2psi = false
 Transform toroidal momentum to poloidal flux.
bool nl_pszs_tam2s = false
 Transform toroidal momentum to normalized radius.
bool nl_strong_diag = false
 Evaluate diagnostics from strong-form fields.
bool nl_write_3d_moments = true
 Write computed three-dimensional moments.
int nr_num = 128
 Major-radius samples in each (R,Z) output plane.
int nsel_3d_diag = 1
 Three-dimensional quantity selector; see NSel3dDiag.
int nsel_pszs = 0
 Phase-space zonal-structure mode; see NSelPszs.
int nsel_pszs_c1 = 0
 Selector for the first PSZS coordinate.
int nsel_pszs_c2 = 0
 Selector for the second PSZS coordinate.
int nsel_pszs_type = 1
 PSZS distribution selector; see NSelPszsType.
int nz_num = 128
 Vertical samples in each (R,Z) output plane.
int pszs_freq = 1
 PSZS accumulation/output cadence in steps.
int pszs_nidbas = 2
 PSZS B-spline degree.
int pszs_nke = 8
 PSZS kinetic-energy grid intervals.
int pszs_nmu = 8
 PSZS magnetic-moment grid intervals.
int pszs_ntam = 8
 PSZS toroidal-angular-momentum grid intervals.
int run_number = 0
 Restart segment/run identifier.
Real s_spec = 0.5
 Radius at which angular spectra are sampled.
int select_phi_cuts = 0
 Toroidal-plane selection: 0 ranks, 1 cuts, 2 all planes.
int step = 0
 Step index within the current run segment.
int step_tot = 0
 Cumulative step index across restarts.
Real sttime = 0.0
 Normalized time at which diagnostics begin.
Real svol_max = 1.0
 Upper radius of volume-integrated diagnostics.
Real svol_min = 0.0
 Lower radius of volume-integrated diagnostics.
Real thetabin_s = 0.5
 Radius used by the poloidal-angle binned diagnostic.
Real time_tot = 0.0
 Accumulated normalized simulation time.
Kokkos::View< Real[3]> win_dens_l
 Lower (s,chi,phi) density-window bounds.
Kokkos::View< Real[3]> win_dens_r
 Upper (s,chi,phi) density-window bounds.
Kokkos::View< Real[3]> win_phipol_l
 Lower field-diagnostic window bounds.
Kokkos::View< Real[3]> win_phipol_r
 Upper field-diagnostic window bounds.

Detailed Description

User-selected diagnostic cadence, grids, windows, and run counters.

Frequencies are measured in simulation steps; zero disables the associated diagnostic. Radial coordinates use normalized s, and angles are radians.

Constructor & Destructor Documentation

◆ DiagVariables()

orb5x::DiagVariables::DiagVariables ( )
inline

Allocate diagnostic windows and load their unbounded defaults.

Precondition
Kokkos is initialized.

References win_dens_l, win_dens_r, win_phipol_l, and win_phipol_r.

Member Data Documentation

◆ maxm_spec

int orb5x::DiagVariables::maxm_spec = 64

Maximum output poloidal mode number.

◆ maxn_spec

int orb5x::DiagVariables::maxn_spec = 32

Maximum output toroidal mode number.

◆ minm_spec

int orb5x::DiagVariables::minm_spec = -64

Minimum output poloidal mode number.

◆ minn_spec

int orb5x::DiagVariables::minn_spec = 0

Minimum output toroidal mode number.

◆ nbin_flux

int orb5x::DiagVariables::nbin_flux = 64

Radial flux bins.

◆ nbin_sampling_psi

int orb5x::DiagVariables::nbin_sampling_psi = 64

Radial bins in marker-sampling diagnostics.

◆ nbin_sampling_v2

int orb5x::DiagVariables::nbin_sampling_v2 = 64

Squared-speed bins in marker-sampling diagnostics.

◆ nbin_theta2d

int orb5x::DiagVariables::nbin_theta2d = 64

Poloidal bins in two-dimensional diagnostics.

◆ nbin_vel

int orb5x::DiagVariables::nbin_vel = 8

Velocity bins in reduced distribution diagnostics.

◆ nfreq_1D

int orb5x::DiagVariables::nfreq_1D = 1

Cadence for one-dimensional profiles.

◆ nfreq_3d

int orb5x::DiagVariables::nfreq_3d = 0

Cadence for the selected three-dimensional moment.

◆ nfreq_3d_multi_1

int orb5x::DiagVariables::nfreq_3d_multi_1 = 5

Cadence of the first multi-moment 3-D output group.

◆ nfreq_3d_multi_2

int orb5x::DiagVariables::nfreq_3d_multi_2 = 1

Cadence of the second multi-moment 3-D output group.

◆ nfreq_3d_multi_real

int orb5x::DiagVariables::nfreq_3d_multi_real = 0

Cadence for real-space multi-moment output.

◆ nfreq_dens

int orb5x::DiagVariables::nfreq_dens = 100

Cadence for density diagnostics.

◆ nfreq_fulltorus

int orb5x::DiagVariables::nfreq_fulltorus = 0

Full-torus output cadence; zero disables it.

◆ nfreq_hdf5

int orb5x::DiagVariables::nfreq_hdf5 = 10

Cadence for flushing HDF5 output.

◆ nfreq_noise

int orb5x::DiagVariables::nfreq_noise = 100

Cadence for particle-noise estimates.

◆ nfreq_parmove

int orb5x::DiagVariables::nfreq_parmove = 0

Cadence for particle-transport diagnostics.

◆ nfreq_phasespace

int orb5x::DiagVariables::nfreq_phasespace = 0

Cadence for phase-space diagnostics.

◆ nfreq_phipol

int orb5x::DiagVariables::nfreq_phipol = 100

Cadence for field/potential diagnostics.

◆ nfreq_sampling

int orb5x::DiagVariables::nfreq_sampling = 0

Cadence for marker-sampling output.

◆ nfreq_source_3d

int orb5x::DiagVariables::nfreq_source_3d = 0

Cadence for three-dimensional source output.

◆ nfreq_spec

int orb5x::DiagVariables::nfreq_spec = 5

Cadence for angular spectra.

◆ nfreq_testpart

int orb5x::DiagVariables::nfreq_testpart = 10

Cadence for test-particle trajectories.

◆ nfreq_torpol

int orb5x::DiagVariables::nfreq_torpol = 0

Toroidal/poloidal spectrum cadence; zero disables it.

◆ nl_mpr

bool orb5x::DiagVariables::nl_mpr = false

Enable mode-particle-resonance diagnostics.

◆ nl_noise_2D

bool orb5x::DiagVariables::nl_noise_2D = false

Compute two-dimensional particle-noise maps.

◆ nl_pszs_ke2u

bool orb5x::DiagVariables::nl_pszs_ke2u = false

Express PSZS kinetic energy through normalized speed u.

◆ nl_pszs_mu2u

bool orb5x::DiagVariables::nl_pszs_mu2u = false

Transform PSZS magnetic moment to normalized speed.

◆ nl_pszs_mu2vp

bool orb5x::DiagVariables::nl_pszs_mu2vp = false

Transform PSZS magnetic moment to perpendicular velocity.

◆ nl_pszs_tam2psi

bool orb5x::DiagVariables::nl_pszs_tam2psi = false

Transform toroidal momentum to poloidal flux.

◆ nl_pszs_tam2s

bool orb5x::DiagVariables::nl_pszs_tam2s = false

Transform toroidal momentum to normalized radius.

◆ nl_strong_diag

bool orb5x::DiagVariables::nl_strong_diag = false

Evaluate diagnostics from strong-form fields.

◆ nl_write_3d_moments

bool orb5x::DiagVariables::nl_write_3d_moments = true

Write computed three-dimensional moments.

◆ nr_num

int orb5x::DiagVariables::nr_num = 128

Major-radius samples in each (R,Z) output plane.

◆ nsel_3d_diag

int orb5x::DiagVariables::nsel_3d_diag = 1

Three-dimensional quantity selector; see NSel3dDiag.

◆ nsel_pszs

int orb5x::DiagVariables::nsel_pszs = 0

Phase-space zonal-structure mode; see NSelPszs.

◆ nsel_pszs_c1

int orb5x::DiagVariables::nsel_pszs_c1 = 0

Selector for the first PSZS coordinate.

◆ nsel_pszs_c2

int orb5x::DiagVariables::nsel_pszs_c2 = 0

Selector for the second PSZS coordinate.

◆ nsel_pszs_type

int orb5x::DiagVariables::nsel_pszs_type = 1

PSZS distribution selector; see NSelPszsType.

◆ nz_num

int orb5x::DiagVariables::nz_num = 128

Vertical samples in each (R,Z) output plane.

◆ pszs_freq

int orb5x::DiagVariables::pszs_freq = 1

PSZS accumulation/output cadence in steps.

◆ pszs_nidbas

int orb5x::DiagVariables::pszs_nidbas = 2

PSZS B-spline degree.

◆ pszs_nke

int orb5x::DiagVariables::pszs_nke = 8

PSZS kinetic-energy grid intervals.

◆ pszs_nmu

int orb5x::DiagVariables::pszs_nmu = 8

PSZS magnetic-moment grid intervals.

◆ pszs_ntam

int orb5x::DiagVariables::pszs_ntam = 8

PSZS toroidal-angular-momentum grid intervals.

◆ run_number

int orb5x::DiagVariables::run_number = 0

Restart segment/run identifier.

◆ s_spec

Real orb5x::DiagVariables::s_spec = 0.5

Radius at which angular spectra are sampled.

◆ select_phi_cuts

int orb5x::DiagVariables::select_phi_cuts = 0

Toroidal-plane selection: 0 ranks, 1 cuts, 2 all planes.

◆ step

int orb5x::DiagVariables::step = 0

Step index within the current run segment.

◆ step_tot

int orb5x::DiagVariables::step_tot = 0

Cumulative step index across restarts.

◆ sttime

Real orb5x::DiagVariables::sttime = 0.0

Normalized time at which diagnostics begin.

◆ svol_max

Real orb5x::DiagVariables::svol_max = 1.0

Upper radius of volume-integrated diagnostics.

◆ svol_min

Real orb5x::DiagVariables::svol_min = 0.0

Lower radius of volume-integrated diagnostics.

◆ thetabin_s

Real orb5x::DiagVariables::thetabin_s = 0.5

Radius used by the poloidal-angle binned diagnostic.

◆ time_tot

Real orb5x::DiagVariables::time_tot = 0.0

Accumulated normalized simulation time.

◆ win_dens_l

Kokkos::View<Real[3]> orb5x::DiagVariables::win_dens_l

Lower (s,chi,phi) density-window bounds.

Referenced by DiagVariables().

◆ win_dens_r

Kokkos::View<Real[3]> orb5x::DiagVariables::win_dens_r

Upper (s,chi,phi) density-window bounds.

Referenced by DiagVariables().

◆ win_phipol_l

Kokkos::View<Real[3]> orb5x::DiagVariables::win_phipol_l

Lower field-diagnostic window bounds.

Referenced by DiagVariables().

◆ win_phipol_r

Kokkos::View<Real[3]> orb5x::DiagVariables::win_phipol_r

Upper field-diagnostic window bounds.

Referenced by DiagVariables().


The documentation for this struct was generated from the following file: