![]() |
OpenSWMM Engine
6.0.0-alpha.4
Data-oriented, plugin-extensible SWMM Engine (6.0.0-alpha.4)
|
D-NS1 negative-source clamp bookkeeping (subplan §3.1, X6). More...
#include <SimulationContext.hpp>
Public Member Functions | |
| void | reset () |
Public Attributes | |
| long | clamp_events = 0 |
| pollutant clamps, all engines | |
| double | shortfall_mass = 0.0 |
| unmet extraction, internal units | |
| long | age_clamp_events = 0 |
| age-row clamps | |
| int | first_node = -1 |
| bool | first_clamp_recorded = false |
| bool | api_warned = false |
| first negative API mass flux | |
D-NS1 negative-source clamp bookkeeping (subplan §3.1, X6).
A negative source (mass extraction) is clamped per step to the mass its element holds; each clamp is counted here, its shortfall un-booked from the extraction's ledger row (the ledger carries what was ACTUALLY removed), and the first clamp warns. Age extraction (age·volume) is counted but not ledgered — age has no continuity row until A2c.
|
inline |
| long openswmm::SimulationContext::NegativeSourceStats::age_clamp_events = 0 |
age-row clamps
| bool openswmm::SimulationContext::NegativeSourceStats::api_warned = false |
first negative API mass flux
| long openswmm::SimulationContext::NegativeSourceStats::clamp_events = 0 |
pollutant clamps, all engines
| bool openswmm::SimulationContext::NegativeSourceStats::first_clamp_recorded = false |
First clamp seen — captures first_node once. NOT a warning flag: the per-clamp runtime warning was removed 2026-08-29 because it fired on every correct extraction deck (a deck extracting 40 % of its inflow logged 108 clamps while the chain wetted). The end-of-run summary is the diagnostic.
| int openswmm::SimulationContext::NegativeSourceStats::first_node = -1 |
element of the first clamp
| double openswmm::SimulationContext::NegativeSourceStats::shortfall_mass = 0.0 |
unmet extraction, internal units