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

Namespaces

namespace  epilogue
namespace  pputil
namespace  profiler
 Simple interface to Score-P for profiling ORB5.
namespace  QuadtreeConstants
namespace  readinput
namespace  spclibs

Classes

class  AntennaModule
 Builds and advances the externally imposed antenna potential. More...
struct  AntennaVariables
 Spectral and radial definition of an externally imposed field antenna. More...
class  BackgroundModule
 Initializes equilibrium distribution functions used by marker loading and pushing. More...
struct  BasicVariables
 Top-level run control shared by initialization and the time loop. More...
struct  BcpartReducer
class  BSpline
struct  BSplineEval
struct  BSplineEval3D
class  BSplinesBasis
 B-spline basis module for the solver. More...
struct  BumpontailFeq
 Parameters of the energetic-particle bump-on-tail distribution. More...
struct  CdtFeq
 Parameters of the experimental Claudio Di Troya equilibrium distribution. More...
class  CollisionsModule
struct  CollisionsVariables
 Grid and cadence shared by the selected Monte-Carlo collision model. More...
class  ComIsland
 Common island arrays for magnetic island physics. More...
struct  ContiEq
class  ControlAll
struct  CountLeavingMarkersFunctor
struct  Diag3dParameters
class  DiagnosticBSpline
class  Diagnostics
struct  DiagnosticsVariables
 Derived work arrays used by distribution and moment diagnostics. More...
struct  DiagVariables
 User-selected diagnostic cadence, grids, windows, and run counters. More...
class  EfluidModule
 Electron fluid model (FLU-ORB). More...
class  Epilogue
 Coordinates collective run termination and resource teardown. More...
class  Equil
struct  EquilVariables
 Magnetic-equilibrium inputs and geometry-derived normalization data. More...
class  FFTWrapper
class  FieldsModule
struct  FieldsVariables
 Field mesh, Fourier filtering, and background-electric-field state. More...
struct  FieldType
struct  FilterSaw
 Toroidal-mode-dependent poloidal filters for sawtooth studies. More...
class  FourierFilter
 Fourier filter for field-aligned modes. More...
class  GyrodensityCorrect
 Placeholder interface for the finite-Larmor-radius density correction. More...
class  Gyropoints
 Generates equally spaced quadrature points on a marker gyro-orbit. More...
struct  InitializeGene
 Geometry of the GENE-compatible initial perturbation. More...
struct  InitializeLigka
 Mode numbers and envelope for the LIGKA-L5 perturbation initializer. More...
struct  InitializeSaw
 Radial support and analysis step for the SAW perturbation initializer. More...
struct  InitializeWeights
 Spectral envelope used to initialize a potential perturbation. More...
class  InterfaceSolverInOrb5
 Interface for solver integration in ORB5X. More...
class  IslandModule
 Magnetic island physics module. More...
struct  IslandsVariables
 Parameters for the prescribed helical magnetic-island perturbation. More...
class  LarmorModule
struct  MarkerType
class  MassMatrix
 Constructs small element-local B-spline overlap operators. More...
struct  MatArray
class  MathUtil
struct  MatPropertyTemplate
class  MatrixCoeff
class  Moments
struct  Moments3DClass
struct  NoiseControlInt
struct  NoiseControlMatrix
struct  NumericalF0
 Tabulated numerical equilibrium distribution on (psi,u,ze). More...
struct  OhmEq
class  OneStep
 Executes one four-stage, operator-split gyrokinetic timestep. More...
struct  PackSendBufferFunctor
struct  PairHash
struct  ParallelVariables
 MPI topology, communicator ownership, and host-thread settings. More...
class  ParMove
class  PartFieldsModule
class  ParticleModule
struct  ParticleParallelFunctor
class  Pdespline
struct  PointerMarkers
struct  PointerMarkersI8
struct  PointerMarkersLogic
struct  PointerMarkersR4
struct  PointerQuadtree
class  Pputil
struct  PressEq
class  ProfilesWrapper
 Wrapper for profile and geometry functions used by solver. More...
class  ProfileUpdate
struct  PszsGrid
 One coordinate axis of a phase-space zonal-structure grid. More...
class  PszsModule
 PSZS Module - Phase Space Zone Sampling diagnostics. More...
struct  PszsVariables
 Per-species B-spline representation for PSZS diagnostics. More...
class  Quadtree
struct  QuadtreeBox
struct  QuadtreeSmooth
 Controls phase-space quadtree smoothing for one species. More...
class  RandomColl
class  RandomGenerator
class  ReadInput
struct  SlowingdownFeq
 Parameters and derived scales of slowing-down distributions. More...
class  SolverBoundaryConditions
 Applies the radial/poloidal boundary constraints used by field solves. More...
class  SolverModule
struct  SolverVariables
 Numerical and physical choices for quasineutrality and Ampere solves. More...
class  SortingClass
struct  SortingVariables
 Marker binning configuration for locality-oriented Kokkos sorting. More...
class  SourcesModule
struct  SpeciesVariables
 Complete physical, loading, source, and push state for one species. More...
struct  UnpackReceiveBufferFunctor
class  Util
class  Vis3d
struct  Zbmat

Typedefs

using Complex = std::complex<Real>
 Complex simulation scalar with Real components.
using CoordFunc = std::function<void(Real s, Real chi, Real& phi, Real& x, Real& y, Real& z)>
 3D visualization output module
using fftw_complex_type = fftw_complex
using fftw_plan_type = fftw_plan
using FieldFunc = std::function<void(Real x, Real y, Real z, Real& field)>
using Int4 = int32_t
 Signed integer type with exactly 32 bits.
using Int8 = int64_t
 Signed integer type with exactly 64 bits, used for marker counts.
using Real = double
 Default floating-point type for normalized physics and numerics.
using Real32 = float
 Explicit IEEE-like single-precision storage type.
using Real64 = double
 Explicit IEEE-like double-precision storage type.

Enumerations

enum class  CopyFields : int { PH1 = 0 , PH2 = 1 }
 Destination component for a split-potential field copy. More...
enum class  CreateRhs : int { PHI = 0 , APA = 1 }
 Field equation for which a right-hand side is assembled. More...
enum class  Diag3d : int { POT = 0 , DEN = 1 , MOMENT = 2 }
 Top-level family of three-dimensional diagnostics. More...
enum class  Diag3dDen : int { RHO = 0 , CURR = 1 }
 Deposited source written by the 3-D density diagnostic. More...
enum class  GetPotDisp : int {
  PHI = 0 , PH1 = 1 , PH2 = 2 , APA = 3 ,
  ASY = 4 , RHO = 5 , RHM = 6 , CUR = 7 ,
  EFN = 8 , EFP = 9 , EFU = 10 , AHA = 11
}
 Field or source quantity reconstructed by get_pot_disp diagnostics. More...
enum class  NSel3dDiag { DIAG_REAL = 0 , DIAG_RHS_F = 1 }
 Representation written by the single-field 3-D diagnostic. More...
enum class  NSelAmpere { ELECTROSTATIC = 0 , EM_GYROAPAR = 1 , EM_APAR = 2 }
 Electromagnetic content of the parallel Ampere solve. More...
enum class  NSelAntenna {
  ANT_OFF = 0 , ANT_RHO = 1 , ANT_JPAR = 2 , ANT_PHI = 3 ,
  ANT_APAR = 4
}
 Field source driven by the numerical antenna. More...
enum class  NSelAntennaRadialProfile { ANT_POLYNOMIAL = 0 , ANT_SIN = 1 , ANT_GAUSS = 2 , ANT_INTERP = 3 }
 Radial envelope of the numerical antenna. More...
enum class  NSelBacksolve { PHI = 0 , MASS = 1 , APAR = 2 , MOM = 3 }
 Quantity reconstructed by a field backsolve. More...
enum class  NSelBeamType { X_MODE = 0 , O_MODE = 1 }
 Electromagnetic polarization of the ECRH beam. More...
enum class  NSelBsplinesBasis { BSPLINES_ORIGINAL = 0 , BSPLINES_DEBOOR = 1 }
 Implementation used to evaluate the B-spline basis. More...
enum class  NSelBufferType { NO_BUFFER = 0 , NAIVE_KROOK_BUFFER = 1 , KROOK_CONS_BUFFER = 2 , COLLISION_BUFFER = 3 }
 Outer radial buffer operator. More...
enum class  NSelCollisions {
  NO_COLL = 0 , SELF_COLL_L = 1 , MULTI_COLL_L = 2 , SELF_COLL_NL = 3 ,
  MULTI_COLL_NL = 4
}
 Monte-Carlo collision operator. More...
enum class  NSelControlVariate { NO_CV = 0 , CORRECT_CURRENT = 1 }
 Current control-variate correction strategy. More...
enum class  NSelDftMethod { DFT_PPTRANSP = 0 , DFT_LOCAL = 1 }
 Toroidal discrete-Fourier-transform implementation. More...
enum class  NSelEfluid { NO_EFLUID = 0 , EFLUID_MHD = 1 , EFLUID_DEBUG = 2 }
 Electron-fluid closure model. More...
enum class  NSelElectronValues {
  ELECTRON_VALUES_ORB5 = 0 , ELECTRON_VALUES_LX_N = 1 , ELECTRON_VALUES_LX_BETA = 2 , ELECTRON_VALUES_T_N = 3 ,
  ELECTRON_VALUES_T_BETA = 4
}
 Input quantities from which electron normalization is inferred. More...
enum class  NSelF0 {
  MAXWELLIAN = 0 , BUMPONTAIL = 1 , SLOWINGDOWN = 2 , CDT = 3 ,
  CDTN = 4 , NUM_F0 = 5 , SLOWINGDOWN_BUMP = 6 , SLOWINGDOWN_PITCH = 7 ,
  SLOWINGDOWN_PITCH_G_BREF = 8 , SLOWINGDOWN_PITCH_O = 9 , SLOWINGDOWN_PITCH_O_NOCHI = 10 , BUMPONTAIL_O = 11 ,
  BUMPONTAIL_O_NOCHI = 12 , BUMPONTAIL_G_BREF = 13
}
 Equilibrium distribution function represented by a species. More...
enum class  NSelFilter {
  FILT_N = 0 , FILT_MN = 1 , FILT_MN_ONLY_FULL = 2 , FILT_SAW = 3 ,
  FILT_MN_N0M0 = 4
}
 Angular Fourier-mode filtering policy. More...
enum class  NSelFixedSourceType { SOURCE_BASIC = 0 , SOURCE_ECRH = 1 }
 Fixed heating/source operator. More...
enum class  NSelFixFields { NO_FIX_FIELDS = 0 , FIX_FIELDS_S2 = 1 , FIX_FIELDS_SIN2_CHI = 2 , FIX_FIELDS_SIN2_PHI = 3 }
 Analytic test pattern used to replace evolved fields. More...
enum class  NSelGBref { G_B0 = 0 , G_BMIN = 1 , G_BMAX = 2 }
 Magnetic-field value used to normalize energetic distributions. More...
enum class  NSelGetField { GET_FIELD_BY_PART = 0 , GET_FIELD_BY_CELL = 1 }
 Grid-to-particle field-interpolation kernel organization. More...
enum class  NSelGradp { GRAD_POL = 0 , GRAD_POL_CORR = 1 }
 Pressure-gradient discretization. More...
enum class  NSelGyr { ADAPT = 0 , FIXED = 1 , DK = 2 , ADAPT_NAVG = 3 }
 Gyroaveraging-point selection strategy. More...
enum class  NSelHeatsourceRadial { RADIAL_CODE = 0 , RADIAL_FILE = 1 }
 Source of the radial heat-deposition profile. More...
enum class  NSelHybridModel { NO_HYBRID_MODEL = 0 , HYBRID_MODEL_UPGRADE = 1 , STANDARD_HYBRID_MODEL = 2 }
 Kinetic trapped/passing hybrid model. More...
enum class  NSelInitPert {
  PERT_NOISE = 0 , PERT_MODE_UNCORRECTED = 1 , PERT_MODE = 2 , PERT_MODE_TAE = 3 ,
  PERT_MODE_SAW = 4 , PERT_D_COS = 5 , PERT_D_SIN = 6 , PERT_RH_COS = 7 ,
  PERT_RH_SIN = 8 , PERT_RH_SIN_B = 9 , PERT_TANH_SIN = 10 , PERT_GENE = 11 ,
  PERT_GENE_VPLL = 12 , PERT_POTENTIAL = 13 , PERT_RH_VPLL = 14 , PERT_COLL_II_1 = 15 ,
  PERT_COLL_II_2 = 16 , PERT_COLL_II_3 = 17 , PERT_COLL_II_4 = 18 , PERT_SINGLEPART = 19 ,
  PERT_LIGKA5 = 20 , PERT_LIGKA5_AUTO = 21 , PERT_GAUSS_LIST = 22
}
 Initial marker-weight or potential perturbation. More...
enum class  NSelInnerBc { NO_INNER_BC = 0 , DIRICHLET_INNER_BC = 1 , UNICITY_INNER_BC = 2 }
 Boundary condition at the magnetic axis. More...
enum class  NSelIonValues {
  ION_VALUES_ORB5 = 0 , ION_VALUES_TAU_FPART = 1 , ION_VALUES_TAU_N = 2 , ION_VALUES_T_N = 3 ,
  ION_VALUES_T_FPART = 4
}
 Input quantities from which main-ion normalization is inferred. More...
enum class  NSelLoadphi { UNIFORM = 0 , HAMMERSLEY = 1 }
 Toroidal-angle marker-loading sequence. More...
enum class  NSelLoadSpace { SPACE_GAUSSIAN = 0 , SPACE_ALPHAB = 1 }
 Electron configuration-space loading density. More...
enum class  NSelLoadV { LOAD_V2 = 0 , LOAD_V3 = 1 , LOAD_V2_NO_T = 2 }
 Velocity-space marker-loading density. More...
enum class  NSelMatrixType { NSEL_GBMAT = 0 , NSEL_PBMAT = 1 }
enum class  NSelNoiseFilter { SHIFTED = 0 , ANTI_ALIGNED = 1 }
 Phase relation of the deposition noise-filter stencil. More...
enum class  NSelNormalizeDensity { ANNUAR = 0 , FULL = 1 , FREE = 2 , TAE = 3 }
 Volume convention used to normalize species density. More...
enum class  NSelPoisson { LWA = 0 , ARBITRARY = 1 , PADE = 2 }
 Gyrokinetic polarization model in quasineutrality. More...
enum class  NSelPotProfile {
  NO_POT = 0 , POT_BEN = 1 , POT_SHEAR = 2 , POT_PROF_FILE = 3 ,
  POT_OGYROPSI = 4 , POT_JAMIE = 5 , POT_VPROF = 6
}
 Prescribed background-potential radial profile. More...
enum class  NSelProfile {
  TYPE_1 = 0 , TYPE_2 = 1 , TYPE_22 = 2 , TYPE_3 = 3 ,
  TYPE_4 = 4 , INTERP_ITM = 5 , INTERP_TRANSP = 6 , TYPE_7 = 7 ,
  TYPE_8 = 8 , TYPE_9 = 9 , TYPE_10 = 10
}
 Family of radial equilibrium density/temperature/flow profiles. More...
enum class  NSelPszs { PSZS_OFF = 0 , PSZS_ONLINE = 1 , PSZS_OFFLINE = 2 }
 Phase-space zonal-structure execution mode. More...
enum class  NSelPszsType { PSZS_W = 0 , PSZS_F0 = 1 }
 Distribution quantity projected by PSZS. More...
enum class  NSelPtransp { PTRANSP_SERIAL = 0 , PTRANSP_PARALLEL = 1 }
 Particle transport between toroidal spatial domains. More...
enum class  NSelPullback { NO_PULLBACK = 0 , PULLBACK_DA_DT_0 = 1 , PULLBACK_OHM = 2 }
 Electromagnetic pullback formulation. More...
enum class  NSelPush {
  PUSH_FULL = 0 , NO_PUSH = 1 , PUSH_UNPERT = 2 , PUSH_FULL_TEST = 3 ,
  PUSH_UNPERT_TEST = 4
}
 Marker trajectory, weight, and deposition evolution mode. More...
enum class  NSelQProfile { INTERP = 0 , QUADRATIC = 1 , QCOEF = 2 }
 Source of the equilibrium safety-factor profile. More...
enum class  NSelQuasineutral { QN_FREE = 0 , QN_SET_NE = 1 , QN_SET_N1 = 2 , QN_SET_NL = 3 }
 Quasineutral-density closure imposed during normalization. More...
enum class  NSelSetrho { SETRHO_BY_PART = 0 , SETRHO_BY_CELL = 1 , SETRHO_BY_COLOR = 2 , SETRHO_BY_COLOR_BUF = 3 }
 Particle-to-grid charge-deposition kernel organization. More...
enum class  NSelSolve { POISSON = 0 , AMPERE = 1 , DENS1 = 2 , MOM = 3 }
 Field-system right-hand side/solve operation. More...
enum class  NSelSolverMatrixType { GBMAT = 0 , PBMAT = 1 }
 Storage format of the radial solver matrix. More...
enum class  NSelSortCache { SORT_CACHE_OFF = 0 , SORT_CACHE_ON = 1 }
 Guiding-centre sorting for memory locality. More...
enum class  NSelSourceDiagnostics { NC = 0 , HEATING = 1 , BUFFER = 2 }
 Source family represented by source-control diagnostics. More...
enum class  NSelStrong {
  STRONG_EXPECTED = 0 , STRONG_UE2_S2 = 1 , STRONG_UE2_SIN2_CHI = 2 , STRONG_UE2_S2_SIN2_CHI = 3 ,
  STRONG_UEPHI_SIN2_CHI = 4
}
 Analytic strong-form test field. More...
enum class  NSelTestpart { NO_TESTPART = 0 , READ_TESTPART = 1 , FIRSTS_TESTPART = 2 }
 Test-particle initialization and selection policy. More...
enum class  NSelTilt { NO_TILT = 0 , RANDOM_TILT = 1 }
 Gyroangle rotation applied to gyroaveraging points. More...
enum class  NSelTimeIntegrator { RK4 = 0 , GL4 = 1 }
 Global time-integration scheme. More...
enum class  NSelVparallelI { MHD = 0 , ADHOC = 1 }
 Model used for the equilibrium ion parallel velocity. More...
enum class  NSelVparConstantInF0 {
  DH0 = 0 , DVPAR1 = 1 , NO_F0_CONSTANT = 2 , DH0_CORR = 3 ,
  DVPAR1_CORR = 4
}
 Prescription for the parallel invariant used in df0/dt. More...
enum class  NSelWhichAttribute { CHARGE = 0 , CURRENT = 1 }
 Particle attribute deposited into a field right-hand side. More...
enum class  NSelWhichMat { T = 0 , T_TRANSP = 1 , T_INV = 2 }
 Algebraic transform requested from a solver matrix. More...
enum class  ParallelMomentum { P_PARALLEL = 0 , V_PARALLEL = 1 , MIXED = 2 }
 Parallel phase-space momentum coordinate. More...
enum class  ParallelMomentumType { P_PARALLEL = 0 , V_PARALLEL = 1 , MIXED = 2 }

Functions

void allocate_matrix (int globalk, int matnum, int kl, int ku, int n)
void backsolve_rhs_f (Kokkos::View< Complex * > &rhs_f, int globalk, int matnum)
void bsolve (const Zbmat &mat, Complex *rhs, int nrhs=1)
void bspl2fft_2d (const Kokkos::View< Real ** > &bspl_data, Kokkos::View< Complex ** > &fft_data, int nchi, int nphi)
void bspl2fft_3d (const Kokkos::View< Real *** > &bspl_data, Kokkos::View< Complex ** > &fft_data, int ns, int nchi, int nphi, int neq_f, const Kokkos::View< int *** > *filter=nullptr, const Kokkos::View< Real * > *fftminv=nullptr, const Kokkos::View< int ** > *mmin_f=nullptr, const Kokkos::View< int ** > *mmax_f=nullptr)
void cleanup_globals ()
 Release modules and all Kokkos-owning global state.
void defmat_disp ()
void destroy_plan (fftw_plan plan)
void execute_backward (fftw_plan plan)
void execute_forward (fftw_plan plan)
void factorize_matrix (Zbmat &mat, int nmat=-1, int matnum=-1, const char *context="")
void fft2bspl_2d (const Kokkos::View< Complex ** > &fft_data, Kokkos::View< Real ** > &bspl_data, int nchi, int nphi)
void fft2bspl_3d (const Kokkos::View< Complex ** > &fft_data, Kokkos::View< Real *** > &bspl_data, int ns, int nchi, int nphi, int neq_f, const Kokkos::View< int ** > *mmin_f=nullptr, const Kokkos::View< int ** > *mmax_f=nullptr)
void fftw_cleanup ()
Zbmatget_matrix (int globalk, int matnum)
constexpr Complex IMA (0.0, 1.0)
 Imaginary unit used by Fourier-space operations.
void init_1d_backward (int n, fftw_plan &plan_backward, fftw_complex *in, fftw_complex *out)
void init_1d_forward (int n, fftw_plan &plan_forward, fftw_complex *in, fftw_complex *out)
void init_2d_backward (int nchi, int nphi, fftw_plan &plan_backward, fftw_complex *in, fftw_complex *out)
void init_2d_forward (int nchi, int nphi, fftw_plan &plan_forward, fftw_complex *in, fftw_complex *out)
void init_globals ()
 Allocate process-wide state after Kokkos::initialize().
void init_solver_data ()
void interpos_smooth (const std::vector< Real > &xin, const std::vector< Real > &yin, std::vector< Real > &yout, std::vector< Real > &youtp)
void printmat ()
void set_global_variables ()
 Derive cached selectors, species ratios, and auxiliary dimensions.
void setmat (bool lapl_boundary_terms)
void updtmat (Zbmat &mat, int row, int col, Complex val)
void vmx (const Zbmat &mat, const Kokkos::View< Complex * > &x, Kokkos::View< Complex * > &y)

Variables

constexpr int ABSDF_DIA = 2
 Phase-space integral of absolute delta f.
constexpr int ABSDF_IN_DIA = 10
 Absolute delta f inside the diagnostic volume.
constexpr int ABSDF_OUT_DIA = 13
 Absolute delta f outside the diagnostic volume.
constexpr int ABSG_DIA = 22
 Sum of absolute marker sampling distribution g.
constexpr int ABSPWEIGHT_DIA = 17
 Sum of absolute second/background weights.
constexpr int ALP_PIC = 2
 Marker loading/Jacobian factor alpha slot.
AntennaVariablesantenna
 Externally imposed antenna configuration.
constexpr int APA_2D_DIA = 2
 Global parallel-vector-potential spectrum.
constexpr int APA_2D_LOC_DIA = 3
 Radially local parallel-vector-potential spectrum.
BasicVariablesbasic
 Run-control and top-level input state.
constexpr int BUFFER_DENS_DIA = 8
 Buffer density contribution.
constexpr int BUFFER_ENERGY_DIA = 9
 Buffer energy contribution.
constexpr int BUFFER_VPLL_DIA = 11
 Buffer parallel-momentum contribution.
constexpr int BUFFER_ZF_DIA = 10
 Buffer zonal-flow contribution.
constexpr int CGRAINED_PIC = 6
 Coarse-grained marker-state flag slot.
constexpr int CHI_DIA = 1
 Poloidal-angle displacement component.
constexpr int CHI_PIC = 1
 Poloidal-angle slot in primary marker storage, radians.
constexpr int cke = 0
 PSZS kinetic-energy coordinate slot.
constexpr Real CLIGHT = 2.9979E8
 Speed of light in metres per second.
constexpr int cmu = 2
 PSZS magnetic-moment coordinate slot.
CollisionsVariablescollisions
 Collision-operator configuration.
constexpr int ctam = 1
 PSZS toroidal-angular-momentum coordinate slot.
constexpr int CUR_2D_DIA = 6
 Global parallel-current spectrum.
constexpr int CUR_2D_LOC_DIA = 7
 Local parallel-current spectrum.
constexpr int CURV_DIA = 3
 Magnetic-curvature drift contribution.
constexpr int DENS_WT_PIC = 2
 Density-weight slot in deposition workspace.
constexpr int DENSITY_LOSSES = 0
 Lost represented particle number.
constexpr int DF_AV_2D_DIA = 0
 Two-dimensional average of delta f.
constexpr int DF_VEL_2D_DIA = 1
 delta f on the two-dimensional velocity grid.
constexpr int DFSUM_3_DIA = 5
 Cubic signed delta f sum.
constexpr int DFSUM_4_DIA = 6
 Quartic delta f sum.
DiagVariablesdiag
 User-facing diagnostic configuration and counters.
DiagnosticsVariablesdiagnostics
 Derived diagnostic work arrays.
constexpr int DN_PIC = 2
 Density increment slot.
constexpr int DOTPZAPA_DIA = 7
 Time-derivative p_z A_parallel contribution.
constexpr int DV2_PIC = 1
 Squared-speed/energy increment slot.
constexpr int DVPAR_PIC = 0
 Parallel-momentum increment slot.
constexpr int EBG_DIA = 5
 Background-electric-field contribution.
constexpr Real ECHARGE = 1.6021765E-19
 Elementary charge magnitude in coulombs.
constexpr int EF1_2D_DIA = 0
 Global first electric-field spectrum.
constexpr int EF1_2D_LOC_DIA = 1
 Local first electric-field spectrum.
constexpr int EF2_2D_DIA = 4
 Global second electric-field spectrum.
constexpr int EF2_2D_LOC_DIA = 5
 Local second electric-field spectrum.
constexpr int EFLUXF0H_DIA = 0
 f0 radial heat flux in helical cells.
constexpr int EFLUXF0ISL_DIA = 0
 f0-weighted energy flux along perturbed magnetic field.
constexpr int EFLUXF0ISLH_DIA = 2
 f0 heat flux along perturbed field in helical cells.
constexpr int EFLUXWH_DIA = 1
 delta f radial heat flux in helical cells.
constexpr int EFLUXWISL_DIA = 1
 delta f-weighted energy flux along perturbed magnetic field.
constexpr int EFLUXWISLH_DIA = 3
 delta f heat flux along perturbed field in helical cells.
constexpr int EKINF0_DIA = 9
 Equilibrium-distribution kinetic energy.
constexpr int EKINF0_TR_DIA = 16
 Trapped-particle equilibrium kinetic energy.
constexpr int ENERGY_LOSSES = 1
 Lost kinetic energy.
constexpr int ENTROPY_DIA = 4
 Perturbed entropy measure.
constexpr int ENTROPY_IN_DIA = 12
 Entropy inside the diagnostic volume.
constexpr int ENTROPY_OUT_DIA = 15
 Entropy outside the diagnostic volume.
constexpr Real EPSILONO = 8.8541878E-12
 Vacuum permittivity in farads per metre.
EquilVariablesequil
 Magnetic-equilibrium and normalization state.
constexpr int ETA_DIA = 4
 Second nonsingular axis-coordinate displacement.
constexpr int ETRANSF0_DIA = 1
 Field-to-particle energy transfer weighted by f0.
constexpr int ETRANSW_DIA = 0
 Field-to-particle energy transfer weighted by delta f.
constexpr Real EULER = 0.5772156649015328606065120900824024310422
 Euler-Mascheroni constant.
constexpr int EXB_DIA = 6
 ExB drift contribution.
constexpr int EXBTOR_DIA = 5
 Toroidal ExB flow.
constexpr int F_AV_2D_DIA = 2
 Distribution zeroth moment.
constexpr int F_AVH_DIA = 7
 Helically binned distribution zeroth moment.
constexpr int F_DIA = 3
 Distribution/density zeroth moment.
constexpr int F_MS_DIA = 8
 Square of the mean distribution/density.
constexpr int F_P_DIA = 9
 Passing-particle distribution zeroth moment.
constexpr int F_TH_DIA = 3
 Poloidally binned distribution zeroth moment.
constexpr int F_TR_DIA = 13
 Trapped-particle distribution zeroth moment.
constexpr int F_VEL_2D_DIA = 2
 Total distribution on the velocity grid.
constexpr int FFINIT_PIC = 3
 Initial equilibrium-distribution value slot.
constexpr int FFINIT_PVOL_PIC = 0
 Initial f0 times marker phase volume.
constexpr int FIELD_CORR_DIA = 3
 Corrected field contribution.
constexpr int FIELD_DIA = 1
 Field contribution to fluctuation entropy.
FieldsVariablesfields
 Field-grid, filtering, and model state.
FieldsModulefields_module
 Field deposition and solve service.
constexpr Real FIXED_POINT_RTOL = 1.0E-15
 Relative tolerance for fixed-point iteration.
constexpr int FLUID_1 = 0
 First electron-fluid moment slot.
constexpr int FLUID_2 = 1
 Second electron-fluid moment slot.
constexpr int FLUID_3 = 2
 Third electron-fluid moment slot.
constexpr int FLUID_4 = 3
 Fourth electron-fluid moment slot.
constexpr int FLUID_5 = 4
 Fifth electron-fluid moment slot.
constexpr int FLUID_6 = 5
 Sixth electron-fluid moment slot.
constexpr int FLUID_7 = 6
 Seventh electron-fluid moment slot.
constexpr int FLUX_CORR_DIA = 4
 Corrected flux contribution.
constexpr int FLUX_DIA = 2
 Flux contribution to fluctuation entropy.
constexpr int FLUX_WT_PIC = 1
 Flux-weight slot in deposition workspace.
constexpr int FR_DETRAP = 3
 Transition identifier for trapped-to-passing motion.
constexpr int FR_PASS = 1
 Passing-orbit classification identifier.
constexpr int FR_RETRAP = 4
 Transition identifier for passing-to-trapped motion.
constexpr int FR_TRAP = 2
 Trapped-orbit classification identifier.
constexpr const char * FRES = "orb5_res.h5"
 Main results filename.
constexpr const char * FRES2 = "orb5_traj.h5"
 Test-particle trajectory filename.
extern::H5::H5File * fresid
 Owning main-results handle, or nullptr.
extern::H5::H5File * fresid2
 Owning trajectory-file handle, or nullptr.
constexpr int FSELECT_APA = 3
 Select parallel vector potential A_parallel.
constexpr int FSELECT_PHI = 1
 Select fluctuating electrostatic potential phi.
constexpr int FSELECT_PHI0 = 2
 Select axisymmetric/background potential phi0.
constexpr int FSIG_AV_DIA = 5
 Time-averaged distribution-function signal.
constexpr int FSIG_DIA = 4
 Instantaneous distribution-function signal.
constexpr int FU2_AV_2D_DIA = 4
 Parallel-velocity second moment.
constexpr int FU_AV_2D_DIA = 3
 Parallel-velocity first moment.
constexpr int FVP2_AV_2D_DIA = 5
 Perpendicular-speed second moment.
constexpr Real GL4_A11 = 0.25
 Gauss-Legendre Butcher coefficient a11.
constexpr Real GL4_A12 = -0.038675134594812866
 Gauss-Legendre Butcher coefficient a12.
constexpr Real GL4_A21 = 0.53867513459481287
 Gauss-Legendre Butcher coefficient a21.
constexpr Real GL4_A22 = 0.25
 Gauss-Legendre Butcher coefficient a22.
constexpr Real GL4_C1 = 0.21132486540518713
 First node of two-stage fourth-order Gauss-Legendre integration.
constexpr Real GL4_C2 = 0.78867513459481287
 Second Gauss-Legendre time node.
constexpr int GRB_DIA = 2
 Grad-B drift contribution.
constexpr int GRP_DIA = 4
 Pressure-gradient contribution.
constexpr int GSUM_2_DIA = 24
 Second raw moment of g.
constexpr int GSUM_3_DIA = 25
 Third raw moment of g.
constexpr int GSUM_4_DIA = 26
 Fourth raw moment of g.
constexpr int GSUM_DIA = 23
 First raw moment of marker sampling distribution g.
constexpr int HEAT_DIA = 0
 Total radial heat flux.
constexpr int HEAT_DIA_NEO = 3
 Neoclassical heat-flux component.
constexpr int HEAT_P_DIA = 9
 Passing-particle heat flux.
constexpr int HEAT_P_DIA_NEO = 13
 Neoclassical passing heat flux.
constexpr int HEAT_TR_DIA = 10
 Trapped-particle heat flux.
constexpr int HEAT_TR_DIA_NEO = 14
 Neoclassical trapped heat flux.
constexpr int HEATING_DENS_DIA = 4
 Heating-source density contribution.
constexpr int HEATING_ENERGY_DIA = 5
 Heating-source energy contribution.
constexpr int HEATING_VPLL_DIA = 7
 Heating-source parallel-momentum contribution.
constexpr int HEATING_ZF_DIA = 6
 Heating-source zonal-flow contribution.
constexpr int ID_PIC = 0
 Globally persistent marker identifier slot.
constexpr int ILARM_PIC = 1
 Offset of the first gyroaveraging point.
constexpr int INNER_EDGE = 0
 Inner-radial-boundary loss slot.
constexpr const char * INPUT_FILENAME = "input"
 Default namelist input filename.
IslandsVariablesislands
 Prescribed magnetic-island configuration.
constexpr int JBOOT_DIA = 6
 Bootstrap-current moment.
constexpr int JDOTE_DIA = 13
 Species energy transfer j dot E.
constexpr Real KBOLTZ = 1.3806E-23
 Boltzmann constant in joules per kelvin.
constexpr int KSI_DIA = 3
 First nonsingular axis-coordinate displacement.
constexpr int KSIETA_PIC = 0
 Low-discrepancy loading-state slot.
constexpr Real LNLAM = 15.0
 Reference Coulomb logarithm, dimensionless.
constexpr int LOSSES_MOMENTS = 3
 Number of tracked loss moments.
constexpr int lu_dat = 99
 Legacy generic-data unit.
constexpr int lu_datn = 32
 Legacy density-data unit.
constexpr int lu_datv = 100
 Legacy velocity-data unit.
constexpr int lu_debug = 13
 Legacy debug-log unit.
constexpr int lu_denprofs = 89
 Legacy density-profile unit.
constexpr int lu_f0 = 90
 Legacy numerical-f0 unit.
constexpr int lu_fields = 96
 Legacy saved-field unit.
constexpr int lu_input = 16
 Legacy Fortran unit reserved for namelist input.
constexpr int lu_io = 14
 Legacy general I/O unit.
constexpr int lu_kprofs = 88
 Legacy gradient-profile unit.
constexpr int lu_noh5 = 63
 Legacy non-HDF5 output unit.
constexpr int lu_optidat = 75
 Legacy optimized-loading data unit.
constexpr int lu_p1 = 81
 Legacy first potential-component unit.
constexpr int lu_p2 = 83
 Legacy second potential-component unit.
constexpr int lu_profiles = 78
 Legacy equilibrium-profile unit.
constexpr int lu_profs = 87
 Legacy species-profile unit.
constexpr int lu_pszs = 36
 Legacy PSZS-output unit.
constexpr int lu_res = 34
 Legacy results unit.
constexpr int lu_restime = 35
 Legacy restart-timing unit.
constexpr int lu_stop = 31
 Legacy stop/status-file unit.
constexpr int lu_test = 33
 Legacy test-output unit.
constexpr int lu_testpart = 77
 Legacy test-particle input unit.
constexpr int lu_tkdat = 97
 Legacy toolkit-data unit.
constexpr int lu_tklog = 98
 Legacy toolkit-log unit.
constexpr int lu_traj = 95
 Legacy trajectory-output unit.
constexpr int lu_version = 15
 Legacy version-file unit.
MatArray MATS
constexpr int MAX_PIC2_C = 7
 Auxiliary marker reals with coarse-graining extras.
constexpr int MAX_PIC2_NC = 5
 Auxiliary marker reals without coarse-graining extras.
constexpr int MAX_PIC3 = 2
 Integer/flag values in tertiary marker storage.
constexpr int MAX_PIC4 = 1
 64-bit integer values stored per marker.
constexpr int MAX_WORK_C = 6
 Primary marker reals with the second weight.
constexpr int MAX_WORK_NC = 5
 Primary marker reals without the second weight.
constexpr Real MEMKSA = 9.1094E-31
 Electron mass in kilograms.
constexpr Real MIMKSA = 1.6726231E-27
 Reference proton/ion mass in kilograms.
constexpr int moments_3d_size = 8
 Number of standard 3-D moments.
constexpr int MOMENTUM_DIA = 2
 Total radial parallel-momentum flux.
constexpr int MOMENTUM_DIA_NEO = 5
 Neoclassical momentum-flux component.
constexpr int MPR_2D_ID_JDOTE_ES = 0
 Electrostatic j dot E transfer.
constexpr int MPR_2D_ID_JDOTE_ES_S1 = 1
 Electrostatic j dot E in the selected radial interval.
constexpr int MPR_2D_SIZE = 2
 Number of mode-particle-resonance 2-D quantities.
constexpr Real MU0 = 4.0 * PI * 1e-7
 Vacuum permeability in henries per metre.
constexpr int MU_PIC = 0
 Normalized magnetic-moment slot in auxiliary storage.
constexpr int N_DF_AV_2D_DIA = 1
 Marker-count-weighted average of delta f.
constexpr int N_VEL_2D_DIA = 0
 Marker count on the two-dimensional velocity grid.
constexpr int NBIN_EN = 32
 Default heating energy bins.
constexpr int NBIN_LAM = 64
 Default electron pitch lambda bins.
constexpr int NBIN_MU = 128
 Magnetic-moment bins for bounce-averaged v_parallel/B.
constexpr int NBIN_PSI0 = 64
 Flux bins for bounce-averaged v_parallel/B.
constexpr int NBIN_R = 64
 Default heating radial bins.
constexpr int NBIN_S = 32
 Default electron radial bins.
constexpr int NBIN_THETA = 64
 Default electron poloidal-angle bins.
constexpr int NBIN_XI = 64
 Default electron pitch-cosine xi bins.
constexpr int NCONTROL_DENS_DIA = 0
 Noise-control density correction.
constexpr int NCONTROL_ENERGY_DIA = 1
 Noise-control energy correction.
constexpr int NCONTROL_VPLL_DIA = 3
 Noise-control parallel-momentum correction.
constexpr int NCONTROL_ZF_DIA = 2
 Noise-control zonal-flow correction.
constexpr int ndump = 12
 Legacy unit for formatted restart dumps.
constexpr int ndump_bin_a = 11
 Legacy unit for binary array dumps.
constexpr int ndump_bin_p = 10
 Legacy unit for binary particle dumps.
constexpr int NLARM_PIC = 0
 Number of gyroaveraging points in Larmor metadata.
constexpr int NOISE_AV_DIA = 7
 Time-averaged particle-noise estimator.
constexpr int NOISE_DIA = 6
 Instantaneous particle-noise estimator.
constexpr Int8 NPTOT_PRE = 100000000
 Samples used by adiabatic-density precomputation.
constexpr int NUMBER_SOURCE_DIAG = 12
 Number of one-dimensional source diagnostics.
constexpr int NXI = 8
 Helical-angle bins in magnetic-island diagnostics.
constexpr int OMP_ZERO = 0
 Zero offset used by OpenMP-compatible indexing paths.
constexpr int OUTER_EDGE = 1
 Outer-radial-boundary loss slot.
constexpr int P_PIC = 5
 Background/second-weight slot when two weights are enabled.
constexpr int PAR_DIA = 1
 Parallel-electric-field contribution.
constexpr const char * PARAFRES = "orb5_res_parallel.h5"
 Parallel results filename.
extern::H5::H5File * parafresid
 Owning parallel-results handle, or nullptr.
ParallelVariablesparallel
 MPI topology and host-thread state.
ParMoveparmove_module
 Toroidal particle-exchange service.
PartFieldsModulepart_fields_module
 Marker-to-field interpolation service.
constexpr int PARTICLE_DIA = 1
 Total radial particle flux.
constexpr int PARTICLE_DIA_NEO = 4
 Neoclassical particle-flux component.
ParticleModuleparticle_module
 Marker loading and push service.
constexpr int PARTICLE_P_DIA = 11
 Passing-particle particle flux.
constexpr int PARTICLE_P_DIA_NEO = 15
 Neoclassical passing particle flux.
constexpr int PARTICLE_TR_DIA = 12
 Trapped-particle particle flux.
constexpr int PARTICLE_TR_DIA_NEO = 16
 Neoclassical trapped particle flux.
constexpr int PARTQUANTS_NUMELS = 20
 Marker quantities written per test-particle record.
constexpr int PEKIN_DIA = 7
 Marker-weighted kinetic energy.
constexpr int PHASE_DF_DIA = 3
 Binned delta f.
constexpr int PHASE_F0_DIA = 5
 Binned equilibrium distribution.
constexpr int PHASE_NUMPART_DIA = 0
 Marker count in each phase-space bin.
constexpr int PHASE_P_DIA = 4
 Background/second-weight sum.
constexpr int PHASE_PVOL_DIA = 1
 Phase-space-volume sum.
constexpr int PHASE_W2_DIA = 6
 Squared perturbation-weight sum.
constexpr int PHASE_W_DIA = 2
 Perturbation-weight sum.
constexpr int PHI_2D_DIA = 0
 Global electrostatic-potential spectrum.
constexpr int PHI_2D_LOC_DIA = 1
 Radially local electrostatic-potential spectrum.
constexpr int PHI_DIA = 2
 Toroidal-angle displacement component.
constexpr int PHI_PIC = 2
 Toroidal-angle slot in primary marker storage, radians.
constexpr Real PI = 3.141592653589793238462643383279502884197
 Circle constant pi.
constexpr Real PIO2 = 1.57079632679489661923132169163975144209858
 Half pi, radians.
constexpr int PNUMB_DIA = 3
 Total represented particle number.
constexpr int PNUMB_IN_DIA = 11
 Particle number inside the diagnostic volume.
constexpr int PNUMB_OUT_DIA = 14
 Particle number outside the diagnostic volume.
constexpr int POLARISATION_TERM_DIVP0 = 9
 Divergence of equilibrium polarization P0.
constexpr int POLARISATION_TERM_DIVQ0 = 10
 Divergence of equilibrium polarization flux Q0.
constexpr int POLARISATION_TERM_P0 = 11
 Equilibrium polarization P0 term.
constexpr int POLARISATION_TERM_Q0 = 12
 Equilibrium polarization flux Q0 term.
constexpr int POLPROD_DIA = 5
 Polarization-product moment.
constexpr int PSI0CORR_PIC = 4
 Corrected invariant-flux coordinate slot.
std::vector< PszsVariables > * pszs
 Per-species phase-space zonal-structure state.
constexpr int PULLBACK_DIA = 8
 Pullback-transformation contribution.
constexpr int PVOL_PIC = 1
 Marker phase-space-volume slot.
constexpr int PWEIGHTSUM_2_DIA = 19
 Second raw moment of the second weight.
constexpr int PWEIGHTSUM_3_DIA = 20
 Third raw moment of the second weight.
constexpr int PWEIGHTSUM_4_DIA = 21
 Fourth raw moment of the second weight.
constexpr int PWEIGHTSUM_DIA = 18
 First raw moment of the second weight.
constexpr int QP_DIA = 4
 Parallel heat-flux moment.
constexpr int REV_ALP = 6
 Bit-reversed sequence for loading factor alpha.
constexpr int REV_ETA = 1
 Bit-reversed sequence for the second spatial coordinate.
constexpr int REV_KSI = 0
 Bit-reversed sequence for the first spatial coordinate.
constexpr int REV_V1 = 2
 Bit-reversed sequence for the first velocity coordinate.
constexpr int REV_V2 = 3
 Bit-reversed sequence for the second velocity coordinate.
constexpr int REV_V3 = 5
 Bit-reversed sequence for the third velocity coordinate.
constexpr int REV_W = 4
 Bit-reversed sequence for marker weights.
constexpr int RHO_2D_DIA = 2
 Global charge-density spectrum.
constexpr int RHO_2D_LOC_DIA = 3
 Local charge-density spectrum.
constexpr int RHOG_PIC = 2
 Normalized gyroradius in Larmor metadata.
constexpr int S_DIA = 0
 Radial displacement component.
constexpr int S_PIC = 0
 Radial-coordinate slot in primary marker storage.
constexpr int S_PROD_DIA = 0
 Entropy-production term.
constexpr int SAMP_DF_DIA = 3
 Sampled delta f.
constexpr int SAMP_F0_DIA = 5
 Sampled equilibrium distribution.
constexpr int SAMP_NUMPART_DIA = 0
 Marker count in each sampling bin.
constexpr int SAMP_P_DIA = 4
 Summed background/second weight.
constexpr int SAMP_PVOL_DIA = 1
 Summed marker phase-space volume.
constexpr int SAMP_W2_DIA = 6
 Summed squared perturbation weight.
constexpr int SAMP_W_DIA = 2
 Summed perturbation weight.
constexpr int SIGNAL_AV_DIA = 1
 Time-averaged total signal estimator.
constexpr int SIGNAL_DIA = 0
 Instantaneous total signal estimator.
constexpr int SIGNAL_NONZONAL_AV_DIA = 3
 Time-averaged nonzonal signal estimator.
constexpr int SIGNAL_NONZONAL_DIA = 2
 Instantaneous nonzonal signal estimator.
constexpr Real slope_line = 0.0
 Slope of the optimized-loading weight-limit line.
SolverVariablessolver
 Quasineutrality and Ampere solver configuration.
SortingVariablessorting
 Particle binning and sorting configuration.
constexpr int SOURCE_3D_DN_DIA = 1
 Three-dimensional source density rate.
constexpr int SOURCE_3D_POWER_DIA = 0
 Three-dimensional deposited source power.
std::vector< SpeciesVariables > * species
 Per-species physical and numerical state.
constexpr Real SQRT2 = 1.41421356237309504880168872420969807856967
 Square root of two.
constexpr int SUMF0_DIA = 8
 Marker sum of equilibrium distribution.
constexpr Real T2GAUSS = 1.e4
 Number of gauss per tesla.
constexpr Real thresh = 23.0
 Threshold parameter of optimized marker loading.
constexpr int TMP_PHI_PIC = 5
 Temporary toroidal coordinate used by coarse graining.
constexpr int TOR_MOMENTUM_DIA = 6
 Toroidal-momentum flux.
constexpr int TOR_MOMENTUM_DIA_NEO = 7
 Neoclassical toroidal-momentum flux.
constexpr int TOR_REYNOLDS_DIA = 8
 Toroidal Reynolds-stress contribution.
constexpr int TOT_DIA = 0
 Total j dot E energy transfer.
constexpr int TRAP_PIC = 1
 Trapped/passing classification slot.
constexpr Real TWOPI = 6.283185307179586476925286766559005768394
 Full angular period, radians.
constexpr int U_DIA = 5
 Parallel-velocity displacement component.
constexpr int U_PIC = 3
 Normalized parallel-velocity slot.
constexpr int UT2_DIA = 1
 Parallel-velocity second moment.
constexpr int UT2_P_DIA = 7
 Passing-particle parallel-velocity second moment.
constexpr int UT2_TR_DIA = 11
 Trapped-particle parallel-velocity second moment.
constexpr int UT_DIA = 0
 Parallel-velocity first moment.
constexpr int UT_MS_DIA = 7
 Square of the mean parallel velocity.
constexpr int UT_P_DIA = 6
 Passing-particle parallel-velocity first moment.
constexpr int UT_TR_DIA = 10
 Trapped-particle parallel-velocity first moment.
constexpr int UW_PIC = 3
 Parallel-velocity-times-weight workspace slot.
constexpr int V_PAR2_AVH_DIA = 5
 Helically binned parallel-velocity second moment.
constexpr int V_PAR2_TH_DIA = 1
 Poloidally binned parallel-speed squared.
constexpr int V_PAR_AVH_DIA = 4
 Helically binned parallel-velocity first moment.
constexpr int V_PAR_TH_DIA = 0
 Poloidally binned parallel-velocity moment.
constexpr int V_PERP2_AVH_DIA = 6
 Helically binned perpendicular-speed second moment.
constexpr int V_PERP2_TH_DIA = 2
 Poloidally binned perpendicular-speed squared.
constexpr Real vernum = 1.0
 Legacy numeric ORB5X file/version identifier.
constexpr int VPLL_LOSSES = 2
 Lost parallel momentum.
constexpr int VPLTOR_DIA = 4
 Toroidal projection of parallel flow.
constexpr int VPT2_DIA = 2
 Perpendicular-speed second moment.
constexpr int VPT2_P_DIA = 8
 Passing-particle perpendicular-speed second moment.
constexpr int VPT2_TR_DIA = 12
 Trapped-particle perpendicular-speed second moment.
constexpr int VPT_PIC = 1
 Normalized perpendicular-speed quantity.
constexpr int W_AVERAGE = 0
 Mean marker weight.
constexpr int W_DIA = 6
 Marker-weight displacement component.
constexpr int W_PIC = 4
 Perturbed-distribution weight slot.
constexpr int W_VARIANCE = 4
 Marker-weight variance.
constexpr int WADI_AVERAGE = 2
 Mean adiabatic marker weight.
constexpr int WADI_VARIANCE = 6
 Adiabatic-weight variance.
constexpr Real wLimitFrac = 10.0
 Initial fractional marker-weight limit.
constexpr Real wLimitFracLimit = 200.0
 Maximum fractional marker-weight limit.
constexpr int WV_AVERAGE = 1
 Mean velocity-weighted marker weight.
constexpr int WV_VARIANCE = 5
 Velocity-weighted marker-weight variance.
constexpr int WVADI_AVERAGE = 3
 Mean velocity-weighted adiabatic weight.
constexpr int WVADI_VARIANCE = 7
 Velocity-weighted adiabatic-weight variance.

Typedef Documentation

◆ Complex

using orb5x::Complex = std::complex<Real>

Complex simulation scalar with Real components.

◆ CoordFunc

using orb5x::CoordFunc = std::function<void(Real s, Real chi, Real& phi, Real& x, Real& y, Real& z)>

3D visualization output module

Output 3D arrays for visualization in HDF5-based formats (PIXIE and XDMF)

◆ fftw_complex_type

using orb5x::fftw_complex_type = fftw_complex

◆ fftw_plan_type

using orb5x::fftw_plan_type = fftw_plan

◆ FieldFunc

using orb5x::FieldFunc = std::function<void(Real x, Real y, Real z, Real& field)>

◆ Int4

using orb5x::Int4 = int32_t

Signed integer type with exactly 32 bits.

◆ Int8

using orb5x::Int8 = int64_t

Signed integer type with exactly 64 bits, used for marker counts.

◆ Real

using orb5x::Real = double

Default floating-point type for normalized physics and numerics.

◆ Real32

using orb5x::Real32 = float

Explicit IEEE-like single-precision storage type.

◆ Real64

using orb5x::Real64 = double

Explicit IEEE-like double-precision storage type.

Enumeration Type Documentation

◆ CopyFields

enum class orb5x::CopyFields : int
strong

Destination component for a split-potential field copy.

Enumerator
PH1 

Copy to the first potential component.

PH2 

Copy to the second potential component.

◆ CreateRhs

enum class orb5x::CreateRhs : int
strong

Field equation for which a right-hand side is assembled.

Enumerator
PHI 

Assemble quasineutrality right-hand side.

APA 

Assemble parallel-Ampere right-hand side.

◆ Diag3d

enum class orb5x::Diag3d : int
strong

Top-level family of three-dimensional diagnostics.

Enumerator
POT 

Field potentials.

DEN 

Deposited density/current.

MOMENT 

Kinetic moments.

◆ Diag3dDen

enum class orb5x::Diag3dDen : int
strong

Deposited source written by the 3-D density diagnostic.

Enumerator
RHO 

Charge density.

CURR 

Parallel current density.

◆ GetPotDisp

enum class orb5x::GetPotDisp : int
strong

Field or source quantity reconstructed by get_pot_disp diagnostics.

Enumerator
PHI 

Electrostatic potential.

PH1 

First split potential component.

PH2 

Second split potential component.

APA 

Parallel vector potential.

ASY 

Up-down asymmetric field component.

RHO 

Charge density.

RHM 

Subtracted/corrected charge density.

CUR 

Parallel current density.

EFN 

Normal electric-field component.

EFP 

Parallel electric-field component.

EFU 

Electric field along normalized velocity coordinate.

AHA 

Parallel-vector-potential harmonic amplitude.

◆ NSel3dDiag

enum class orb5x::NSel3dDiag
strong

Representation written by the single-field 3-D diagnostic.

Enumerator
DIAG_REAL 

Reconstructed real-space field.

DIAG_RHS_F 

Field-equation right-hand side.

◆ NSelAmpere

enum class orb5x::NSelAmpere
strong

Electromagnetic content of the parallel Ampere solve.

Enumerator
ELECTROSTATIC 

Disable A_parallel; electrostatic model.

EM_GYROAPAR 

Solve gyroaveraged A_parallel.

EM_APAR 

Solve non-gyroaveraged A_parallel.

◆ NSelAntenna

enum class orb5x::NSelAntenna
strong

Field source driven by the numerical antenna.

Enumerator
ANT_OFF 

Disable antenna forcing.

ANT_RHO 

Drive charge density.

ANT_JPAR 

Drive parallel current.

ANT_PHI 

Drive electrostatic potential.

ANT_APAR 

Drive parallel vector potential.

◆ NSelAntennaRadialProfile

Radial envelope of the numerical antenna.

Enumerator
ANT_POLYNOMIAL 

Polynomial in normalized radius.

ANT_SIN 

Sinusoidal radial envelope.

ANT_GAUSS 

Gaussian radial envelope.

ANT_INTERP 

Interpolate an envelope from file.

◆ NSelBacksolve

enum class orb5x::NSelBacksolve
strong

Quantity reconstructed by a field backsolve.

Enumerator
PHI 

Electrostatic potential.

MASS 

B-spline mass projection.

APAR 

Parallel vector potential.

MOM 

Moment coefficients.

◆ NSelBeamType

enum class orb5x::NSelBeamType
strong

Electromagnetic polarization of the ECRH beam.

Enumerator
X_MODE 

Extraordinary-mode beam.

O_MODE 

Ordinary-mode beam.

◆ NSelBsplinesBasis

enum class orb5x::NSelBsplinesBasis
strong

Implementation used to evaluate the B-spline basis.

Enumerator
BSPLINES_ORIGINAL 

Legacy ORB5 basis recursion.

BSPLINES_DEBOOR 

de Boor basis evaluation.

◆ NSelBufferType

enum class orb5x::NSelBufferType
strong

Outer radial buffer operator.

Enumerator
NO_BUFFER 

Disable the outer buffer.

NAIVE_KROOK_BUFFER 

Simple Krook relaxation.

KROOK_CONS_BUFFER 

Density-conserving Krook relaxation.

COLLISION_BUFFER 

Collisional buffer operator.

◆ NSelCollisions

enum class orb5x::NSelCollisions
strong

Monte-Carlo collision operator.

Enumerator
NO_COLL 

Collisionless evolution.

SELF_COLL_L 

Linearized same-species collisions.

MULTI_COLL_L 

Linearized multispecies collisions.

SELF_COLL_NL 

Nonlinear same-species collisions.

MULTI_COLL_NL 

Nonlinear multispecies collisions.

◆ NSelControlVariate

enum class orb5x::NSelControlVariate
strong

Current control-variate correction strategy.

Enumerator
NO_CV 

Disable control-variate correction.

CORRECT_CURRENT 

Iteratively correct deposited parallel current.

◆ NSelDftMethod

enum class orb5x::NSelDftMethod
strong

Toroidal discrete-Fourier-transform implementation.

Enumerator
DFT_PPTRANSP 

Use the distributed particle-transport transform.

DFT_LOCAL 

Use a rank-local transform.

◆ NSelEfluid

enum class orb5x::NSelEfluid
strong

Electron-fluid closure model.

Enumerator
NO_EFLUID 

Disable the electron-fluid closure.

EFLUID_MHD 

Use the MHD electron-fluid closure.

EFLUID_DEBUG 

Use diagnostic/debug closure equations.

◆ NSelElectronValues

enum class orb5x::NSelElectronValues
strong

Input quantities from which electron normalization is inferred.

Enumerator
ELECTRON_VALUES_ORB5 

Preserve legacy ORB5 inference rules.

ELECTRON_VALUES_LX_N 

Infer from box scale and density.

ELECTRON_VALUES_LX_BETA 

Infer from box scale and beta.

ELECTRON_VALUES_T_N 

Infer from temperature and density.

ELECTRON_VALUES_T_BETA 

Infer from temperature and beta.

◆ NSelF0

enum class orb5x::NSelF0
strong

Equilibrium distribution function represented by a species.

Enumerator
MAXWELLIAN 

Local/canonical Maxwellian.

BUMPONTAIL 

Bump-on-tail energetic distribution.

SLOWINGDOWN 

Isotropic slowing-down distribution.

CDT 

Claudio Di Troya distribution.

CDTN 

Normalized Claudio Di Troya variant.

NUM_F0 

Tabulated numerical distribution.

SLOWINGDOWN_BUMP 

Hybrid slowing-down/bump-on-tail distribution.

SLOWINGDOWN_PITCH 

Pitch-anisotropic slowing-down distribution.

SLOWINGDOWN_PITCH_G_BREF 

Pitch slowing-down with GYSELA reference field.

SLOWINGDOWN_PITCH_O 

Legacy ORB5 pitch slowing-down form.

SLOWINGDOWN_PITCH_O_NOCHI 

Legacy form without poloidal dependence.

BUMPONTAIL_O 

Legacy ORB5 bump-on-tail form.

BUMPONTAIL_O_NOCHI 

Legacy bump-on-tail without poloidal dependence.

BUMPONTAIL_G_BREF 

Bump-on-tail with GYSELA reference field.

◆ NSelFilter

enum class orb5x::NSelFilter
strong

Angular Fourier-mode filtering policy.

Enumerator
FILT_N 

Filter only toroidal modes.

FILT_MN 

Filter both poloidal and toroidal modes.

FILT_MN_ONLY_FULL 

Apply (m,n) filtering only to full fields.

FILT_SAW 

Apply the sawtooth-specific mode lists.

FILT_MN_N0M0 

Apply (m,n) filtering while retaining the (0,0) mode.

◆ NSelFixedSourceType

enum class orb5x::NSelFixedSourceType
strong

Fixed heating/source operator.

Enumerator
SOURCE_BASIC 

Generic prescribed heat source.

SOURCE_ECRH 

Electron-cyclotron-resonance heating source.

◆ NSelFixFields

enum class orb5x::NSelFixFields
strong

Analytic test pattern used to replace evolved fields.

Enumerator
NO_FIX_FIELDS 

Use evolved fields.

FIX_FIELDS_S2 

Replace with a quadratic radial pattern.

FIX_FIELDS_SIN2_CHI 

Replace with a squared poloidal sine pattern.

FIX_FIELDS_SIN2_PHI 

Replace with a squared toroidal sine pattern.

◆ NSelGBref

enum class orb5x::NSelGBref
strong

Magnetic-field value used to normalize energetic distributions.

Enumerator
G_B0 

Reference/on-axis field.

G_BMIN 

Minimum field on the selected surface.

G_BMAX 

Maximum field on the selected surface.

◆ NSelGetField

enum class orb5x::NSelGetField
strong

Grid-to-particle field-interpolation kernel organization.

Enumerator
GET_FIELD_BY_PART 

Parallelize directly over markers.

GET_FIELD_BY_CELL 

Parallelize over sorted spatial cells.

◆ NSelGradp

enum class orb5x::NSelGradp
strong

Pressure-gradient discretization.

Enumerator
GRAD_POL 

Standard polarization pressure gradient.

GRAD_POL_CORR 

Corrected polarization pressure gradient.

◆ NSelGyr

enum class orb5x::NSelGyr
strong

Gyroaveraging-point selection strategy.

Enumerator
ADAPT 

Adapt points to gyroradius with a fixed four-point scale.

FIXED 

Use exactly navg points.

DK 

Drift-kinetic approximation without gyroaveraging.

ADAPT_NAVG 

Adapt points using pi*navg as the scale.

◆ NSelHeatsourceRadial

enum class orb5x::NSelHeatsourceRadial
strong

Source of the radial heat-deposition profile.

Enumerator
RADIAL_CODE 

Evaluate the built-in analytic profile.

RADIAL_FILE 

Interpolate a profile from file.

◆ NSelHybridModel

enum class orb5x::NSelHybridModel
strong

Kinetic trapped/passing hybrid model.

Enumerator
NO_HYBRID_MODEL 

Deposit all kinetic marker response normally.

HYBRID_MODEL_UPGRADE 

Upgraded Idomura-style hybrid model.

STANDARD_HYBRID_MODEL 

Standard model depositing trapped-particle charge only.

◆ NSelInitPert

enum class orb5x::NSelInitPert
strong

Initial marker-weight or potential perturbation.

Enumerator
PERT_NOISE 

Uniform low-amplitude weight perturbation.

PERT_MODE_UNCORRECTED 

Uncorrected Gaussian (m,n) spectrum.

PERT_MODE 

Corrected Gaussian (m,n) spectrum.

PERT_MODE_TAE 

Toroidal-Alfven-eigenmode Gaussian perturbation.

PERT_MODE_SAW 

Shear-Alfven-wave perturbation.

PERT_D_COS 

Density perturbation proportional to cos(chi).

PERT_D_SIN 

Density perturbation proportional to sin(chi).

PERT_RH_COS 

Rosenbluth-Hinton cosine perturbation.

PERT_RH_SIN 

Rosenbluth-Hinton sine perturbation.

PERT_RH_SIN_B 

Magnetic-field-weighted RH sine perturbation.

PERT_TANH_SIN 

GAM perturbation proportional to tanh(r) sin(chi).

PERT_GENE 

GENE-compatible spatial perturbation.

PERT_GENE_VPLL 

GENE-compatible perturbation with v_parallel dependence.

PERT_POTENTIAL 

Initialize electrostatic potential directly.

PERT_RH_VPLL 

RH sinusoid with parallel-velocity dependence.

PERT_COLL_II_1 

Ion-ion collision verification case 1.

PERT_COLL_II_2 

Ion-ion collision verification case 2.

PERT_COLL_II_3 

Ion-ion collision verification case 3.

PERT_COLL_II_4 

Ion-ion collision verification case 4.

PERT_SINGLEPART 

Perturb a single test marker.

PERT_LIGKA5 

LIGKA-L5 prescribed perturbation.

PERT_LIGKA5_AUTO 

Automatically parameterized LIGKA-L5 perturbation.

PERT_GAUSS_LIST 

Sum a configured list of Gaussian perturbations.

◆ NSelInnerBc

enum class orb5x::NSelInnerBc
strong

Boundary condition at the magnetic axis.

Enumerator
NO_INNER_BC 

Do not impose an explicit axis condition.

DIRICHLET_INNER_BC 

Impose a Dirichlet value at the axis.

UNICITY_INNER_BC 

Enforce single-valuedness at the axis.

◆ NSelIonValues

enum class orb5x::NSelIonValues
strong

Input quantities from which main-ion normalization is inferred.

Enumerator
ION_VALUES_ORB5 

Preserve legacy ORB5 inference rules.

ION_VALUES_TAU_FPART 

Infer from temperature ratio and dilution.

ION_VALUES_TAU_N 

Infer from temperature ratio and density.

ION_VALUES_T_N 

Infer from physical temperature and density.

ION_VALUES_T_FPART 

Infer from physical temperature and dilution.

◆ NSelLoadphi

enum class orb5x::NSelLoadphi
strong

Toroidal-angle marker-loading sequence.

Enumerator
UNIFORM 

Uniform midpoint sequence.

HAMMERSLEY 

Low-discrepancy Hammersley sequence.

◆ NSelLoadSpace

enum class orb5x::NSelLoadSpace
strong

Electron configuration-space loading density.

Enumerator
SPACE_GAUSSIAN 

Gaussian/constant mixed radial loading.

SPACE_ALPHAB 

Loading proportional to geometric alpha_b(s,chi).

◆ NSelLoadV

enum class orb5x::NSelLoadV
strong

Velocity-space marker-loading density.

Enumerator
LOAD_V2 

Uniform sampling in squared speed.

LOAD_V3 

Uniform sampling in cubed speed.

LOAD_V2_NO_T 

Squared-speed sampling without local-temperature scaling.

◆ NSelMatrixType

enum class orb5x::NSelMatrixType
strong
Enumerator
NSEL_GBMAT 
NSEL_PBMAT 

◆ NSelNoiseFilter

enum class orb5x::NSelNoiseFilter
strong

Phase relation of the deposition noise-filter stencil.

Enumerator
SHIFTED 

Use the shifted stencil.

ANTI_ALIGNED 

Use the anti-aligned stencil.

◆ NSelNormalizeDensity

enum class orb5x::NSelNormalizeDensity
strong

Volume convention used to normalize species density.

Enumerator
ANNUAR 

Normalize with the simulated annular volume.

FULL 

Normalize with the full torus volume.

FREE 

Preserve the supplied normalization.

TAE 

Use the TAE benchmark normalization convention.

◆ NSelPoisson

enum class orb5x::NSelPoisson
strong

Gyrokinetic polarization model in quasineutrality.

Enumerator
LWA 

Long-wavelength approximation.

ARBITRARY 

Arbitrary-wavelength gyrokinetic polarization.

PADE 

Pade approximation to finite-Larmor-radius polarization.

◆ NSelPotProfile

enum class orb5x::NSelPotProfile
strong

Prescribed background-potential radial profile.

Enumerator
NO_POT 

No prescribed potential.

POT_BEN 

Built-in Ben profile.

POT_SHEAR 

Analytic sheared-flow profile.

POT_PROF_FILE 

Interpolate the potential from a profile file.

POT_OGYROPSI 

Legacy ORB5/GYROPSI profile.

POT_JAMIE 

Built-in Jamie profile.

POT_VPROF 

Derive potential from the velocity profile.

◆ NSelProfile

enum class orb5x::NSelProfile
strong

Family of radial equilibrium density/temperature/flow profiles.

Enumerator
TYPE_1 

Analytic profile in normalized poloidal flux.

TYPE_2 

Legacy LORB5 profile in minor radius.

TYPE_22 

Global/local profile in squared minor radius.

TYPE_3 

First Cyclone benchmark profile.

TYPE_4 

Windowed Cyclone benchmark profile.

INTERP_ITM 

Interpolate an ITM/IMAS experimental profile.

INTERP_TRANSP 

Interpolate a TRANSP profile file.

TYPE_7 

Flat-gradient MHD profile.

TYPE_8 

Solovev-equilibrium flux profile.

TYPE_9 

Exponential core, linear pedestal, constant SOL.

TYPE_10 

Parabolic deep core plus type-9 edge profile.

◆ NSelPszs

enum class orb5x::NSelPszs
strong

Phase-space zonal-structure execution mode.

Enumerator
PSZS_OFF 

Disable PSZS processing.

PSZS_ONLINE 

Accumulate PSZS during the simulation.

PSZS_OFFLINE 

Prepare/read data for offline PSZS processing.

◆ NSelPszsType

enum class orb5x::NSelPszsType
strong

Distribution quantity projected by PSZS.

Enumerator
PSZS_W 

Perturbed marker-weight contribution.

PSZS_F0 

Equilibrium-distribution contribution.

◆ NSelPtransp

enum class orb5x::NSelPtransp
strong

Particle transport between toroidal spatial domains.

Enumerator
PTRANSP_SERIAL 

Use serialized neighbor exchange.

PTRANSP_PARALLEL 

Use the parallel exchange path.

◆ NSelPullback

enum class orb5x::NSelPullback
strong

Electromagnetic pullback formulation.

Enumerator
NO_PULLBACK 

Disable pullback mitigation.

PULLBACK_DA_DT_0 

Pull back using the initial dA_parallel/dt split.

PULLBACK_OHM 

Pull back using the Ohm-law split.

◆ NSelPush

enum class orb5x::NSelPush
strong

Marker trajectory, weight, and deposition evolution mode.

Enumerator
PUSH_FULL 

Perturbed trajectories with weight evolution and deposition.

NO_PUSH 

Freeze trajectories and weights.

PUSH_UNPERT 

Unperturbed trajectories with weight evolution.

PUSH_FULL_TEST 

Perturbed test trajectories without weights/deposition.

PUSH_UNPERT_TEST 

Unperturbed test trajectories without weights/deposition.

◆ NSelQProfile

enum class orb5x::NSelQProfile
strong

Source of the equilibrium safety-factor profile.

Enumerator
INTERP 

Interpolate the loaded equilibrium profile.

QUADRATIC 

Use the analytic profile fixed by q0 and qedge.

QCOEF 

Evaluate the coefficient-based analytic profile.

◆ NSelQuasineutral

enum class orb5x::NSelQuasineutral
strong

Quasineutral-density closure imposed during normalization.

Enumerator
QN_FREE 

Keep all input densities unchanged.

QN_SET_NE 

Adjust electron density for quasineutrality.

QN_SET_N1 

Adjust the first species density.

QN_SET_NL 

Adjust the last species density.

◆ NSelSetrho

enum class orb5x::NSelSetrho
strong

Particle-to-grid charge-deposition kernel organization.

Enumerator
SETRHO_BY_PART 

Parallelize directly over markers.

SETRHO_BY_CELL 

Parallelize over spatial cells.

SETRHO_BY_COLOR 

Use conflict-free cell coloring.

SETRHO_BY_COLOR_BUF 

Use coloring with a buffered accumulator.

◆ NSelSolve

enum class orb5x::NSelSolve
strong

Field-system right-hand side/solve operation.

Enumerator
POISSON 

Quasineutrality/polarization equation.

AMPERE 

Parallel Ampere equation.

DENS1 

First density-response system.

MOM 

Moment system.

◆ NSelSolverMatrixType

enum class orb5x::NSelSolverMatrixType
strong

Storage format of the radial solver matrix.

Enumerator
GBMAT 

General band matrix.

PBMAT 

Periodic band matrix.

◆ NSelSortCache

enum class orb5x::NSelSortCache
strong

Guiding-centre sorting for memory locality.

Enumerator
SORT_CACHE_OFF 

Preserve marker order.

SORT_CACHE_ON 

Periodically reorder markers by spatial bin.

◆ NSelSourceDiagnostics

enum class orb5x::NSelSourceDiagnostics
strong

Source family represented by source-control diagnostics.

Enumerator
NC 

Noise-control/Krook source.

HEATING 

Heating source.

BUFFER 

Outer-buffer source.

◆ NSelStrong

enum class orb5x::NSelStrong
strong

Analytic strong-form test field.

Enumerator
STRONG_EXPECTED 

Evaluate the expected physical strong form.

STRONG_UE2_S2 

Quadratic radial electric-energy test.

STRONG_UE2_SIN2_CHI 

Poloidal squared-sine electric-energy test.

STRONG_UE2_S2_SIN2_CHI 

Combined radial/poloidal electric-energy test.

STRONG_UEPHI_SIN2_CHI 

Toroidal-electric-field poloidal test.

◆ NSelTestpart

enum class orb5x::NSelTestpart
strong

Test-particle initialization and selection policy.

Enumerator
NO_TESTPART 

Disable test-particle output.

READ_TESTPART 

Read explicit initial test-particle states.

FIRSTS_TESTPART 

Track the first configured markers.

◆ NSelTilt

enum class orb5x::NSelTilt
strong

Gyroangle rotation applied to gyroaveraging points.

Enumerator
NO_TILT 

Use the deterministic base gyroangle.

RANDOM_TILT 

Apply a random gyroangle offset per marker.

◆ NSelTimeIntegrator

enum class orb5x::NSelTimeIntegrator
strong

Global time-integration scheme.

Enumerator
RK4 

Explicit classical fourth-order Runge-Kutta.

GL4 

Implicit two-stage fourth-order Gauss-Legendre.

◆ NSelVparallelI

enum class orb5x::NSelVparallelI
strong

Model used for the equilibrium ion parallel velocity.

Enumerator
MHD 

Parallel velocity consistent with the MHD equilibrium.

ADHOC 

User-prescribed analytic parallel velocity.

◆ NSelVparConstantInF0

enum class orb5x::NSelVparConstantInF0
strong

Prescription for the parallel invariant used in df0/dt.

Enumerator
DH0 

Infer dv_parallel from the equilibrium Hamiltonian derivative.

DVPAR1 

Use the first-order parallel acceleration directly.

NO_F0_CONSTANT 

Keep the baseline dv_parallel without a constraint.

DH0_CORR 

Correct Hamiltonian-derived acceleration to match first order.

DVPAR1_CORR 

Correct first-order acceleration to conserve the Hamiltonian.

◆ NSelWhichAttribute

enum class orb5x::NSelWhichAttribute
strong

Particle attribute deposited into a field right-hand side.

Enumerator
CHARGE 

Charge density.

CURRENT 

Parallel current density.

◆ NSelWhichMat

enum class orb5x::NSelWhichMat
strong

Algebraic transform requested from a solver matrix.

Enumerator

Matrix itself.

T_TRANSP 

Matrix transpose.

T_INV 

Matrix inverse/solve operator.

◆ ParallelMomentum

enum class orb5x::ParallelMomentum
strong

Parallel phase-space momentum coordinate.

Enumerator
P_PARALLEL 

Canonical parallel momentum.

V_PARALLEL 

Kinetic parallel velocity.

MIXED 

Mixed-variable pullback momentum.

◆ ParallelMomentumType

enum class orb5x::ParallelMomentumType
strong
Enumerator
P_PARALLEL 
V_PARALLEL 
MIXED 

Function Documentation

◆ allocate_matrix()

void orb5x::allocate_matrix ( int globalk,
int matnum,
int kl,
int ku,
int n )

◆ backsolve_rhs_f()

void orb5x::backsolve_rhs_f ( Kokkos::View< Complex * > & rhs_f,
int globalk,
int matnum )

◆ bsolve()

void orb5x::bsolve ( const Zbmat & mat,
Complex * rhs,
int nrhs = 1 )

◆ bspl2fft_2d()

void orb5x::bspl2fft_2d ( const Kokkos::View< Real ** > & bspl_data,
Kokkos::View< Complex ** > & fft_data,
int nchi,
int nphi )
inline

◆ bspl2fft_3d()

void orb5x::bspl2fft_3d ( const Kokkos::View< Real *** > & bspl_data,
Kokkos::View< Complex ** > & fft_data,
int ns,
int nchi,
int nphi,
int neq_f,
const Kokkos::View< int *** > * filter = nullptr,
const Kokkos::View< Real * > * fftminv = nullptr,
const Kokkos::View< int ** > * mmin_f = nullptr,
const Kokkos::View< int ** > * mmax_f = nullptr )
inline

◆ cleanup_globals()

void orb5x::cleanup_globals ( )

Release modules and all Kokkos-owning global state.

Precondition
No outstanding kernel or MPI operation references a global view.
Postcondition
Global pointers are null and Kokkos may be finalized.

◆ defmat_disp()

void orb5x::defmat_disp ( )

◆ destroy_plan()

void orb5x::destroy_plan ( fftw_plan plan)
inline

◆ execute_backward()

void orb5x::execute_backward ( fftw_plan plan)
inline

◆ execute_forward()

void orb5x::execute_forward ( fftw_plan plan)
inline

◆ factorize_matrix()

void orb5x::factorize_matrix ( Zbmat & mat,
int nmat = -1,
int matnum = -1,
const char * context = "" )

◆ fft2bspl_2d()

void orb5x::fft2bspl_2d ( const Kokkos::View< Complex ** > & fft_data,
Kokkos::View< Real ** > & bspl_data,
int nchi,
int nphi )
inline

◆ fft2bspl_3d()

void orb5x::fft2bspl_3d ( const Kokkos::View< Complex ** > & fft_data,
Kokkos::View< Real *** > & bspl_data,
int ns,
int nchi,
int nphi,
int neq_f,
const Kokkos::View< int ** > * mmin_f = nullptr,
const Kokkos::View< int ** > * mmax_f = nullptr )
inline

◆ fftw_cleanup()

void orb5x::fftw_cleanup ( )
inline

◆ get_matrix()

Zbmat * orb5x::get_matrix ( int globalk,
int matnum )

◆ IMA()

Complex orb5x::IMA ( 0. 0,
1. 0 )
constexpr

Imaginary unit used by Fourier-space operations.

◆ init_1d_backward()

void orb5x::init_1d_backward ( int n,
fftw_plan & plan_backward,
fftw_complex * in,
fftw_complex * out )
inline

◆ init_1d_forward()

void orb5x::init_1d_forward ( int n,
fftw_plan & plan_forward,
fftw_complex * in,
fftw_complex * out )
inline

◆ init_2d_backward()

void orb5x::init_2d_backward ( int nchi,
int nphi,
fftw_plan & plan_backward,
fftw_complex * in,
fftw_complex * out )
inline

◆ init_2d_forward()

void orb5x::init_2d_forward ( int nchi,
int nphi,
fftw_plan & plan_forward,
fftw_complex * in,
fftw_complex * out )
inline

◆ init_globals()

void orb5x::init_globals ( )

Allocate process-wide state after Kokkos::initialize().

Postcondition
Global state and module pointers declared here are non-null.

◆ init_solver_data()

void orb5x::init_solver_data ( )

◆ interpos_smooth()

void orb5x::interpos_smooth ( const std::vector< Real > & xin,
const std::vector< Real > & yin,
std::vector< Real > & yout,
std::vector< Real > & youtp )

◆ printmat()

void orb5x::printmat ( )

◆ set_global_variables()

void orb5x::set_global_variables ( )

Derive cached selectors, species ratios, and auxiliary dimensions.

Precondition
Input is loaded and per-species storage is allocated.

◆ setmat()

void orb5x::setmat ( bool lapl_boundary_terms)

◆ updtmat()

void orb5x::updtmat ( Zbmat & mat,
int row,
int col,
Complex val )

◆ vmx()

void orb5x::vmx ( const Zbmat & mat,
const Kokkos::View< Complex * > & x,
Kokkos::View< Complex * > & y )

Variable Documentation

◆ ABSDF_DIA

int orb5x::ABSDF_DIA = 2
constexpr

Phase-space integral of absolute delta f.

◆ ABSDF_IN_DIA

int orb5x::ABSDF_IN_DIA = 10
constexpr

Absolute delta f inside the diagnostic volume.

◆ ABSDF_OUT_DIA

int orb5x::ABSDF_OUT_DIA = 13
constexpr

Absolute delta f outside the diagnostic volume.

◆ ABSG_DIA

int orb5x::ABSG_DIA = 22
constexpr

Sum of absolute marker sampling distribution g.

◆ ABSPWEIGHT_DIA

int orb5x::ABSPWEIGHT_DIA = 17
constexpr

Sum of absolute second/background weights.

◆ ALP_PIC

int orb5x::ALP_PIC = 2
constexpr

Marker loading/Jacobian factor alpha slot.

◆ antenna

AntennaVariables* orb5x::antenna
extern

Externally imposed antenna configuration.

◆ APA_2D_DIA

int orb5x::APA_2D_DIA = 2
constexpr

Global parallel-vector-potential spectrum.

◆ APA_2D_LOC_DIA

int orb5x::APA_2D_LOC_DIA = 3
constexpr

Radially local parallel-vector-potential spectrum.

◆ basic

BasicVariables* orb5x::basic
extern

Run-control and top-level input state.

◆ BUFFER_DENS_DIA

int orb5x::BUFFER_DENS_DIA = 8
constexpr

Buffer density contribution.

◆ BUFFER_ENERGY_DIA

int orb5x::BUFFER_ENERGY_DIA = 9
constexpr

Buffer energy contribution.

◆ BUFFER_VPLL_DIA

int orb5x::BUFFER_VPLL_DIA = 11
constexpr

Buffer parallel-momentum contribution.

◆ BUFFER_ZF_DIA

int orb5x::BUFFER_ZF_DIA = 10
constexpr

Buffer zonal-flow contribution.

◆ CGRAINED_PIC

int orb5x::CGRAINED_PIC = 6
constexpr

Coarse-grained marker-state flag slot.

◆ CHI_DIA

int orb5x::CHI_DIA = 1
constexpr

Poloidal-angle displacement component.

◆ CHI_PIC

int orb5x::CHI_PIC = 1
constexpr

Poloidal-angle slot in primary marker storage, radians.

◆ cke

int orb5x::cke = 0
constexpr

PSZS kinetic-energy coordinate slot.

◆ CLIGHT

Real orb5x::CLIGHT = 2.9979E8
constexpr

Speed of light in metres per second.

◆ cmu

int orb5x::cmu = 2
constexpr

PSZS magnetic-moment coordinate slot.

◆ collisions

CollisionsVariables* orb5x::collisions
extern

Collision-operator configuration.

◆ ctam

int orb5x::ctam = 1
constexpr

PSZS toroidal-angular-momentum coordinate slot.

◆ CUR_2D_DIA

int orb5x::CUR_2D_DIA = 6
constexpr

Global parallel-current spectrum.

◆ CUR_2D_LOC_DIA

int orb5x::CUR_2D_LOC_DIA = 7
constexpr

Local parallel-current spectrum.

◆ CURV_DIA

int orb5x::CURV_DIA = 3
constexpr

Magnetic-curvature drift contribution.

◆ DENS_WT_PIC

int orb5x::DENS_WT_PIC = 2
constexpr

Density-weight slot in deposition workspace.

◆ DENSITY_LOSSES

int orb5x::DENSITY_LOSSES = 0
constexpr

Lost represented particle number.

◆ DF_AV_2D_DIA

int orb5x::DF_AV_2D_DIA = 0
constexpr

Two-dimensional average of delta f.

◆ DF_VEL_2D_DIA

int orb5x::DF_VEL_2D_DIA = 1
constexpr

delta f on the two-dimensional velocity grid.

◆ DFSUM_3_DIA

int orb5x::DFSUM_3_DIA = 5
constexpr

Cubic signed delta f sum.

◆ DFSUM_4_DIA

int orb5x::DFSUM_4_DIA = 6
constexpr

Quartic delta f sum.

◆ diag

DiagVariables* orb5x::diag
extern

User-facing diagnostic configuration and counters.

◆ diagnostics

DiagnosticsVariables* orb5x::diagnostics
extern

Derived diagnostic work arrays.

◆ DN_PIC

int orb5x::DN_PIC = 2
constexpr

Density increment slot.

◆ DOTPZAPA_DIA

int orb5x::DOTPZAPA_DIA = 7
constexpr

Time-derivative p_z A_parallel contribution.

◆ DV2_PIC

int orb5x::DV2_PIC = 1
constexpr

Squared-speed/energy increment slot.

◆ DVPAR_PIC

int orb5x::DVPAR_PIC = 0
constexpr

Parallel-momentum increment slot.

◆ EBG_DIA

int orb5x::EBG_DIA = 5
constexpr

Background-electric-field contribution.

◆ ECHARGE

Real orb5x::ECHARGE = 1.6021765E-19
constexpr

Elementary charge magnitude in coulombs.

◆ EF1_2D_DIA

int orb5x::EF1_2D_DIA = 0
constexpr

Global first electric-field spectrum.

◆ EF1_2D_LOC_DIA

int orb5x::EF1_2D_LOC_DIA = 1
constexpr

Local first electric-field spectrum.

◆ EF2_2D_DIA

int orb5x::EF2_2D_DIA = 4
constexpr

Global second electric-field spectrum.

◆ EF2_2D_LOC_DIA

int orb5x::EF2_2D_LOC_DIA = 5
constexpr

Local second electric-field spectrum.

◆ EFLUXF0H_DIA

int orb5x::EFLUXF0H_DIA = 0
constexpr

f0 radial heat flux in helical cells.

◆ EFLUXF0ISL_DIA

int orb5x::EFLUXF0ISL_DIA = 0
constexpr

f0-weighted energy flux along perturbed magnetic field.

◆ EFLUXF0ISLH_DIA

int orb5x::EFLUXF0ISLH_DIA = 2
constexpr

f0 heat flux along perturbed field in helical cells.

◆ EFLUXWH_DIA

int orb5x::EFLUXWH_DIA = 1
constexpr

delta f radial heat flux in helical cells.

◆ EFLUXWISL_DIA

int orb5x::EFLUXWISL_DIA = 1
constexpr

delta f-weighted energy flux along perturbed magnetic field.

◆ EFLUXWISLH_DIA

int orb5x::EFLUXWISLH_DIA = 3
constexpr

delta f heat flux along perturbed field in helical cells.

◆ EKINF0_DIA

int orb5x::EKINF0_DIA = 9
constexpr

Equilibrium-distribution kinetic energy.

◆ EKINF0_TR_DIA

int orb5x::EKINF0_TR_DIA = 16
constexpr

Trapped-particle equilibrium kinetic energy.

◆ ENERGY_LOSSES

int orb5x::ENERGY_LOSSES = 1
constexpr

Lost kinetic energy.

◆ ENTROPY_DIA

int orb5x::ENTROPY_DIA = 4
constexpr

Perturbed entropy measure.

◆ ENTROPY_IN_DIA

int orb5x::ENTROPY_IN_DIA = 12
constexpr

Entropy inside the diagnostic volume.

◆ ENTROPY_OUT_DIA

int orb5x::ENTROPY_OUT_DIA = 15
constexpr

Entropy outside the diagnostic volume.

◆ EPSILONO

Real orb5x::EPSILONO = 8.8541878E-12
constexpr

Vacuum permittivity in farads per metre.

◆ equil

EquilVariables* orb5x::equil
extern

Magnetic-equilibrium and normalization state.

◆ ETA_DIA

int orb5x::ETA_DIA = 4
constexpr

Second nonsingular axis-coordinate displacement.

◆ ETRANSF0_DIA

int orb5x::ETRANSF0_DIA = 1
constexpr

Field-to-particle energy transfer weighted by f0.

◆ ETRANSW_DIA

int orb5x::ETRANSW_DIA = 0
constexpr

Field-to-particle energy transfer weighted by delta f.

◆ EULER

Real orb5x::EULER = 0.5772156649015328606065120900824024310422
constexpr

Euler-Mascheroni constant.

◆ EXB_DIA

int orb5x::EXB_DIA = 6
constexpr

ExB drift contribution.

◆ EXBTOR_DIA

int orb5x::EXBTOR_DIA = 5
constexpr

Toroidal ExB flow.

◆ F_AV_2D_DIA

int orb5x::F_AV_2D_DIA = 2
constexpr

Distribution zeroth moment.

◆ F_AVH_DIA

int orb5x::F_AVH_DIA = 7
constexpr

Helically binned distribution zeroth moment.

◆ F_DIA

int orb5x::F_DIA = 3
constexpr

Distribution/density zeroth moment.

◆ F_MS_DIA

int orb5x::F_MS_DIA = 8
constexpr

Square of the mean distribution/density.

◆ F_P_DIA

int orb5x::F_P_DIA = 9
constexpr

Passing-particle distribution zeroth moment.

◆ F_TH_DIA

int orb5x::F_TH_DIA = 3
constexpr

Poloidally binned distribution zeroth moment.

◆ F_TR_DIA

int orb5x::F_TR_DIA = 13
constexpr

Trapped-particle distribution zeroth moment.

◆ F_VEL_2D_DIA

int orb5x::F_VEL_2D_DIA = 2
constexpr

Total distribution on the velocity grid.

◆ FFINIT_PIC

int orb5x::FFINIT_PIC = 3
constexpr

Initial equilibrium-distribution value slot.

◆ FFINIT_PVOL_PIC

int orb5x::FFINIT_PVOL_PIC = 0
constexpr

Initial f0 times marker phase volume.

◆ FIELD_CORR_DIA

int orb5x::FIELD_CORR_DIA = 3
constexpr

Corrected field contribution.

◆ FIELD_DIA

int orb5x::FIELD_DIA = 1
constexpr

Field contribution to fluctuation entropy.

◆ fields

FieldsVariables* orb5x::fields
extern

Field-grid, filtering, and model state.

Referenced by orb5x::ParticleModule::init_distrib_2D_loadRZ().

◆ fields_module

FieldsModule* orb5x::fields_module
extern

Field deposition and solve service.

Referenced by orb5x::AntennaModule::init_antenna().

◆ FIXED_POINT_RTOL

Real orb5x::FIXED_POINT_RTOL = 1.0E-15
constexpr

Relative tolerance for fixed-point iteration.

◆ FLUID_1

int orb5x::FLUID_1 = 0
constexpr

First electron-fluid moment slot.

◆ FLUID_2

int orb5x::FLUID_2 = 1
constexpr

Second electron-fluid moment slot.

◆ FLUID_3

int orb5x::FLUID_3 = 2
constexpr

Third electron-fluid moment slot.

◆ FLUID_4

int orb5x::FLUID_4 = 3
constexpr

Fourth electron-fluid moment slot.

◆ FLUID_5

int orb5x::FLUID_5 = 4
constexpr

Fifth electron-fluid moment slot.

◆ FLUID_6

int orb5x::FLUID_6 = 5
constexpr

Sixth electron-fluid moment slot.

◆ FLUID_7

int orb5x::FLUID_7 = 6
constexpr

Seventh electron-fluid moment slot.

◆ FLUX_CORR_DIA

int orb5x::FLUX_CORR_DIA = 4
constexpr

Corrected flux contribution.

◆ FLUX_DIA

int orb5x::FLUX_DIA = 2
constexpr

Flux contribution to fluctuation entropy.

◆ FLUX_WT_PIC

int orb5x::FLUX_WT_PIC = 1
constexpr

Flux-weight slot in deposition workspace.

◆ FR_DETRAP

int orb5x::FR_DETRAP = 3
constexpr

Transition identifier for trapped-to-passing motion.

◆ FR_PASS

int orb5x::FR_PASS = 1
constexpr

Passing-orbit classification identifier.

◆ FR_RETRAP

int orb5x::FR_RETRAP = 4
constexpr

Transition identifier for passing-to-trapped motion.

◆ FR_TRAP

int orb5x::FR_TRAP = 2
constexpr

Trapped-orbit classification identifier.

◆ FRES

const char* orb5x::FRES = "orb5_res.h5"
constexpr

Main results filename.

◆ FRES2

const char* orb5x::FRES2 = "orb5_traj.h5"
constexpr

Test-particle trajectory filename.

◆ fresid

extern::H5::H5File* orb5x::fresid

Owning main-results handle, or nullptr.

◆ fresid2

extern::H5::H5File* orb5x::fresid2

Owning trajectory-file handle, or nullptr.

◆ FSELECT_APA

int orb5x::FSELECT_APA = 3
constexpr

Select parallel vector potential A_parallel.

◆ FSELECT_PHI

int orb5x::FSELECT_PHI = 1
constexpr

Select fluctuating electrostatic potential phi.

◆ FSELECT_PHI0

int orb5x::FSELECT_PHI0 = 2
constexpr

Select axisymmetric/background potential phi0.

◆ FSIG_AV_DIA

int orb5x::FSIG_AV_DIA = 5
constexpr

Time-averaged distribution-function signal.

◆ FSIG_DIA

int orb5x::FSIG_DIA = 4
constexpr

Instantaneous distribution-function signal.

◆ FU2_AV_2D_DIA

int orb5x::FU2_AV_2D_DIA = 4
constexpr

Parallel-velocity second moment.

◆ FU_AV_2D_DIA

int orb5x::FU_AV_2D_DIA = 3
constexpr

Parallel-velocity first moment.

◆ FVP2_AV_2D_DIA

int orb5x::FVP2_AV_2D_DIA = 5
constexpr

Perpendicular-speed second moment.

◆ GL4_A11

Real orb5x::GL4_A11 = 0.25
constexpr

Gauss-Legendre Butcher coefficient a11.

◆ GL4_A12

Real orb5x::GL4_A12 = -0.038675134594812866
constexpr

Gauss-Legendre Butcher coefficient a12.

◆ GL4_A21

Real orb5x::GL4_A21 = 0.53867513459481287
constexpr

Gauss-Legendre Butcher coefficient a21.

◆ GL4_A22

Real orb5x::GL4_A22 = 0.25
constexpr

Gauss-Legendre Butcher coefficient a22.

◆ GL4_C1

Real orb5x::GL4_C1 = 0.21132486540518713
constexpr

First node of two-stage fourth-order Gauss-Legendre integration.

◆ GL4_C2

Real orb5x::GL4_C2 = 0.78867513459481287
constexpr

Second Gauss-Legendre time node.

◆ GRB_DIA

int orb5x::GRB_DIA = 2
constexpr

Grad-B drift contribution.

◆ GRP_DIA

int orb5x::GRP_DIA = 4
constexpr

Pressure-gradient contribution.

◆ GSUM_2_DIA

int orb5x::GSUM_2_DIA = 24
constexpr

Second raw moment of g.

◆ GSUM_3_DIA

int orb5x::GSUM_3_DIA = 25
constexpr

Third raw moment of g.

◆ GSUM_4_DIA

int orb5x::GSUM_4_DIA = 26
constexpr

Fourth raw moment of g.

◆ GSUM_DIA

int orb5x::GSUM_DIA = 23
constexpr

First raw moment of marker sampling distribution g.

◆ HEAT_DIA

int orb5x::HEAT_DIA = 0
constexpr

Total radial heat flux.

◆ HEAT_DIA_NEO

int orb5x::HEAT_DIA_NEO = 3
constexpr

Neoclassical heat-flux component.

◆ HEAT_P_DIA

int orb5x::HEAT_P_DIA = 9
constexpr

Passing-particle heat flux.

◆ HEAT_P_DIA_NEO

int orb5x::HEAT_P_DIA_NEO = 13
constexpr

Neoclassical passing heat flux.

◆ HEAT_TR_DIA

int orb5x::HEAT_TR_DIA = 10
constexpr

Trapped-particle heat flux.

◆ HEAT_TR_DIA_NEO

int orb5x::HEAT_TR_DIA_NEO = 14
constexpr

Neoclassical trapped heat flux.

◆ HEATING_DENS_DIA

int orb5x::HEATING_DENS_DIA = 4
constexpr

Heating-source density contribution.

◆ HEATING_ENERGY_DIA

int orb5x::HEATING_ENERGY_DIA = 5
constexpr

Heating-source energy contribution.

◆ HEATING_VPLL_DIA

int orb5x::HEATING_VPLL_DIA = 7
constexpr

Heating-source parallel-momentum contribution.

◆ HEATING_ZF_DIA

int orb5x::HEATING_ZF_DIA = 6
constexpr

Heating-source zonal-flow contribution.

◆ ID_PIC

int orb5x::ID_PIC = 0
constexpr

Globally persistent marker identifier slot.

◆ ILARM_PIC

int orb5x::ILARM_PIC = 1
constexpr

Offset of the first gyroaveraging point.

◆ INNER_EDGE

int orb5x::INNER_EDGE = 0
constexpr

Inner-radial-boundary loss slot.

◆ INPUT_FILENAME

const char* orb5x::INPUT_FILENAME = "input"
constexpr

Default namelist input filename.

◆ islands

IslandsVariables* orb5x::islands
extern

Prescribed magnetic-island configuration.

◆ JBOOT_DIA

int orb5x::JBOOT_DIA = 6
constexpr

Bootstrap-current moment.

◆ JDOTE_DIA

int orb5x::JDOTE_DIA = 13
constexpr

Species energy transfer j dot E.

◆ KBOLTZ

Real orb5x::KBOLTZ = 1.3806E-23
constexpr

Boltzmann constant in joules per kelvin.

◆ KSI_DIA

int orb5x::KSI_DIA = 3
constexpr

First nonsingular axis-coordinate displacement.

◆ KSIETA_PIC

int orb5x::KSIETA_PIC = 0
constexpr

Low-discrepancy loading-state slot.

◆ LNLAM

Real orb5x::LNLAM = 15.0
constexpr

Reference Coulomb logarithm, dimensionless.

◆ LOSSES_MOMENTS

int orb5x::LOSSES_MOMENTS = 3
constexpr

Number of tracked loss moments.

◆ lu_dat

int orb5x::lu_dat = 99
constexpr

Legacy generic-data unit.

◆ lu_datn

int orb5x::lu_datn = 32
constexpr

Legacy density-data unit.

◆ lu_datv

int orb5x::lu_datv = 100
constexpr

Legacy velocity-data unit.

◆ lu_debug

int orb5x::lu_debug = 13
constexpr

Legacy debug-log unit.

◆ lu_denprofs

int orb5x::lu_denprofs = 89
constexpr

Legacy density-profile unit.

◆ lu_f0

int orb5x::lu_f0 = 90
constexpr

Legacy numerical-f0 unit.

◆ lu_fields

int orb5x::lu_fields = 96
constexpr

Legacy saved-field unit.

◆ lu_input

int orb5x::lu_input = 16
constexpr

Legacy Fortran unit reserved for namelist input.

◆ lu_io

int orb5x::lu_io = 14
constexpr

Legacy general I/O unit.

◆ lu_kprofs

int orb5x::lu_kprofs = 88
constexpr

Legacy gradient-profile unit.

◆ lu_noh5

int orb5x::lu_noh5 = 63
constexpr

Legacy non-HDF5 output unit.

◆ lu_optidat

int orb5x::lu_optidat = 75
constexpr

Legacy optimized-loading data unit.

◆ lu_p1

int orb5x::lu_p1 = 81
constexpr

Legacy first potential-component unit.

◆ lu_p2

int orb5x::lu_p2 = 83
constexpr

Legacy second potential-component unit.

◆ lu_profiles

int orb5x::lu_profiles = 78
constexpr

Legacy equilibrium-profile unit.

◆ lu_profs

int orb5x::lu_profs = 87
constexpr

Legacy species-profile unit.

◆ lu_pszs

int orb5x::lu_pszs = 36
constexpr

Legacy PSZS-output unit.

◆ lu_res

int orb5x::lu_res = 34
constexpr

Legacy results unit.

◆ lu_restime

int orb5x::lu_restime = 35
constexpr

Legacy restart-timing unit.

◆ lu_stop

int orb5x::lu_stop = 31
constexpr

Legacy stop/status-file unit.

◆ lu_test

int orb5x::lu_test = 33
constexpr

Legacy test-output unit.

◆ lu_testpart

int orb5x::lu_testpart = 77
constexpr

Legacy test-particle input unit.

◆ lu_tkdat

int orb5x::lu_tkdat = 97
constexpr

Legacy toolkit-data unit.

◆ lu_tklog

int orb5x::lu_tklog = 98
constexpr

Legacy toolkit-log unit.

◆ lu_traj

int orb5x::lu_traj = 95
constexpr

Legacy trajectory-output unit.

◆ lu_version

int orb5x::lu_version = 15
constexpr

Legacy version-file unit.

◆ MATS

MatArray orb5x::MATS
extern

◆ MAX_PIC2_C

int orb5x::MAX_PIC2_C = 7
constexpr

Auxiliary marker reals with coarse-graining extras.

◆ MAX_PIC2_NC

int orb5x::MAX_PIC2_NC = 5
constexpr

Auxiliary marker reals without coarse-graining extras.

◆ MAX_PIC3

int orb5x::MAX_PIC3 = 2
constexpr

Integer/flag values in tertiary marker storage.

◆ MAX_PIC4

int orb5x::MAX_PIC4 = 1
constexpr

64-bit integer values stored per marker.

◆ MAX_WORK_C

int orb5x::MAX_WORK_C = 6
constexpr

Primary marker reals with the second weight.

◆ MAX_WORK_NC

int orb5x::MAX_WORK_NC = 5
constexpr

Primary marker reals without the second weight.

◆ MEMKSA

Real orb5x::MEMKSA = 9.1094E-31
constexpr

Electron mass in kilograms.

◆ MIMKSA

Real orb5x::MIMKSA = 1.6726231E-27
constexpr

Reference proton/ion mass in kilograms.

◆ moments_3d_size

int orb5x::moments_3d_size = 8
constexpr

Number of standard 3-D moments.

◆ MOMENTUM_DIA

int orb5x::MOMENTUM_DIA = 2
constexpr

Total radial parallel-momentum flux.

◆ MOMENTUM_DIA_NEO

int orb5x::MOMENTUM_DIA_NEO = 5
constexpr

Neoclassical momentum-flux component.

◆ MPR_2D_ID_JDOTE_ES

int orb5x::MPR_2D_ID_JDOTE_ES = 0
constexpr

Electrostatic j dot E transfer.

◆ MPR_2D_ID_JDOTE_ES_S1

int orb5x::MPR_2D_ID_JDOTE_ES_S1 = 1
constexpr

Electrostatic j dot E in the selected radial interval.

◆ MPR_2D_SIZE

int orb5x::MPR_2D_SIZE = 2
constexpr

Number of mode-particle-resonance 2-D quantities.

◆ MU0

Real orb5x::MU0 = 4.0 * PI * 1e-7
constexpr

Vacuum permeability in henries per metre.

◆ MU_PIC

int orb5x::MU_PIC = 0
constexpr

Normalized magnetic-moment slot in auxiliary storage.

◆ N_DF_AV_2D_DIA

int orb5x::N_DF_AV_2D_DIA = 1
constexpr

Marker-count-weighted average of delta f.

◆ N_VEL_2D_DIA

int orb5x::N_VEL_2D_DIA = 0
constexpr

Marker count on the two-dimensional velocity grid.

◆ NBIN_EN

int orb5x::NBIN_EN = 32
constexpr

Default heating energy bins.

◆ NBIN_LAM

int orb5x::NBIN_LAM = 64
constexpr

Default electron pitch lambda bins.

◆ NBIN_MU

int orb5x::NBIN_MU = 128
constexpr

Magnetic-moment bins for bounce-averaged v_parallel/B.

◆ NBIN_PSI0

int orb5x::NBIN_PSI0 = 64
constexpr

Flux bins for bounce-averaged v_parallel/B.

◆ NBIN_R

int orb5x::NBIN_R = 64
constexpr

Default heating radial bins.

◆ NBIN_S

int orb5x::NBIN_S = 32
constexpr

Default electron radial bins.

◆ NBIN_THETA

int orb5x::NBIN_THETA = 64
constexpr

Default electron poloidal-angle bins.

◆ NBIN_XI

int orb5x::NBIN_XI = 64
constexpr

Default electron pitch-cosine xi bins.

◆ NCONTROL_DENS_DIA

int orb5x::NCONTROL_DENS_DIA = 0
constexpr

Noise-control density correction.

◆ NCONTROL_ENERGY_DIA

int orb5x::NCONTROL_ENERGY_DIA = 1
constexpr

Noise-control energy correction.

◆ NCONTROL_VPLL_DIA

int orb5x::NCONTROL_VPLL_DIA = 3
constexpr

Noise-control parallel-momentum correction.

◆ NCONTROL_ZF_DIA

int orb5x::NCONTROL_ZF_DIA = 2
constexpr

Noise-control zonal-flow correction.

◆ ndump

int orb5x::ndump = 12
constexpr

Legacy unit for formatted restart dumps.

◆ ndump_bin_a

int orb5x::ndump_bin_a = 11
constexpr

Legacy unit for binary array dumps.

◆ ndump_bin_p

int orb5x::ndump_bin_p = 10
constexpr

Legacy unit for binary particle dumps.

◆ NLARM_PIC

int orb5x::NLARM_PIC = 0
constexpr

Number of gyroaveraging points in Larmor metadata.

◆ NOISE_AV_DIA

int orb5x::NOISE_AV_DIA = 7
constexpr

Time-averaged particle-noise estimator.

◆ NOISE_DIA

int orb5x::NOISE_DIA = 6
constexpr

Instantaneous particle-noise estimator.

◆ NPTOT_PRE

Int8 orb5x::NPTOT_PRE = 100000000
constexpr

Samples used by adiabatic-density precomputation.

◆ NUMBER_SOURCE_DIAG

int orb5x::NUMBER_SOURCE_DIAG = 12
constexpr

Number of one-dimensional source diagnostics.

◆ NXI

int orb5x::NXI = 8
constexpr

Helical-angle bins in magnetic-island diagnostics.

◆ OMP_ZERO

int orb5x::OMP_ZERO = 0
constexpr

Zero offset used by OpenMP-compatible indexing paths.

◆ OUTER_EDGE

int orb5x::OUTER_EDGE = 1
constexpr

Outer-radial-boundary loss slot.

◆ P_PIC

int orb5x::P_PIC = 5
constexpr

Background/second-weight slot when two weights are enabled.

◆ PAR_DIA

int orb5x::PAR_DIA = 1
constexpr

Parallel-electric-field contribution.

◆ PARAFRES

const char* orb5x::PARAFRES = "orb5_res_parallel.h5"
constexpr

Parallel results filename.

◆ parafresid

extern::H5::H5File* orb5x::parafresid

Owning parallel-results handle, or nullptr.

◆ parallel

ParallelVariables* orb5x::parallel
extern

MPI topology and host-thread state.

◆ parmove_module

ParMove* orb5x::parmove_module
extern

Toroidal particle-exchange service.

◆ part_fields_module

PartFieldsModule * orb5x::part_fields_module
extern

Marker-to-field interpolation service.

◆ PARTICLE_DIA

int orb5x::PARTICLE_DIA = 1
constexpr

Total radial particle flux.

◆ PARTICLE_DIA_NEO

int orb5x::PARTICLE_DIA_NEO = 4
constexpr

Neoclassical particle-flux component.

◆ particle_module

ParticleModule * orb5x::particle_module
extern

Marker loading and push service.

◆ PARTICLE_P_DIA

int orb5x::PARTICLE_P_DIA = 11
constexpr

Passing-particle particle flux.

◆ PARTICLE_P_DIA_NEO

int orb5x::PARTICLE_P_DIA_NEO = 15
constexpr

Neoclassical passing particle flux.

◆ PARTICLE_TR_DIA

int orb5x::PARTICLE_TR_DIA = 12
constexpr

Trapped-particle particle flux.

◆ PARTICLE_TR_DIA_NEO

int orb5x::PARTICLE_TR_DIA_NEO = 16
constexpr

Neoclassical trapped particle flux.

◆ PARTQUANTS_NUMELS

int orb5x::PARTQUANTS_NUMELS = 20
constexpr

Marker quantities written per test-particle record.

◆ PEKIN_DIA

int orb5x::PEKIN_DIA = 7
constexpr

Marker-weighted kinetic energy.

◆ PHASE_DF_DIA

int orb5x::PHASE_DF_DIA = 3
constexpr

Binned delta f.

◆ PHASE_F0_DIA

int orb5x::PHASE_F0_DIA = 5
constexpr

Binned equilibrium distribution.

◆ PHASE_NUMPART_DIA

int orb5x::PHASE_NUMPART_DIA = 0
constexpr

Marker count in each phase-space bin.

◆ PHASE_P_DIA

int orb5x::PHASE_P_DIA = 4
constexpr

Background/second-weight sum.

◆ PHASE_PVOL_DIA

int orb5x::PHASE_PVOL_DIA = 1
constexpr

Phase-space-volume sum.

◆ PHASE_W2_DIA

int orb5x::PHASE_W2_DIA = 6
constexpr

Squared perturbation-weight sum.

◆ PHASE_W_DIA

int orb5x::PHASE_W_DIA = 2
constexpr

Perturbation-weight sum.

◆ PHI_2D_DIA

int orb5x::PHI_2D_DIA = 0
constexpr

Global electrostatic-potential spectrum.

◆ PHI_2D_LOC_DIA

int orb5x::PHI_2D_LOC_DIA = 1
constexpr

Radially local electrostatic-potential spectrum.

◆ PHI_DIA

int orb5x::PHI_DIA = 2
constexpr

Toroidal-angle displacement component.

◆ PHI_PIC

int orb5x::PHI_PIC = 2
constexpr

Toroidal-angle slot in primary marker storage, radians.

◆ PI

Real orb5x::PI = 3.141592653589793238462643383279502884197
constexpr

Circle constant pi.

◆ PIO2

Real orb5x::PIO2 = 1.57079632679489661923132169163975144209858
constexpr

Half pi, radians.

◆ PNUMB_DIA

int orb5x::PNUMB_DIA = 3
constexpr

Total represented particle number.

◆ PNUMB_IN_DIA

int orb5x::PNUMB_IN_DIA = 11
constexpr

Particle number inside the diagnostic volume.

◆ PNUMB_OUT_DIA

int orb5x::PNUMB_OUT_DIA = 14
constexpr

Particle number outside the diagnostic volume.

◆ POLARISATION_TERM_DIVP0

int orb5x::POLARISATION_TERM_DIVP0 = 9
constexpr

Divergence of equilibrium polarization P0.

◆ POLARISATION_TERM_DIVQ0

int orb5x::POLARISATION_TERM_DIVQ0 = 10
constexpr

Divergence of equilibrium polarization flux Q0.

◆ POLARISATION_TERM_P0

int orb5x::POLARISATION_TERM_P0 = 11
constexpr

Equilibrium polarization P0 term.

◆ POLARISATION_TERM_Q0

int orb5x::POLARISATION_TERM_Q0 = 12
constexpr

Equilibrium polarization flux Q0 term.

◆ POLPROD_DIA

int orb5x::POLPROD_DIA = 5
constexpr

Polarization-product moment.

◆ PSI0CORR_PIC

int orb5x::PSI0CORR_PIC = 4
constexpr

Corrected invariant-flux coordinate slot.

◆ pszs

std::vector<PszsVariables>* orb5x::pszs
extern

Per-species phase-space zonal-structure state.

◆ PULLBACK_DIA

int orb5x::PULLBACK_DIA = 8
constexpr

Pullback-transformation contribution.

◆ PVOL_PIC

int orb5x::PVOL_PIC = 1
constexpr

Marker phase-space-volume slot.

◆ PWEIGHTSUM_2_DIA

int orb5x::PWEIGHTSUM_2_DIA = 19
constexpr

Second raw moment of the second weight.

◆ PWEIGHTSUM_3_DIA

int orb5x::PWEIGHTSUM_3_DIA = 20
constexpr

Third raw moment of the second weight.

◆ PWEIGHTSUM_4_DIA

int orb5x::PWEIGHTSUM_4_DIA = 21
constexpr

Fourth raw moment of the second weight.

◆ PWEIGHTSUM_DIA

int orb5x::PWEIGHTSUM_DIA = 18
constexpr

First raw moment of the second weight.

◆ QP_DIA

int orb5x::QP_DIA = 4
constexpr

Parallel heat-flux moment.

◆ REV_ALP

int orb5x::REV_ALP = 6
constexpr

Bit-reversed sequence for loading factor alpha.

◆ REV_ETA

int orb5x::REV_ETA = 1
constexpr

Bit-reversed sequence for the second spatial coordinate.

◆ REV_KSI

int orb5x::REV_KSI = 0
constexpr

Bit-reversed sequence for the first spatial coordinate.

◆ REV_V1

int orb5x::REV_V1 = 2
constexpr

Bit-reversed sequence for the first velocity coordinate.

◆ REV_V2

int orb5x::REV_V2 = 3
constexpr

Bit-reversed sequence for the second velocity coordinate.

◆ REV_V3

int orb5x::REV_V3 = 5
constexpr

Bit-reversed sequence for the third velocity coordinate.

◆ REV_W

int orb5x::REV_W = 4
constexpr

Bit-reversed sequence for marker weights.

◆ RHO_2D_DIA

int orb5x::RHO_2D_DIA = 2
constexpr

Global charge-density spectrum.

◆ RHO_2D_LOC_DIA

int orb5x::RHO_2D_LOC_DIA = 3
constexpr

Local charge-density spectrum.

◆ RHOG_PIC

int orb5x::RHOG_PIC = 2
constexpr

Normalized gyroradius in Larmor metadata.

◆ S_DIA

int orb5x::S_DIA = 0
constexpr

Radial displacement component.

◆ S_PIC

int orb5x::S_PIC = 0
constexpr

Radial-coordinate slot in primary marker storage.

◆ S_PROD_DIA

int orb5x::S_PROD_DIA = 0
constexpr

Entropy-production term.

◆ SAMP_DF_DIA

int orb5x::SAMP_DF_DIA = 3
constexpr

Sampled delta f.

◆ SAMP_F0_DIA

int orb5x::SAMP_F0_DIA = 5
constexpr

Sampled equilibrium distribution.

◆ SAMP_NUMPART_DIA

int orb5x::SAMP_NUMPART_DIA = 0
constexpr

Marker count in each sampling bin.

◆ SAMP_P_DIA

int orb5x::SAMP_P_DIA = 4
constexpr

Summed background/second weight.

◆ SAMP_PVOL_DIA

int orb5x::SAMP_PVOL_DIA = 1
constexpr

Summed marker phase-space volume.

◆ SAMP_W2_DIA

int orb5x::SAMP_W2_DIA = 6
constexpr

Summed squared perturbation weight.

◆ SAMP_W_DIA

int orb5x::SAMP_W_DIA = 2
constexpr

Summed perturbation weight.

◆ SIGNAL_AV_DIA

int orb5x::SIGNAL_AV_DIA = 1
constexpr

Time-averaged total signal estimator.

◆ SIGNAL_DIA

int orb5x::SIGNAL_DIA = 0
constexpr

Instantaneous total signal estimator.

◆ SIGNAL_NONZONAL_AV_DIA

int orb5x::SIGNAL_NONZONAL_AV_DIA = 3
constexpr

Time-averaged nonzonal signal estimator.

◆ SIGNAL_NONZONAL_DIA

int orb5x::SIGNAL_NONZONAL_DIA = 2
constexpr

Instantaneous nonzonal signal estimator.

◆ slope_line

Real orb5x::slope_line = 0.0
constexpr

Slope of the optimized-loading weight-limit line.

◆ solver

SolverVariables* orb5x::solver
extern

Quasineutrality and Ampere solver configuration.

◆ sorting

SortingVariables* orb5x::sorting
extern

Particle binning and sorting configuration.

◆ SOURCE_3D_DN_DIA

int orb5x::SOURCE_3D_DN_DIA = 1
constexpr

Three-dimensional source density rate.

◆ SOURCE_3D_POWER_DIA

int orb5x::SOURCE_3D_POWER_DIA = 0
constexpr

Three-dimensional deposited source power.

◆ species

std::vector<SpeciesVariables>* orb5x::species
extern

Per-species physical and numerical state.

◆ SQRT2

Real orb5x::SQRT2 = 1.41421356237309504880168872420969807856967
constexpr

Square root of two.

◆ SUMF0_DIA

int orb5x::SUMF0_DIA = 8
constexpr

Marker sum of equilibrium distribution.

◆ T2GAUSS

Real orb5x::T2GAUSS = 1.e4
constexpr

Number of gauss per tesla.

◆ thresh

Real orb5x::thresh = 23.0
constexpr

Threshold parameter of optimized marker loading.

◆ TMP_PHI_PIC

int orb5x::TMP_PHI_PIC = 5
constexpr

Temporary toroidal coordinate used by coarse graining.

◆ TOR_MOMENTUM_DIA

int orb5x::TOR_MOMENTUM_DIA = 6
constexpr

Toroidal-momentum flux.

◆ TOR_MOMENTUM_DIA_NEO

int orb5x::TOR_MOMENTUM_DIA_NEO = 7
constexpr

Neoclassical toroidal-momentum flux.

◆ TOR_REYNOLDS_DIA

int orb5x::TOR_REYNOLDS_DIA = 8
constexpr

Toroidal Reynolds-stress contribution.

◆ TOT_DIA

int orb5x::TOT_DIA = 0
constexpr

Total j dot E energy transfer.

◆ TRAP_PIC

int orb5x::TRAP_PIC = 1
constexpr

Trapped/passing classification slot.

◆ TWOPI

Real orb5x::TWOPI = 6.283185307179586476925286766559005768394
constexpr

Full angular period, radians.

◆ U_DIA

int orb5x::U_DIA = 5
constexpr

Parallel-velocity displacement component.

◆ U_PIC

int orb5x::U_PIC = 3
constexpr

Normalized parallel-velocity slot.

◆ UT2_DIA

int orb5x::UT2_DIA = 1
constexpr

Parallel-velocity second moment.

◆ UT2_P_DIA

int orb5x::UT2_P_DIA = 7
constexpr

Passing-particle parallel-velocity second moment.

◆ UT2_TR_DIA

int orb5x::UT2_TR_DIA = 11
constexpr

Trapped-particle parallel-velocity second moment.

◆ UT_DIA

int orb5x::UT_DIA = 0
constexpr

Parallel-velocity first moment.

◆ UT_MS_DIA

int orb5x::UT_MS_DIA = 7
constexpr

Square of the mean parallel velocity.

◆ UT_P_DIA

int orb5x::UT_P_DIA = 6
constexpr

Passing-particle parallel-velocity first moment.

◆ UT_TR_DIA

int orb5x::UT_TR_DIA = 10
constexpr

Trapped-particle parallel-velocity first moment.

◆ UW_PIC

int orb5x::UW_PIC = 3
constexpr

Parallel-velocity-times-weight workspace slot.

◆ V_PAR2_AVH_DIA

int orb5x::V_PAR2_AVH_DIA = 5
constexpr

Helically binned parallel-velocity second moment.

◆ V_PAR2_TH_DIA

int orb5x::V_PAR2_TH_DIA = 1
constexpr

Poloidally binned parallel-speed squared.

◆ V_PAR_AVH_DIA

int orb5x::V_PAR_AVH_DIA = 4
constexpr

Helically binned parallel-velocity first moment.

◆ V_PAR_TH_DIA

int orb5x::V_PAR_TH_DIA = 0
constexpr

Poloidally binned parallel-velocity moment.

◆ V_PERP2_AVH_DIA

int orb5x::V_PERP2_AVH_DIA = 6
constexpr

Helically binned perpendicular-speed second moment.

◆ V_PERP2_TH_DIA

int orb5x::V_PERP2_TH_DIA = 2
constexpr

Poloidally binned perpendicular-speed squared.

◆ vernum

Real orb5x::vernum = 1.0
constexpr

Legacy numeric ORB5X file/version identifier.

◆ VPLL_LOSSES

int orb5x::VPLL_LOSSES = 2
constexpr

Lost parallel momentum.

◆ VPLTOR_DIA

int orb5x::VPLTOR_DIA = 4
constexpr

Toroidal projection of parallel flow.

◆ VPT2_DIA

int orb5x::VPT2_DIA = 2
constexpr

Perpendicular-speed second moment.

◆ VPT2_P_DIA

int orb5x::VPT2_P_DIA = 8
constexpr

Passing-particle perpendicular-speed second moment.

◆ VPT2_TR_DIA

int orb5x::VPT2_TR_DIA = 12
constexpr

Trapped-particle perpendicular-speed second moment.

◆ VPT_PIC

int orb5x::VPT_PIC = 1
constexpr

Normalized perpendicular-speed quantity.

◆ W_AVERAGE

int orb5x::W_AVERAGE = 0
constexpr

Mean marker weight.

◆ W_DIA

int orb5x::W_DIA = 6
constexpr

Marker-weight displacement component.

◆ W_PIC

int orb5x::W_PIC = 4
constexpr

Perturbed-distribution weight slot.

◆ W_VARIANCE

int orb5x::W_VARIANCE = 4
constexpr

Marker-weight variance.

◆ WADI_AVERAGE

int orb5x::WADI_AVERAGE = 2
constexpr

Mean adiabatic marker weight.

◆ WADI_VARIANCE

int orb5x::WADI_VARIANCE = 6
constexpr

Adiabatic-weight variance.

◆ wLimitFrac

Real orb5x::wLimitFrac = 10.0
constexpr

Initial fractional marker-weight limit.

◆ wLimitFracLimit

Real orb5x::wLimitFracLimit = 200.0
constexpr

Maximum fractional marker-weight limit.

◆ WV_AVERAGE

int orb5x::WV_AVERAGE = 1
constexpr

Mean velocity-weighted marker weight.

◆ WV_VARIANCE

int orb5x::WV_VARIANCE = 5
constexpr

Velocity-weighted marker-weight variance.

◆ WVADI_AVERAGE

int orb5x::WVADI_AVERAGE = 3
constexpr

Mean velocity-weighted adiabatic weight.

◆ WVADI_VARIANCE

int orb5x::WVADI_VARIANCE = 7
constexpr

Velocity-weighted adiabatic-weight variance.