GridFire v0.7.1_rc2
General Purpose Nuclear Network
Loading...
Searching...
No Matches
gridfire::trigger::solver::CVODE::ConvergenceFailureTrigger Class Referencefinal

#include <engine_partitioning_trigger.h>

Inheritance diagram for gridfire::trigger::solver::CVODE::ConvergenceFailureTrigger:
[legend]
Collaboration diagram for gridfire::trigger::solver::CVODE::ConvergenceFailureTrigger:
[legend]

Public Member Functions

 ConvergenceFailureTrigger (size_t totalFailures, float relativeFailureRate, size_t windowSize)
 
bool check (const gridfire::solver::CVODESolverStrategy::TimestepContext &ctx) const override
 Evaluate the trigger condition against the provided context.
 
void update (const gridfire::solver::CVODESolverStrategy::TimestepContext &ctx) override
 Update any internal state with the given context (e.g., counters, windows).
 
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 internal state and diagnostics counters.
 
std::string name () const override
 Short, stable name for this trigger (suitable for logs/UI).
 
std::string describe () const override
 Human-readable description of this trigger's logic.
 
TriggerResult why (const gridfire::solver::CVODESolverStrategy::TimestepContext &ctx) const override
 Explain why the last evaluation would be true/false in a structured way.
 
size_t numTriggers () const override
 Total number of times this trigger evaluated to true since last reset.
 
size_t numMisses () const override
 Total number of times this trigger evaluated to false 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.
 

Diagnostics counters

size_t m_hits = 0
 
size_t m_misses = 0
 
size_t m_updates = 0
 
size_t m_resets = 0
 
size_t m_totalFailures
 
float m_relativeFailureRate
 
size_t m_windowSize
 
std::deque< size_t > m_window
 
float current_mean () const
 
bool abs_failure (const gridfire::solver::CVODESolverStrategy::TimestepContext &ctx) const
 
bool rel_failure (const gridfire::solver::CVODESolverStrategy::TimestepContext &ctx) const
 

Constructor & Destructor Documentation

◆ ConvergenceFailureTrigger()

gridfire::trigger::solver::CVODE::ConvergenceFailureTrigger::ConvergenceFailureTrigger ( size_t  totalFailures,
float  relativeFailureRate,
size_t  windowSize 
)
explicit

Member Function Documentation

◆ abs_failure()

bool gridfire::trigger::solver::CVODE::ConvergenceFailureTrigger::abs_failure ( const gridfire::solver::CVODESolverStrategy::TimestepContext ctx) const
private

◆ check()

bool gridfire::trigger::solver::CVODE::ConvergenceFailureTrigger::check ( const gridfire::solver::CVODESolverStrategy::TimestepContext ctx) const
overridevirtual

Evaluate the trigger condition against the provided context.

Parameters
ctxContext snapshot (immutable view) used to evaluate the condition.
Returns
true if the condition is satisfied; false otherwise.

Implements gridfire::trigger::Trigger< gridfire::solver::CVODESolverStrategy::TimestepContext >.

◆ current_mean()

float gridfire::trigger::solver::CVODE::ConvergenceFailureTrigger::current_mean ( ) const
private

◆ describe()

std::string gridfire::trigger::solver::CVODE::ConvergenceFailureTrigger::describe ( ) const
overridevirtual

Human-readable description of this trigger's logic.

Implements gridfire::trigger::Trigger< gridfire::solver::CVODESolverStrategy::TimestepContext >.

◆ name()

std::string gridfire::trigger::solver::CVODE::ConvergenceFailureTrigger::name ( ) const
overridevirtual

Short, stable name for this trigger (suitable for logs/UI).

Implements gridfire::trigger::Trigger< gridfire::solver::CVODESolverStrategy::TimestepContext >.

◆ numMisses()

size_t gridfire::trigger::solver::CVODE::ConvergenceFailureTrigger::numMisses ( ) const
overridevirtual

Total number of times this trigger evaluated to false since last reset.

Implements gridfire::trigger::Trigger< gridfire::solver::CVODESolverStrategy::TimestepContext >.

◆ numTriggers()

size_t gridfire::trigger::solver::CVODE::ConvergenceFailureTrigger::numTriggers ( ) const
overridevirtual

Total number of times this trigger evaluated to true since last reset.

Implements gridfire::trigger::Trigger< gridfire::solver::CVODESolverStrategy::TimestepContext >.

◆ rel_failure()

bool gridfire::trigger::solver::CVODE::ConvergenceFailureTrigger::rel_failure ( const gridfire::solver::CVODESolverStrategy::TimestepContext ctx) const
private

◆ reset()

void gridfire::trigger::solver::CVODE::ConvergenceFailureTrigger::reset ( )
overridevirtual

Reset internal state and diagnostics counters.

Implements gridfire::trigger::Trigger< gridfire::solver::CVODESolverStrategy::TimestepContext >.

◆ step()

void gridfire::trigger::solver::CVODE::ConvergenceFailureTrigger::step ( const gridfire::solver::CVODESolverStrategy::TimestepContext ctx)
overridevirtual

similar to update but intended to be run on every step not just those where the trigger triggered

Parameters
ctxContext snapshot used to update state.

Implements gridfire::trigger::Trigger< gridfire::solver::CVODESolverStrategy::TimestepContext >.

◆ update()

void gridfire::trigger::solver::CVODE::ConvergenceFailureTrigger::update ( const gridfire::solver::CVODESolverStrategy::TimestepContext ctx)
overridevirtual

Update any internal state with the given context (e.g., counters, windows).

Parameters
ctxContext snapshot used to update state.

Implements gridfire::trigger::Trigger< gridfire::solver::CVODESolverStrategy::TimestepContext >.

◆ why()

TriggerResult gridfire::trigger::solver::CVODE::ConvergenceFailureTrigger::why ( const gridfire::solver::CVODESolverStrategy::TimestepContext ctx) const
overridevirtual

Explain why the last evaluation would be true/false in a structured way.

Parameters
ctxContext snapshot for the explanation.
Returns
A TriggerResult tree with a boolean value and per-cause details.

Implements gridfire::trigger::Trigger< gridfire::solver::CVODESolverStrategy::TimestepContext >.

Member Data Documentation

◆ m_hits

size_t gridfire::trigger::solver::CVODE::ConvergenceFailureTrigger::m_hits = 0
mutableprivate

◆ m_logger

quill::Logger* gridfire::trigger::solver::CVODE::ConvergenceFailureTrigger::m_logger = fourdst::logging::LogManager::getInstance().getLogger("log")
private

Logger used for trace/error diagnostics.

◆ m_misses

size_t gridfire::trigger::solver::CVODE::ConvergenceFailureTrigger::m_misses = 0
mutableprivate

◆ m_relativeFailureRate

float gridfire::trigger::solver::CVODE::ConvergenceFailureTrigger::m_relativeFailureRate
private

◆ m_resets

size_t gridfire::trigger::solver::CVODE::ConvergenceFailureTrigger::m_resets = 0
mutableprivate

◆ m_totalFailures

size_t gridfire::trigger::solver::CVODE::ConvergenceFailureTrigger::m_totalFailures
private

◆ m_updates

size_t gridfire::trigger::solver::CVODE::ConvergenceFailureTrigger::m_updates = 0
mutableprivate

◆ m_window

std::deque<size_t> gridfire::trigger::solver::CVODE::ConvergenceFailureTrigger::m_window
private

◆ m_windowSize

size_t gridfire::trigger::solver::CVODE::ConvergenceFailureTrigger::m_windowSize
private

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