![]() |
OpenSWMM Engine
6.0.0-alpha.4
Data-oriented, plugin-extensible SWMM Engine (6.0.0-alpha.4)
|
Street inlet capture efficiency — FHWA HEC-22. More...
#include <cstdint>#include <vector>Go to the source code of this file.
Classes | |
| struct | openswmm::inlet::Geom |
| Street / channel geometry seen by one inlet, in INTERNAL units. More... | |
| struct | openswmm::inlet::Design |
One inlet design in INTERNAL units (legacy TInletDesign, inlet.c:66-74). More... | |
| struct | openswmm::inlet::UsageParams |
The per-placement half of one usage row (legacy TInlet fields). More... | |
| struct | openswmm::inlet::InletSoA |
| class | openswmm::inlet::InletSolver |
Namespaces | |
| namespace | openswmm |
| namespace | openswmm::inlet |
Functions | |
| double | openswmm::inlet::getEo (double sr, double ts, double w) |
| Compute the depressed-gutter flow ratio using HEC-22 Eq4-4. | |
| double | openswmm::inlet::getFlowSpread (const Geom &g, double Q) |
| Compute approach flow spread with crown limiting and depressed-gutter iteration. | |
| double | openswmm::inlet::getGutterFlowRatio (const Geom &g, double w) |
| Compute the fraction of street flow above a selected gutter width. | |
| double | openswmm::inlet::getGutterAreaRatio (const Geom &g, double grate_width, double area) |
| Compute the grate-width correction to depressed-gutter intercepted flow. | |
| double | openswmm::inlet::getSplashOverVelocity (int grate_type, double grate_length) |
| Evaluate the standard grate splash-over velocity polynomial. | |
| double | openswmm::inlet::getGrateInletCapture (const Design &d, Geom &g, double Q) |
| Compute one on-grade grate's frontal and side capture. | |
| double | openswmm::inlet::getCurbInletCapture (const Geom &g, double Q, double opening_length) |
| Compute on-grade curb-opening capture from equivalent cross slope. | |
| double | openswmm::inlet::getOnGradeInletCapture (const Design &d, Geom &g, double Q, double depth) |
| Compute a single on-grade inlet or combination sweeper/grate capture. | |
| double | openswmm::inlet::getOnGradeCapturedFlow (const Design &d, const UsageParams &u, Geom &g, double q, double depth) |
| Compute series inlet capture across the current street sides. | |
| void | openswmm::inlet::findOnSagGrateFlows (const Design &d, const Geom &g, double depth, double *weir_flow, double *orifice_flow) |
| Compute the active grate weir or orifice contribution for one sag inlet. | |
| void | openswmm::inlet::findOnSagCurbFlows (const Design &d, const Geom &g, double depth, double opening_length, double *weir_flow, double *orifice_flow) |
| Compute sag curb-opening weir/orifice contributions with transition blending. | |
| double | openswmm::inlet::getCurbOrificeFlow (double flow_depth, double opening_height, double opening_length, int throat_angle) |
| Compute sag curb-opening orifice flow using throat-adjusted head. | |
| double | openswmm::inlet::getOnSagSlottedFlow (const Design &d, double depth) |
| Compute one sag slotted-drain weir or orifice capacity. | |
| double | openswmm::inlet::getOnSagInletCapture (const Design &d, const Geom &g, double depth) |
| Combine one sag inlet's grate, sweeper and curb-orifice contributions. | |
| double | openswmm::inlet::getOnSagCapturedFlow (const Design &d, const UsageParams &u, const Geom &g, double depth, int nsides_prev) |
| Scale sag capacity using usage factors and legacy carried-over street sides. | |
| double | openswmm::inlet::getCustomCapturedFlow (const UsageParams &u, const Geom &g, const Table &curve, int curve_kind, double q, double depth, double ucf_flow, double ucf_len) |
| Compute custom inlet capture from authored diversion or rating curves. | |
| double | openswmm::inlet::getInletArea (const Design &d, const UsageParams &u) |
| Compute the usage's effective open inlet area for backflow weighting. | |
Variables | |
| constexpr double | openswmm::inlet::MIN_RUNOFF_FLOW = 0.001 |
| Legacy MIN_RUNOFF_FLOW (consts.h:203) — cfs. | |
| constexpr double | openswmm::inlet::INLET_FUDGE = 0.0001 |
| Legacy FUDGE (consts.h:272). | |
| constexpr double | openswmm::inlet::INLET_BIG = 1.0e10 |
| Legacy BIG (consts.h:118). | |
Street inlet capture efficiency — FHWA HEC-22.
Inlet types: GRATE, CURB, COMBO, SLOTTED, DROP_GRATE, DROP_CURB, CUSTOM. On-grade capture uses splash-over velocity and frontal / side flow fractions (HEC-22 Eq. 4-16 … 4-24); on-sag capture uses the weir ↔ orifice transition (Eq. 4-26 … 4-33).
Two host kinds share one kernel and one statistics block (plans/INLET_JUNCTION_IMPLEMENTATION_PLAN_2026-09-05.md §2.1):
[INLET_USAGE], host = a STREET conduit, bypass node = that conduit's downstream node;[INLET_JUNCTIONS], host = the node itself, approach flow from the attached street conduit(s).The pure kernel functions below are transliterations of the legacy file-scope routines and carry the HEC-22 equation numbers; they take their state through openswmm::inlet::Geom / openswmm::inlet::Design / openswmm::inlet::UsageParams instead of legacy's module-level shared variables, so they are directly unit-testable.