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

Coordinates collective run termination and resource teardown. More...

#include "epilogue.hpp"

Static Public Member Functions

static void abnormal_end ()
 Release solver state and report an abnormal exit on the world root.
static void normal_end ()
 Write final diagnostics/checkpoints and release normal-run resources.
static void reset_run_is_complete_state_for_tests ()
 Reset cached completion state; intended only for isolated tests.
static bool run_is_complete (int step)
 Decide collectively whether the main timestep loop must stop.

Detailed Description

Coordinates collective run termination and resource teardown.

Epilogue is called by the top-level control loop after each step and at normal or exceptional termination. It combines physics-step, wall-clock, and external-stop criteria across MPI ranks, then closes diagnostics and solver resources in the order required before MPI/Kokkos finalization.

Member Function Documentation

◆ abnormal_end()

void orb5x::Epilogue::abnormal_end ( )
static

Release solver state and report an abnormal exit on the world root.

◆ normal_end()

void orb5x::Epilogue::normal_end ( )
static

Write final diagnostics/checkpoints and release normal-run resources.

◆ reset_run_is_complete_state_for_tests()

void orb5x::Epilogue::reset_run_is_complete_state_for_tests ( )
static

Reset cached completion state; intended only for isolated tests.

◆ run_is_complete()

bool orb5x::Epilogue::run_is_complete ( int step)
static

Decide collectively whether the main timestep loop must stop.

Parameters
[in]stepCurrent global timestep.
Returns
True when nrun is reached, wall-clock reserve is insufficient, or the root rank reads a stop request from mystop; MPI logical-OR makes the decision identical on all ranks.

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