![]() |
OpenSWMM Engine
6.0.0-alpha.4
Data-oriented, plugin-extensible SWMM Engine (6.0.0-alpha.4)
|
One subcatchment surface-quality arithmetic for every species family (Multispecies Phase 2, S1, 2026-10-15). More...
Go to the source code of this file.
Classes | |
| struct | openswmm::surfacespecies::Block |
Namespaces | |
| namespace | openswmm |
| namespace | openswmm::surfacespecies |
Functions | |
| void | openswmm::surfacespecies::step (SimulationContext &ctx, Block &b, double dt_runoff, double old_runoff_time) noexcept |
| Advance one species family's buildup/sweeping/washoff and pre-LID complete-mix concentration. | |
| void | openswmm::surfacespecies::bookPostLid (SimulationContext &ctx, Block &b, double dt_runoff, const std::vector< double > &lid_infil_vol) noexcept |
| Book one accepted family's post-LID losses and delivered runoff load using pre-LID concentration. | |
One subcatchment surface-quality arithmetic for every species family (Multispecies Phase 2, S1, 2026-10-15).
Buildup, washoff, ponded-water mixing, LID-area loads, the washoff concentration and the post-LID load bookings, moved verbatim out of SWMMEngine::stepSurfaceQuality / bookWashoffLoads. A Block names the arrays one species family keeps: the pollutants (SubcatchData, PollutantData, the mass_balance qual_* rows, the land-use solver) or the reaction species (MsxSurfaceData). Both families therefore run the same expressions; before, the reaction species ran a transcription that had drifted (no fOutlet, a different RC form, the pre-LID denominator, no ponded mix and no LID rows).
Every per-subcatchment input (runoff, rainfall, areas, ponded depths, run-on water) is read from the context and is the same for both families.