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

Namespaces

namespace  detail
 

Functions

bool hasClosedForm (int type)
 Identify shapes with an analytic area/width and direct or quadrature perimeter here.
 
bool isPolynomialOpen (int type)
 Identify open sections represented by quadratic area and linear perimeter.
 
double areaOfDepth (const XSectParams &xs, double h)
 Evaluate per-barrel flow area for the FV closure builder.
 
double widthOfDepth (const XSectParams &xs, double h)
 Evaluate per-barrel top width including the invert boundary value.
 
double perimeterOfDepth (const XSectParams &xs, double h)
 Evaluate per-barrel wetted perimeter for FV geometry sampling.
 
double hydRadOfDepth (const XSectParams &xs, double h)
 Evaluate per-barrel hydraulic radius for the FV closure builder.
 

Variables

constexpr double kPi = 3.14159265358979323846
 
constexpr double kRectAlfMax = 0.97
 

Function Documentation

◆ areaOfDepth()

double openswmm::fv::secgeom::areaOfDepth ( const XSectParams & xs,
double h )
inline

Evaluate per-barrel flow area for the FV closure builder.

Uses exact analytic formulas for supported primitives; all other shapes dispatch to the legacy evaluator using the shape-defining profiles. Requires valid supported non-DUMMY geometry for fallback. No slot or barrel multiplier is included.

Parameters
[in]xsBorrowed initialized per-barrel native-ft geometry with positive y_full and valid shape coefficients/profile tables. No pointers are retained.
[in]hFinite depth in ft; values above y_full are clamped before geometry evaluation.
Returns
Area in ft2; h<=0 returns zero.
Here is the call graph for this function:
Here is the caller graph for this function:

◆ hasClosedForm()

bool openswmm::fv::secgeom::hasClosedForm ( int type)
inline

Identify shapes with an analytic area/width and direct or quadrature perimeter here.

Parameters
[in]typeKernel XSectShape numeric identifier; not the storage XsectShape numbering.
Returns
True for circular/force-main/filled-circular, rectangles, trapezoidal, triangular, parabolic and power-function shapes; false otherwise.
Here is the caller graph for this function:

◆ hydRadOfDepth()

double openswmm::fv::secgeom::hydRadOfDepth ( const XSectParams & xs,
double h )
inline

Evaluate per-barrel hydraulic radius for the FV closure builder.

Analytic shapes use area/perimeter from this header. Other shapes return the legacy hydraulic radius directly, preserving composite transect conveyance rather than substituting a geometric perimeter. No slot/barrel scaling is included.

Parameters
[in]xsBorrowed initialized per-barrel native-ft geometry with positive y_full and valid shape coefficients/profile tables. No pointers are retained.
[in]hFinite depth in ft; values above y_full are clamped before geometry evaluation.
Returns
Radius in ft; h<=0 or nonpositive analytic perimeter returns zero.
Here is the call graph for this function:

◆ isPolynomialOpen()

bool openswmm::fv::secgeom::isPolynomialOpen ( int type)
inline

Identify open sections represented by quadratic area and linear perimeter.

Parameters
[in]typeKernel XSectShape numeric identifier.
Returns
True only for RECT_OPEN, TRAPEZOIDAL and TRIANGULAR; false for unknown identifiers.

◆ perimeterOfDepth()

double openswmm::fv::secgeom::perimeterOfDepth ( const XSectParams & xs,
double h )
inline

Evaluate per-barrel wetted perimeter for FV geometry sampling.

Closed rectangles ramp the roof contribution over the final 3 percent of full area. Filled circles include the flat sediment surface; open rectangles honor ignored-side count. POWERFUNC uses adaptive side-arc integration plus a tiny-invert chord approximation. Other non-analytic shapes use legacy A/R, returning zero if R<=0. No numerical status is reported.

Parameters
[in]xsBorrowed initialized per-barrel native-ft geometry with positive y_full and valid shape coefficients/profile tables. No pointers are retained.
[in]hFinite depth in ft; values above y_full are clamped before geometry evaluation.
Returns
Perimeter in ft; h<=0 returns zero.
Here is the call graph for this function:
Here is the caller graph for this function:

◆ widthOfDepth()

double openswmm::fv::secgeom::widthOfDepth ( const XSectParams & xs,
double h )
inline

Evaluate per-barrel top width including the invert boundary value.

Rectangles retain wall width at the crown and invert. Circular crown width is zero; filled-circular invert width is the sediment chord. Unsupported analytic shapes use the legacy evaluator. Slot extension and barrel factors are added by the mesh builder.

Parameters
[in]xsBorrowed initialized per-barrel native-ft geometry with positive y_full and valid shape coefficients/profile tables. No pointers are retained.
[in]hFinite depth in ft; values above y_full are clamped before geometry evaluation.
Returns
Width in ft; h<0 returns zero, but h==0 evaluates the shape width.
Here is the call graph for this function:

Variable Documentation

◆ kPi

double openswmm::fv::secgeom::kPi = 3.14159265358979323846
inlineconstexpr

◆ kRectAlfMax

double openswmm::fv::secgeom::kRectAlfMax = 0.97
inlineconstexpr

Legacy RECT_ALFMAX (xsect.c): the filling fraction above which a closed rectangle's wetted perimeter is ramped toward the full-pipe value, so R(h) reaches r_full continuously instead of jumping at the crown.