|
GridFire v0.7.1_rc2
General Purpose Nuclear Network
|
Triggers when the current simulation time advances by at least a fixed interval. More...
#include <engine_partitioning_trigger.h>
Public Member Functions | |
| SimulationTimeTrigger (double interval) | |
| Construct with a positive time interval between firings. | |
| bool | check (const gridfire::solver::CVODESolverStrategy::TimestepContext &ctx) const override |
| Evaluate whether enough simulated time has elapsed since the last trigger. | |
| void | update (const gridfire::solver::CVODESolverStrategy::TimestepContext &ctx) override |
| Update internal state; if check(ctx) is true, advance last_trigger_time. | |
| void | step (const gridfire::solver::CVODESolverStrategy::TimestepContext &ctx) override |
| similar to update but intended to be run on every step not just those where the trigger triggered | |
| void | reset () override |
| Reset counters and last trigger bookkeeping (time and delta) to zero. | |
| std::string | name () const override |
| Stable human-readable name. | |
| TriggerResult | why (const gridfire::solver::CVODESolverStrategy::TimestepContext &ctx) const override |
| Structured explanation of the evaluation outcome. | |
| std::string | describe () const override |
| Textual description including configured interval. | |
| size_t | numTriggers () const override |
| Number of true evaluations since last reset. | |
| size_t | numMisses () const override |
| Number of false evaluations since last reset. | |
Public Member Functions inherited from gridfire::trigger::Trigger< gridfire::solver::CVODESolverStrategy::TimestepContext > | |
| virtual | ~Trigger ()=default |
| Virtual destructor for polymorphic use. | |
Private Attributes | |
| quill::Logger * | m_logger = fourdst::logging::LogManager::getInstance().getLogger("log") |
| Logger used for trace/error diagnostics. | |
| double | m_interval |
| Required time interval between successive triggers. | |
| double | m_last_trigger_time = 0.0 |
| Time at which the trigger last fired; initialized to 0. | |
| double | m_last_trigger_time_delta = 0.0 |
| Overshoot relative to interval at the last firing; for diagnostics. | |
Diagnostics counters | |
| size_t | m_hits = 0 |
| size_t | m_misses = 0 |
| size_t | m_updates = 0 |
| size_t | m_resets = 0 |
Triggers when the current simulation time advances by at least a fixed interval.
See also: engine_partitioning_trigger.cpp for the concrete logic and logging.
|
explicit |
Construct with a positive time interval between firings.
| interval | Strictly positive time interval (simulation units) between triggers. |
| std::invalid_argument | if interval <= 0. |
|
overridevirtual |
Evaluate whether enough simulated time has elapsed since the last trigger.
| ctx | CVODE timestep context providing the current simulation time (ctx.t). |
Implements gridfire::trigger::Trigger< gridfire::solver::CVODESolverStrategy::TimestepContext >.
|
overridevirtual |
Textual description including configured interval.
Implements gridfire::trigger::Trigger< gridfire::solver::CVODESolverStrategy::TimestepContext >.
|
overridevirtual |
Stable human-readable name.
Implements gridfire::trigger::Trigger< gridfire::solver::CVODESolverStrategy::TimestepContext >.
|
overridevirtual |
Number of false evaluations since last reset.
Implements gridfire::trigger::Trigger< gridfire::solver::CVODESolverStrategy::TimestepContext >.
|
overridevirtual |
Number of true evaluations since last reset.
Implements gridfire::trigger::Trigger< gridfire::solver::CVODESolverStrategy::TimestepContext >.
|
overridevirtual |
Reset counters and last trigger bookkeeping (time and delta) to zero.
Implements gridfire::trigger::Trigger< gridfire::solver::CVODESolverStrategy::TimestepContext >.
|
overridevirtual |
similar to update but intended to be run on every step not just those where the trigger triggered
| ctx | Context snapshot used to update state. |
Implements gridfire::trigger::Trigger< gridfire::solver::CVODESolverStrategy::TimestepContext >.
|
overridevirtual |
Update internal state; if check(ctx) is true, advance last_trigger_time.
| ctx | CVODE timestep context. |
Implements gridfire::trigger::Trigger< gridfire::solver::CVODESolverStrategy::TimestepContext >.
|
overridevirtual |
Structured explanation of the evaluation outcome.
| ctx | CVODE timestep context. |
Implements gridfire::trigger::Trigger< gridfire::solver::CVODESolverStrategy::TimestepContext >.
|
mutableprivate |
|
private |
Required time interval between successive triggers.
|
mutableprivate |
Time at which the trigger last fired; initialized to 0.
|
mutableprivate |
Overshoot relative to interval at the last firing; for diagnostics.
|
private |
Logger used for trace/error diagnostics.
|
mutableprivate |
|
mutableprivate |
|
mutableprivate |