Triggers when any off-diagonal Jacobian entry magnitude exceeds a threshold.
More...
#include <engine_partitioning_trigger.h>
|
| quill::Logger * | m_logger = fourdst::logging::LogManager::getInstance().getLogger("log") |
| | Logger used for trace/error diagnostics.
|
| |
| double | m_threshold |
| | Off-diagonal magnitude threshold (>= 0).
|
| |
|
| size_t | m_hits = 0 |
| |
| size_t | m_misses = 0 |
| |
| size_t | m_updates = 0 |
| |
| size_t | m_resets = 0 |
| |
Triggers when any off-diagonal Jacobian entry magnitude exceeds a threshold.
Semantics:
- Iterates over all species pairs (row != col) and queries the engine's Jacobian via ctx.engine.getJacobianMatrixEntry(row, col). If any |entry| > threshold, check(ctx) returns true (short-circuits on first exceedance).
- update(ctx) only records an update counter; it does not cache Jacobian values.
- Note
- Complexity: O(S^2) per check for S species (due to dense scan).
- Constraints/Errors:
- Constructing with threshold < 0 throws std::invalid_argument.
- See also
-
◆ OffDiagonalTrigger()
| gridfire::trigger::solver::CVODE::OffDiagonalTrigger::OffDiagonalTrigger |
( |
double | threshold | ) |
|
|
explicit |
Construct with a non-negative magnitude threshold.
- Parameters
-
| threshold | Off-diagonal Jacobian magnitude threshold (>= 0). |
- Exceptions
-
| std::invalid_argument | if threshold < 0. |
◆ check()
◆ describe()
| std::string gridfire::trigger::solver::CVODE::OffDiagonalTrigger::describe |
( |
| ) |
const |
|
overridevirtual |
◆ name()
| std::string gridfire::trigger::solver::CVODE::OffDiagonalTrigger::name |
( |
| ) |
const |
|
overridevirtual |
◆ numMisses()
| size_t gridfire::trigger::solver::CVODE::OffDiagonalTrigger::numMisses |
( |
| ) |
const |
|
overridevirtual |
◆ numTriggers()
| size_t gridfire::trigger::solver::CVODE::OffDiagonalTrigger::numTriggers |
( |
| ) |
const |
|
overridevirtual |
◆ reset()
| void gridfire::trigger::solver::CVODE::OffDiagonalTrigger::reset |
( |
| ) |
|
|
overridevirtual |
◆ step()
◆ update()
◆ why()
◆ m_hits
| size_t gridfire::trigger::solver::CVODE::OffDiagonalTrigger::m_hits = 0 |
|
mutableprivate |
◆ m_logger
| quill::Logger* gridfire::trigger::solver::CVODE::OffDiagonalTrigger::m_logger = fourdst::logging::LogManager::getInstance().getLogger("log") |
|
private |
Logger used for trace/error diagnostics.
◆ m_misses
| size_t gridfire::trigger::solver::CVODE::OffDiagonalTrigger::m_misses = 0 |
|
mutableprivate |
◆ m_resets
| size_t gridfire::trigger::solver::CVODE::OffDiagonalTrigger::m_resets = 0 |
|
mutableprivate |
◆ m_threshold
| double gridfire::trigger::solver::CVODE::OffDiagonalTrigger::m_threshold |
|
private |
Off-diagonal magnitude threshold (>= 0).
◆ m_updates
| size_t gridfire::trigger::solver::CVODE::OffDiagonalTrigger::m_updates = 0 |
|
mutableprivate |
The documentation for this class was generated from the following files: