|
| static void | broadcast_file_related_variables (int &datn) |
| | Broadcast file-generation state from world rank zero.
|
| |
| static void | check_MPI_types () |
| | Verify that ORB5X scalar types match their MPI datatypes.
|
| |
| static void | close_hdf5_files () |
| | Flush diagnostics and close all main, parallel, test, and PSZS files.
|
| |
| static void | control (int argc=0, char *argv[]=nullptr) |
| | Run ORB5X from command-line parsing through final shutdown.
|
| |
| static void | copy_hdf5_to_main_directory (int datn) |
| | Copy result and restart artifacts to the launch directory.
|
| |
| static void | create_data_directory () |
| | Create restart-generation directories record_path/0 and /1.
|
| |
| static void | create_group_if_not_exists (H5::H5File *file, const std::string &group_path, const std::string &description="") |
| | Recursively ensure an HDF5 group path exists.
|
| |
| static void | create_hdf5_file () |
| | Create a new main result file and its top-level metadata groups.
|
| |
| static void | create_hdf5_testpart_file () |
| | Create the root-owned test-particle result file when requested.
|
| |
| static void | create_parallel_hdf5_file () |
| | Collectively create and initialize the parallel result file.
|
| |
| static void | date (const std::string &str) |
| | Print a labeled local wall-clock date on world rank zero.
|
| |
| static H5::H5File * | get_hdf5_file_handle () |
| | Access the main serial result-file handle.
|
| |
| static void | increment_run_counter () |
| | Increment /parameters/run_number and update diagnostic state.
|
| |
| static void | initialize_all_modules (int datn) |
| | Initialize numerical modules in their required dependency order.
|
| |
| static void | initialize_run_counter () |
| | Set the run counter to one and persist it in the result file.
|
| |
| static void | open_hdf5_file () |
| | Open the existing main orb5_res.h5 result file read/write.
|
| |
| static void | open_hdf5_testpart_file () |
| | Open the root-owned test-particle result file when requested.
|
| |
| static void | open_parallel_hdf5_file () |
| | Collectively open the spatial-domain parallel result file.
|
| |
| static void | parse_program_arguments (int argc, char *argv[], bool &nl_input_path, std::string &input_path) |
| | Interpret the input-file and dry-run command-line options.
|
| |
| static void | prepare_density () |
| | Construct density profiles needed before particle initialization.
|
| |
| static void | print_run_label () |
| | Print the ORB5X run banner on world rank zero.
|
| |
| static void | restart_end_time () |
| | Enforce the configured normalized-physics-time limit after restart.
|
| |
| static void | run_file_check (int &datn) |
| | Validate restart-control files and read the active generation.
|
| |
| static void | store_commit_hash () |
| | Store available build revision, diff, and environment provenance.
|
| |
| static void | store_input_file () |
| | Archive the exact input text as /run_info/input/run_NN.
|
| |
| static void | store_species_info () |
| | Store configured species names under /parameters/species_names.
|
| |
| static void | summarize_run () |
| | Print the validated geometry, species, timestep, and grid summary.
|
| |
| static void | write_checkpoint () |
| | Write a complete alternating-generation restart checkpoint.
|
| |
Coordinate the complete lifetime of an ORB5X simulation.
ControlAll is the application-level orchestrator. It reads and validates input, establishes the MPI topology, creates or reopens result files, initializes physics modules in dependency order, advances the timestep loop, writes alternating restart generations, and performs ordered shutdown. Numerical kernels remain in their owning modules; this class connects them and owns the ordering and rank/communicator rules of the run.
The class is static because one process participates in exactly one active ORB5X run. Shared module state and HDF5 handles live in globals.hpp.
| static void orb5x::ControlAll::initialize_all_modules |
( |
int |
datn | ) |
|
|
static |
Initialize numerical modules in their required dependency order.
- Parameters
-
| [in] | datn | Active restart generation, either 0 or 1. |
This includes equilibrium and mesh construction, fields, particles, diagnostics, optional electron-fluid and source models, and either restart restoration or fresh distribution loading.
| static void orb5x::ControlAll::write_checkpoint |
( |
| ) |
|
|
static |
Write a complete alternating-generation restart checkpoint.
A checkpoint is triggered by the configured wall-time interval or the myres control file. The routine switches generation 0/1, serializes particle and field state (plus enabled optional modules), copies completed artifacts, and reopens files needed to continue the run.