OpenSWMM Engine  6.0.0-alpha.4
Data-oriented, plugin-extensible SWMM Engine (6.0.0-alpha.4)
Loading...
Searching...
No Matches
openswmm::inlet Namespace Reference

Classes

struct  Design
 One inlet design in INTERNAL units (legacy TInletDesign, inlet.c:66-74). More...
 
struct  Geom
 Street / channel geometry seen by one inlet, in INTERNAL units. More...
 
struct  InletSoA
 
class  InletSolver
 
struct  UsageParams
 The per-placement half of one usage row (legacy TInlet fields). More...
 

Enumerations

enum class  InletType : int {
  GRATE = 0 ,
  CURB = 1 ,
  COMBO = 2 ,
  SLOTTED = 3 ,
  DROP_GRATE = 4 ,
  DROP_CURB = 5 ,
  CUSTOM = 6
}
 
enum class  GrateType : int {
  P_BAR_50 = 0 ,
  P_BAR_50x100 = 1 ,
  P_BAR_30 = 2 ,
  CURVED_VANE = 3 ,
  TILT_BAR_45 = 4 ,
  TILT_BAR_30 = 5 ,
  RETICULINE = 6 ,
  GENERIC = 7
}
 Legacy enum GrateType (inlet.c:124-127). More...
 
enum class  Placement : int {
  AUTOMATIC = 0 ,
  ON_GRADE = 1 ,
  ON_SAG = 2
}
 
enum class  ThroatAngle : int {
  HORIZONTAL = 0 ,
  INCLINED = 1 ,
  VERTICAL = 2
}
 Legacy enum ThroatAngleType (inlet.c:131) — InletStore::curb_throat. More...
 
enum class  CurveKind : int {
  UNRESOLVED = 0 ,
  DIVERSION = 1 ,
  RATING = 2
}
 InletStore::curve_kind codes for a CUSTOM design. More...
 

Functions

double getEo (double sr, double ts, double w)
 HEC-22 Eq(4-4) solved for Eo with Ts/w substituted for (T/w)−1 (inlet.c:1248).
 
double getFlowSpread (const Geom &g, double Q)
 Width of flow spread, HEC-22 Eq(4-2)/(4-6) (inlet.c:1200).
 
double getGutterFlowRatio (const Geom &g, double w)
 Ratio of the flow over width w to the total street flow, Eq(4-16) (inlet.c:1518).
 
double getGutterAreaRatio (const Geom &g, double Wg, double A)
 
double getSplashOverVelocity (int grate_type, double L)
 
double getGrateInletCapture (const Design &d, Geom &g, double Q)
 
double getCurbInletCapture (const Geom &g, double Q, double opening_length)
 On-grade curb-opening capture, Eq(4-22a)/(4-23)/(4-24) (inlet.c:1477).
 
double getOnGradeInletCapture (const Design &d, Geom &g, double Q, double depth)
 Capture of a single on-grade inlet — type dispatch + COMBO sweeper (inlet.c:1325).
 
double getOnGradeCapturedFlow (const Design &d, const UsageParams &u, Geom &g, double q, double depth)
 Total capture of an on-grade usage: num_inlets in series, both sides (inlet.c:1267).
 
void findOnSagGrateFlows (const Design &d, const Geom &g, double depth, double *weir_flow, double *orifice_flow)
 On-sag grate weir/orifice flows, Eq(4-26)/(4-27) (inlet.c:1644).
 
double getCurbOrificeFlow (double flow_depth, double opening_height, double opening_length, int throat_angle)
 Curb-opening orifice flow with the throat-angle head, Eq(4-31a) (inlet.c:1764).
 
void findOnSagCurbFlows (const Design &d, const Geom &g, double depth, double L, double *Qw, double *Qo)
 
double getOnSagSlottedFlow (const Design &d, double depth)
 On-sag slotted drain flow, Eq(4-32)/(4-33) (inlet.c:1785).
 
double getOnSagInletCapture (const Design &d, const Geom &g, double depth)
 Capture of a single on-sag inlet (inlet.c:1610).
 
double getOnSagCapturedFlow (const Design &d, const UsageParams &u, const Geom &g, double depth)
 Total capture of an on-sag usage: single inlet × nsides · num_inlets (inlet.c:1574).
 
double getCustomCapturedFlow (const UsageParams &u, const Geom &g, const Table &curve, int curve_kind, double q, double depth, double ucf_flow, double ucf_len)
 Capture of a CUSTOM inlet from its diversion / rating curve (inlet.c:1902).
 
double getInletArea (const Design &d, const UsageParams &u)
 Unclogged open area of one usage (ft²) — legacy getInletArea (inlet.c:1870).
 

Variables

constexpr double MIN_RUNOFF_FLOW = 0.001
 Legacy MIN_RUNOFF_FLOW (consts.h:203) — cfs.
 
constexpr double INLET_FUDGE = 0.0001
 Legacy FUDGE (consts.h:272).
 
constexpr double INLET_BIG = 1.0e10
 Legacy BIG (consts.h:118).
 

Enumeration Type Documentation

◆ CurveKind

enum class openswmm::inlet::CurveKind : int
strong

InletStore::curve_kind codes for a CUSTOM design.

Enumerator
UNRESOLVED 
DIVERSION 
RATING 

◆ GrateType

enum class openswmm::inlet::GrateType : int
strong

Legacy enum GrateType (inlet.c:124-127).

Enumerator
P_BAR_50 
P_BAR_50x100 
P_BAR_30 
CURVED_VANE 
TILT_BAR_45 
TILT_BAR_30 
RETICULINE 
GENERIC 

◆ InletType

enum class openswmm::inlet::InletType : int
strong

Legacy enum InletType (inlet.c:119-122) — the COMBO slot is the merged GRATE+CURB design the legacy parser encodes as two [INLETS] lines.

Enumerator
GRATE 
CURB 
COMBO 
SLOTTED 
DROP_GRATE 
DROP_CURB 
CUSTOM 

◆ Placement

enum class openswmm::inlet::Placement : int
strong

Legacy enum InletPlacementType (inlet.c:129) — matches the token order of [INLET_USAGE] / [INLET_JUNCTIONS] and InletUsageStore::placement.

Enumerator
AUTOMATIC 
ON_GRADE 
ON_SAG 

◆ ThroatAngle

enum class openswmm::inlet::ThroatAngle : int
strong

Legacy enum ThroatAngleType (inlet.c:131) — InletStore::curb_throat.

Enumerator
HORIZONTAL 
INCLINED 
VERTICAL 

Function Documentation

◆ findOnSagCurbFlows()

void openswmm::inlet::findOnSagCurbFlows ( const Design & d,
const Geom & g,
double depth,
double opening_length,
double * weir_flow,
double * orifice_flow )

On-sag curb weir/orifice flows with the transition band, Eq(4-28)/(4-30) (inlet.c:1703). A DROP_CURB opening acts on all four sides (L × 4).

Here is the call graph for this function:
Here is the caller graph for this function:

◆ findOnSagGrateFlows()

void openswmm::inlet::findOnSagGrateFlows ( const Design & d,
const Geom & g,
double depth,
double * Qw,
double * Qo )

On-sag grate weir/orifice flows, Eq(4-26)/(4-27) (inlet.c:1644).

Here is the caller graph for this function:

◆ getCurbInletCapture()

double openswmm::inlet::getCurbInletCapture ( const Geom & g,
double Q,
double L )

On-grade curb-opening capture, Eq(4-22a)/(4-23)/(4-24) (inlet.c:1477).

Here is the call graph for this function:
Here is the caller graph for this function:

◆ getCurbOrificeFlow()

double openswmm::inlet::getCurbOrificeFlow ( double di,
double h,
double L,
int throat_angle )

Curb-opening orifice flow with the throat-angle head, Eq(4-31a) (inlet.c:1764).

Here is the caller graph for this function:

◆ getCustomCapturedFlow()

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 )

Capture of a CUSTOM inlet from its diversion / rating curve (inlet.c:1902).

Parameters
curveResolved capture curve (InletStore::curve_index).
curve_kindinlet::CurveKind — DIVERSION (capture vs approach flow) or RATING (capture vs depth).
ucf_flowinternal → display flow factor (curve x/y are user units).
ucf_leninternal → display length factor.
Here is the call graph for this function:
Here is the caller graph for this function:

◆ getEo()

double openswmm::inlet::getEo ( double Sr,
double Ts,
double w )

HEC-22 Eq(4-4) solved for Eo with Ts/w substituted for (T/w)−1 (inlet.c:1248).

Here is the caller graph for this function:

◆ getFlowSpread()

double openswmm::inlet::getFlowSpread ( const Geom & g,
double Q )

Width of flow spread, HEC-22 Eq(4-2)/(4-6) (inlet.c:1200).

Here is the call graph for this function:
Here is the caller graph for this function:

◆ getGrateInletCapture()

double openswmm::inlet::getGrateInletCapture ( const Design & d,
Geom & g,
double Q )

On-grade grate capture, Eq(4-16)/(4-18)/(4-19)/(4-20a)/(4-21) (inlet.c:1387). Reads g.t (spread) and may update g.t / g.sx for a channel drop grate.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ getGutterAreaRatio()

double openswmm::inlet::getGutterAreaRatio ( const Geom & g,
double grate_width,
double area )

Ratio of the flow area above the grate to that above the depressed gutter, Eq(4-20a) numerator/denominator (inlet.c:1535).

Here is the caller graph for this function:

◆ getGutterFlowRatio()

double openswmm::inlet::getGutterFlowRatio ( const Geom & g,
double w )

Ratio of the flow over width w to the total street flow, Eq(4-16) (inlet.c:1518).

Here is the call graph for this function:
Here is the caller graph for this function:

◆ getInletArea()

double openswmm::inlet::getInletArea ( const Design & d,
const UsageParams & u )

Unclogged open area of one usage (ft²) — legacy getInletArea (inlet.c:1870).

◆ getOnGradeCapturedFlow()

double openswmm::inlet::getOnGradeCapturedFlow ( const Design & d,
const UsageParams & u,
Geom & g,
double q,
double depth )

Total capture of an on-grade usage: num_inlets in series, both sides (inlet.c:1267).

Here is the call graph for this function:
Here is the caller graph for this function:

◆ getOnGradeInletCapture()

double openswmm::inlet::getOnGradeInletCapture ( const Design & d,
Geom & g,
double Q,
double depth )

Capture of a single on-grade inlet — type dispatch + COMBO sweeper (inlet.c:1325).

Here is the call graph for this function:
Here is the caller graph for this function:

◆ getOnSagCapturedFlow()

double openswmm::inlet::getOnSagCapturedFlow ( const Design & d,
const UsageParams & u,
const Geom & g,
double depth )

Total capture of an on-sag usage: single inlet × nsides · num_inlets (inlet.c:1574).

Here is the call graph for this function:
Here is the caller graph for this function:

◆ getOnSagInletCapture()

double openswmm::inlet::getOnSagInletCapture ( const Design & d,
const Geom & g,
double depth )

Capture of a single on-sag inlet (inlet.c:1610).

Here is the call graph for this function:
Here is the caller graph for this function:

◆ getOnSagSlottedFlow()

double openswmm::inlet::getOnSagSlottedFlow ( const Design & d,
double depth )

On-sag slotted drain flow, Eq(4-32)/(4-33) (inlet.c:1785).

Here is the caller graph for this function:

◆ getSplashOverVelocity()

double openswmm::inlet::getSplashOverVelocity ( int grate_type,
double grate_length )

Splash-over velocity for a standard grate type (HEC-22 Chart 5B, inlet.c:1557). Returns 0 for GENERIC / out-of-range types — those carry a user velocity.

Here is the caller graph for this function:

Variable Documentation

◆ INLET_BIG

double openswmm::inlet::INLET_BIG = 1.0e10
inlineconstexpr

Legacy BIG (consts.h:118).

◆ INLET_FUDGE

double openswmm::inlet::INLET_FUDGE = 0.0001
inlineconstexpr

Legacy FUDGE (consts.h:272).

◆ MIN_RUNOFF_FLOW

double openswmm::inlet::MIN_RUNOFF_FLOW = 0.001
inlineconstexpr

Legacy MIN_RUNOFF_FLOW (consts.h:203) — cfs.