OpenSWMM Engine  6.0.0-alpha.4
Data-oriented, plugin-extensible SWMM Engine (6.0.0-alpha.4)
Loading...
Searching...
No Matches
SurfaceSpeciesKernel.hpp File Reference

One subcatchment surface-quality arithmetic for every species family (Multispecies Phase 2, S1, 2026-10-15). More...

#include <cstddef>
#include <cstdint>
#include <vector>
#include "Landuse.hpp"
Include dependency graph for SurfaceSpeciesKernel.hpp:
This graph shows which files directly or indirectly include this file:

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.
 

Detailed Description

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.

Author
Caleb Buahin caleb.nosp@m..bua.nosp@m.hin@g.nosp@m.mail.nosp@m..com
License
Apache-2.0