← Documentation
ADS-IDAC Engine 5.0.0
SolverCallback Class Referenceabstract

Callback interface that the engine implements to receive notifications from the solver. More...

#include <ThermalHydraulicSolver.h>

Inheritance diagram for SolverCallback:
[legend]

Public Member Functions

virtual ~SolverCallback ()=default
 
virtual void onEvaluationPoint (ThermalHydraulicSolver &solver)=0
 Called at each evaluation point (~0.5s simulation time intervals). RelapSolver routes the Fortran interfc_() callback here; RestApiSolver calls it after every 0.5 s advance. The engine performs crew scanning, diagnosis, branching decisions here. More...
 
virtual void onScenarioStart (ThermalHydraulicSolver &solver)=0
 Called once at the start of each scenario/sequence. RelapSolver routes the Fortran secini_() callback here; RestApiSolver calls it at the start of every runSequence(). The engine updates parameter values and initializes the control panel. More...
 
virtual void onFirstInit (ThermalHydraulicSolver &solver)=0
 Called once for the entire simulation during first initialization. RelapSolver routes the Fortran actonce_() callback here; RestApiSolver calls it on the first runSequence() of the solver object, before onScenarioStart(). The engine reads configuration files and initializes all modules. More...
 
virtual void onTimestepAction (ThermalHydraulicSolver &solver)=0
 Called at each timestep for action execution. RelapSolver routes the Fortran actte_() callback here; RestApiSolver never calls it. More...
 
virtual void onBranchingPoint (ThermalHydraulicSolver &solver)=0
 Called when a branching point is reached during simulation. RelapSolver routes the Fortran initiate_branching_() callback here; RestApiSolver calls it after taking a checkpoint, when the engine has set the gen-node flag and more than one branch. In MPI mode, handles peer-to-peer restart data exchange. More...
 

Detailed Description

Callback interface that the engine implements to receive notifications from the solver.

The solver calls these methods at specific points during sequence execution. Each callback receives a reference to the solver for state queries and interventions.

Definition at line 22 of file ThermalHydraulicSolver.h.

Constructor & Destructor Documentation

◆ ~SolverCallback()

virtual SolverCallback::~SolverCallback ( )
virtualdefault

Member Function Documentation

◆ onBranchingPoint()

virtual void SolverCallback::onBranchingPoint ( ThermalHydraulicSolver &  solver)
pure virtual

Called when a branching point is reached during simulation. RelapSolver routes the Fortran initiate_branching_() callback here; RestApiSolver calls it after taking a checkpoint, when the engine has set the gen-node flag and more than one branch. In MPI mode, handles peer-to-peer restart data exchange.

Implemented in AdsidacCallback.

Referenced by RestApiSolver::runSequence().

Here is the caller graph for this function:

◆ onEvaluationPoint()

virtual void SolverCallback::onEvaluationPoint ( ThermalHydraulicSolver &  solver)
pure virtual

Called at each evaluation point (~0.5s simulation time intervals). RelapSolver routes the Fortran interfc_() callback here; RestApiSolver calls it after every 0.5 s advance. The engine performs crew scanning, diagnosis, branching decisions here.

Implemented in AdsidacCallback.

Referenced by RestApiSolver::runSequence().

Here is the caller graph for this function:

◆ onFirstInit()

virtual void SolverCallback::onFirstInit ( ThermalHydraulicSolver &  solver)
pure virtual

Called once for the entire simulation during first initialization. RelapSolver routes the Fortran actonce_() callback here; RestApiSolver calls it on the first runSequence() of the solver object, before onScenarioStart(). The engine reads configuration files and initializes all modules.

Implemented in AdsidacCallback.

Referenced by RestApiSolver::runSequence().

Here is the caller graph for this function:

◆ onScenarioStart()

virtual void SolverCallback::onScenarioStart ( ThermalHydraulicSolver &  solver)
pure virtual

Called once at the start of each scenario/sequence. RelapSolver routes the Fortran secini_() callback here; RestApiSolver calls it at the start of every runSequence(). The engine updates parameter values and initializes the control panel.

Implemented in AdsidacCallback.

Referenced by RestApiSolver::runSequence().

Here is the caller graph for this function:

◆ onTimestepAction()

virtual void SolverCallback::onTimestepAction ( ThermalHydraulicSolver &  solver)
pure virtual

Called at each timestep for action execution. RelapSolver routes the Fortran actte_() callback here; RestApiSolver never calls it.

Implemented in AdsidacCallback.


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