![]() |
OpenSWMM Engine
6.0.0-alpha.1
Data-oriented, plugin-extensible SWMM Engine (6.0.0-alpha.1)
|
Subcatchment runoff — 3-subarea nonlinear reservoir model. More...
#include "Runoff.hpp"#include "Gage.hpp"#include "../core/SimulationContext.hpp"#include "../core/UnitConversion.hpp"#include "../math/OdeSolver.hpp"#include "../math/SIMD.hpp"#include <cmath>#include <algorithm>Namespaces | |
| namespace | openswmm |
| namespace | openswmm::runoff |
Subcatchment runoff — 3-subarea nonlinear reservoir model.
Three subareas per subcatchment (matching legacy subcatch.c):
Depth integration uses RK45 Cash-Karp adaptive ODE solver via ode::integrate() from OdeSolver.hpp, matching the legacy subcatch.c updatePondedDepth() + odesolve_integrate() approach exactly.
The legacy fills depression storage first (reducing the integration interval), then solves dd/dt = inflow - alpha*(d-Ds)^(5/3) implicitly.