![]() |
OpenSWMM Engine
6.0.0-alpha.4
Data-oriented, plugin-extensible SWMM Engine (6.0.0-alpha.4)
|
Classes | |
| struct | Cell |
| struct | Column |
| struct | Material |
| struct | Options |
| struct | Report |
| struct | Transfer |
Enumerations | |
| enum class | Bottom { Sealed , FreeDrainage , Head } |
Functions | |
| bool | valid (const Material &p, double theta_s) |
| Check the finite material ranges required by the column kernels. | |
| bool | valid (const Options &o) |
| Check integration/discretization option ranges without considering enabled. | |
| double | theta (const Material &p, double theta_s, double pressure) |
| Compute van Genuchten pore water content from pressure head. | |
| double | storage (const Material &p, double theta_s, double pressure) |
| Compute pore plus explicitly authored positive-head elastic storage. | |
| double | pressure (const Material &p, double theta_s, double storage_fraction) |
| Invert volumetric storage to pressure head. | |
| double | conductivity (const Material &p, double Ks, double pressure) |
| Evaluate van Genuchten-Mualem unsaturated hydraulic conductivity. | |
| std::vector< Report > | advance (std::vector< Column * > &columns, double dt) |
| Advance independently adaptive Richards columns with all-column rollback. | |
|
strong |
Advance independently adaptive Richards columns with all-column rollback.
| [in,out] | columns | Non-owning distinct nonnull pointers, each with at least two cells: surface reservoir first, porous cells top to bottom. water holds m3 and matches cell count. Validates positive finite volume/area/dz, finite z, theta_s in (0,1], nonnegative Ks/wilting/ET, valid porous materials/options, and initial water (nonnegative surface; strictly above residual volume in porous cells). Boundary heads/distances/conductivities, areas/factors, reservations and supply must be compatible finite/nonnegative values; reservation limits alone may be +infinity. Counts/packed products must fit int. Pointer vector/geometry/options are retained. |
| dt | Finite positive integration interval seconds; no external clock updated. |
| double openswmm::richards::conductivity | ( | const Material & | p, |
| double | Ks, | ||
| double | pressure ) |
Evaluate van Genuchten-Mualem unsaturated hydraulic conductivity.
| p | Valid material with nonnegative pore-connectivity exponent l. |
| Ks | Finite nonnegative saturated conductivity m/s. |
| pressure | Pressure head metres; nonnegative heads return Ks. |
| double openswmm::richards::pressure | ( | const Material & | p, |
| double | theta_s, | ||
| double | storage_fraction ) |
Invert volumetric storage to pressure head.
| p | Valid material including positive specific_storage. |
| theta_s | Valid saturated pore fraction above residual fraction. |
| storage_fraction | Total stored-water/volume ratio, including elastic storage. |
| double openswmm::richards::storage | ( | const Material & | p, |
| double | theta_s, | ||
| double | pressure ) |
Compute pore plus explicitly authored positive-head elastic storage.
| p | Valid material, specific_storage in 1/m. |
| theta_s | Saturated volumetric pore fraction. |
| pressure | Pressure head metres. |
| double openswmm::richards::theta | ( | const Material & | p, |
| double | theta_s, | ||
| double | pressure ) |
Compute van Genuchten pore water content from pressure head.
| p | Valid material; alpha is 1/m and n dimensionless. |
| theta_s | Valid saturated volumetric fraction above theta_r. |
| pressure | Pressure head metres; >=0 returns theta_s, negative heads follow the retention curve. Caller supplies a meaningful finite value or dry -infinity. |
| bool openswmm::richards::valid | ( | const Material & | p, |
| double | theta_s ) |
Check the finite material ranges required by the column kernels.
| p | Material with residual fraction, inverse-metre alpha, n>1, nonnegative pore-connectivity l and strictly positive specific storage in 1/m. |
| theta_s | Saturated pore fraction in (0,1], strictly above theta_r>=0. |
| bool openswmm::richards::valid | ( | const Options & | o | ) |
Check integration/discretization option ranges without considering enabled.
| o | cells_per_layer in [1,256], finite positive atol/rtol and max_step seconds. |