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

Infiltration models — numerically identical to legacy infil.c. More...

#include "Infiltration.hpp"
#include "../core/UnitConversion.hpp"
#include "../core/SimulationOptions.hpp"
#include <cmath>
#include <algorithm>
Include dependency graph for Infiltration.cpp:

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.
 

Functions

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.
 
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.
 
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.
 
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.
 
void openswmm::infil::curvenum_init (CurveNumState &state, double CN, double regen)
 Initialize Curve Number retention and all event-history fields.
 
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.
 

Detailed Description

Infiltration models — numerically identical to legacy infil.c.

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