ORB5X 1.0.0
Performance-portable global electromagnetic gyrokinetic PIC code
Loading...
Searching...
No Matches
Input and output

Input

ORB5X accepts the established ORB5 input structure. orb5x::ReadInput parses sections into typed state groups in globals.hpp, validates combinations, and computes derived values during module initialization. Integer nsel_* controls originate in the Fortran interface; prec_const.hpp provides named C++ enums for their meanings. Prefer named enumerators in new C++ code.

Paths to equilibrium, profile, checkpoint, and diagnostic files are interpreted relative to the run directory unless a module documents otherwise. Keep the complete input and the exact Git revision with every result.

Main results

The conventional main result file is orb5_res.h5. Parallel and test-particle products use the names declared in globals.hpp. The exact hierarchy depends on enabled diagnostics. orb5x::ControlAll owns file creation/open/close and run metadata, while diagnostic modules create their groups and datasets.

Restart and checkpointing

Checkpoint paths serialize fields, markers, and run state required to continue a case. A restart is valid only when decomposition, model selections, and persisted array layouts are compatible. Validate continuation by comparing conserved quantities and a short overlapping trajectory, not merely by checking that the file opens.

Performance data

orb5x::Profiler records named regions and can print or write aggregate timing. Timing is collective where the caller makes it collective; do not compare rank- local regions as if they represented whole-job wall time.

Three-dimensional visualization

orb5x::Vis3d writes configured meshes and field arrays in HDF5-based PIXIE/XDMF forms. Coordinate transforms distinguish magnetic coordinates \((s,\chi,\varphi)\) from Cartesian visualization coordinates. Data precision, mesh limits, and local/distributed layout are selected by orb5x::Diag3dParameters.