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

Functions

OPENSWMM_POND_HD double area (double x, double a_eq, double band)
 Pond surface area at depth x above the rim.
 
OPENSWMM_POND_HD double volume (double x, double a_eq, double band)
 Pond volume held between the rim and depth x above it.
 
OPENSWMM_POND_HD double depthForVolume (double v, double a_eq, double band)
 Depth above the rim at which the pond holds v (inverse of volume()).
 
OPENSWMM_POND_HD double equalizeCap (double dh, double window, double a1)
 Head-equalisation cap on one exchange (the generalised Rubinato Eq. 10 limiter). The 1D head is frozen for the coupling window T while the 2D cell is re-evaluated every substep against its live head, so the only head an exchange can carry past the other within the window is the 1D node's: |Q| ≤ |Δh|·A1/T. (The first form also charged the coupling cell for the whole window, |Δh|/(T(1/A1 + 1/A2)); that scaled the cap with the cell's area and choked the exchange wherever cells are smaller than the structure, while the drain/spill churn it removes is the 1D side's.) Returns the largest admissible |Q|; +∞ when the area or window is unknown.
 

Function Documentation

◆ area()

OPENSWMM_POND_HD double openswmm::twoD::pond::area ( double x,
double a_eq,
double band )

Pond surface area at depth x above the rim.

Parameters
[in]xFinite depth above the rim; nonpositive values return zero.
[in]a_eqFinite nonnegative full pond area, in consistent length units squared.
[in]bandFinite ramp depth in the same length units; nonpositive selects the abrupt legacy step.
Note
Pure host/device arithmetic; no state or allocation. Units may be SI or project units but must be consistent.
Returns
Pond surface area in squared length units.

◆ depthForVolume()

OPENSWMM_POND_HD double openswmm::twoD::pond::depthForVolume ( double v,
double a_eq,
double band )

Depth above the rim at which the pond holds v (inverse of volume()).

Parameters
[in]vPond volume in consistent cubic length units; nonpositive volume or area returns zero.
[in]a_eqFinite nonnegative full pond area, in consistent length units squared.
[in]bandFinite ramp depth in the same length units; nonpositive selects the abrupt legacy step.
Note
Pure host/device arithmetic; no state or allocation. Units may be SI or project units but must be consistent.
Returns
Depth above the rim. The ramp inverse uses at most 60 safeguarded Newton steps and returns the last iterate without a separate convergence code.

◆ equalizeCap()

OPENSWMM_POND_HD double openswmm::twoD::pond::equalizeCap ( double dh,
double window,
double a1 )

Head-equalisation cap on one exchange (the generalised Rubinato Eq. 10 limiter). The 1D head is frozen for the coupling window T while the 2D cell is re-evaluated every substep against its live head, so the only head an exchange can carry past the other within the window is the 1D node's: |Q| ≤ |Δh|·A1/T. (The first form also charged the coupling cell for the whole window, |Δh|/(T(1/A1 + 1/A2)); that scaled the cap with the cell's area and choked the exchange wherever cells are smaller than the structure, while the drain/spill churn it removes is the 1D side's.) Returns the largest admissible |Q|; +∞ when the area or window is unknown.

Parameters
[in]dhFinite surface-minus-node head difference in consistent length units; sign is ignored.
[in]windowCoupling window in seconds; nonpositive means unavailable.
[in]a1Finite effective 1D node area in squared length units; nonpositive means unavailable.
Returns
Maximum admissible magnitude in cubic length units per second, or positive infinity when window/area is unavailable.
Note
Pure per-exchange cap. No mutation or allocation; the surface is reevaluated each substep and only the frozen 1D node area enters this cap.
Here is the caller graph for this function:

◆ volume()

OPENSWMM_POND_HD double openswmm::twoD::pond::volume ( double x,
double a_eq,
double band )

Pond volume held between the rim and depth x above it.

Parameters
[in]xFinite depth above the rim; nonpositive values return zero.
[in]a_eqFinite nonnegative full pond area, in consistent length units squared.
[in]bandFinite ramp depth in the same length units; nonpositive selects the abrupt legacy step.
Note
Pure host/device arithmetic; no state or allocation. Units may be SI or project units but must be consistent.
Returns
Stored above-rim volume in cubed length units.