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

Subcatchment runoff generation — batch-oriented nonlinear reservoir. More...

#include "../data/SubcatchData.hpp"
#include "Infiltration.hpp"
#include <vector>
Include dependency graph for Runoff.hpp:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  openswmm::runoff::RunoffSoA
 
class  openswmm::runoff::RunoffSolver
 

Namespaces

namespace  openswmm
 
namespace  openswmm::runoff
 

Variables

constexpr double openswmm::runoff::MEXP = 5.0 / 3.0
 Manning's exponent.
 
constexpr double openswmm::runoff::ODETOL = 0.0001
 ODE solver tolerance (matching legacy)
 
constexpr double openswmm::runoff::PHI = 1.486
 Manning's US customary constant.
 

Detailed Description

Subcatchment runoff generation — batch-oriented nonlinear reservoir.

Three subareas per subcatchment (matching legacy subcatch.c):

  • IMPERV0: Impervious with zero depression storage (PctZero fraction)
  • IMPERV1: Impervious with depression storage
  • PERV: Pervious with depression storage and infiltration

Depth integration uses RK45 adaptive ODE solver (matching legacy odesolve.c) for implicit solution of: dd/dt = inflow - alpha * (d - Ds)^(5/3)

Note
Legacy reference: src/legacy/engine/runoff.c, subcatch.c, odesolve.c
Author
Caleb Buahin caleb.nosp@m..bua.nosp@m.hin@g.nosp@m.mail.nosp@m..com
License\n MIT License