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

Infiltration models — Horton, Green-Ampt, SCS Curve Number. More...

This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  openswmm::HortonState
 
struct  openswmm::GreenAmptState
 
struct  openswmm::CurveNumState
 
struct  openswmm::infil::HortonState
 
struct  openswmm::infil::GreenAmptState
 
struct  openswmm::infil::CurveNumState
 

Namespaces

namespace  openswmm
 
namespace  openswmm::infil
 Native infiltration kernels with caller-managed accepted-step state. These methods mutate the supplied state immediately and provide no rollback, finite-input validation or failure status. Call once per accepted source step, or evaluate a private state copy for a trial. Internal rates/depths are ft/s/ft; initialization alone accepts project input units. Serialize shared state use.
 

Enumerations

enum class  openswmm::InfilModel : int {
  openswmm::HORTON = 0 ,
  openswmm::MOD_HORTON = 1 ,
  openswmm::GREEN_AMPT = 2 ,
  openswmm::MOD_GREEN_AMPT = 3 ,
  openswmm::CURVE_NUM = 4 ,
  openswmm::CONSTANT = 5
}
 

Functions

double openswmm::infil::horton_getInfil (HortonState &state, double precip, double depth, double dt)
 Integrate exponential Horton capacity over one step with dry recovery.
 
double openswmm::infil::modHorton_getInfil (HortonState &state, double precip, double depth, double dt)
 Advance the linear excess-infiltration Modified Horton model.
 
double openswmm::infil::grnampt_getInfil (GreenAmptState &state, double precip, double depth, double dt, InfilModel model_type=InfilModel::GREEN_AMPT, double infil_factor=1.0, double recovery_factor=1.0)
 Advance saturated/unsaturated Green-Ampt history and compute actual infiltration.
 
double openswmm::infil::curvenum_getInfil (CurveNumState &state, double precip, double depth, double dt, double recovery_factor=1.0)
 Advance SCS Curve Number event retention with ponded-water continuation.
 
double openswmm::infil::constant_getInfil (double rate_ftsec, double precip, double depth, double dt)
 Return a stateless capacity bounded by available water.
 
void openswmm::infil::horton_init (HortonState &state, double f0, double fmin, double decay, double regen, double Fmax, const SimulationOptions &opts)
 Convert authored Horton parameters and reset ordinary Horton history.
 
void openswmm::infil::grnampt_init (GreenAmptState &state, double S, double Ks, double IMD, const SimulationOptions &opts)
 Convert authored Green-Ampt parameters and initialize the upper zone.
 
void openswmm::infil::curvenum_init (CurveNumState &state, double CN, double regen)
 Initialize Curve Number retention and all event-history fields.
 

Detailed Description

Infiltration models — Horton, Green-Ampt, SCS Curve Number.

All three models are implemented with exact numerical parity to legacy infil.c. Each model maintains per-subcatchment state and computes infiltration rate given current precipitation, ponded depth, and timestep.

Note
Legacy reference: src/legacy/engine/infil.c
Author
Caleb Buahin caleb.nosp@m..bua.nosp@m.hin@g.nosp@m.mail.nosp@m..com
License
Apache-2.0