![]() |
OpenSWMM Engine
6.0.0-alpha.4
Data-oriented, plugin-extensible SWMM Engine (6.0.0-alpha.4)
|
G-step 1 — state, parameters and options for the two-zone groundwater kernel (TWO_ZONE_GROUNDWATER_EXPLICIT_LTS_PLAN §4). More...
#include <cstdint>#include <string>#include <vector>Go to the source code of this file.
Classes | |
| struct | openswmm::twoD::GwNodeBed |
| struct | openswmm::twoD::GwOptions |
[2D_AQUIFER_OPTIONS]. Defaults are the plan's starred values. More... | |
| struct | openswmm::twoD::GwAquiferRow |
| struct | openswmm::twoD::SubsurfaceState |
| Per-cell resolved parameters and state (SoA). More... | |
| struct | openswmm::twoD::GwUnitFactors |
| Project-unit → SI multipliers for the four kinds of aquifer number. More... | |
| struct | openswmm::twoD::SubsurfaceConfig |
| Everything the parser fills, before resolution onto cells. More... | |
Namespaces | |
| namespace | openswmm |
| namespace | openswmm::twoD |
Enumerations | |
| enum class | openswmm::twoD::SoilChar : int8_t { openswmm::twoD::RUSSO = 0 , openswmm::twoD::GARDNER = 1 , openswmm::twoD::BROOKS_COREY = 2 , openswmm::twoD::VAN_GENUCHTEN = 3 } |
| enum class | openswmm::twoD::GwClosure : int8_t { openswmm::twoD::AUTO = -1 , openswmm::twoD::CLOSED_FORM = 0 , openswmm::twoD::ENSLAVED = 1 , openswmm::twoD::SIGMA = 2 } |
| Unsaturated-zone closure, resolved per cell from AUTO at initialize. More... | |
Functions | |
| const char * | openswmm::twoD::soilCharToken (SoilChar s) noexcept |
| bool | openswmm::twoD::parseSoilChar (const std::string &t, SoilChar &s) noexcept |
| const char * | openswmm::twoD::gwClosureToken (GwClosure c) noexcept |
| bool | openswmm::twoD::parseGwClosure (const std::string &t, GwClosure &c) noexcept |
G-step 1 — state, parameters and options for the two-zone groundwater kernel (TWO_ZONE_GROUNDWATER_EXPLICIT_LTS_PLAN §4).
Two zones per mesh cell, glued at a moving water table:
- **Saturated:** one state `hg` (m of saturated thickness above the
aquifer bottom), updated by an explicit FV balance of recharge,
lateral Darcy across the cell's edges, deep loss and node
exchange (§2.1).
- **Unsaturated:** either closure A — one bulk state `hu` (m of
water stored as an equivalent depth) driven by a closed-form
quasi-steady recharge — or closure B, an explicit σ-coordinate
column of `m` layers whose bottom flux IS the recharge (§2.3).
**Everything here is SI.** The 2D module runs in metres and
seconds throughout; the 1D engine's feet never reach this code.
`[2D_AQUIFER]` rows are authored in the project's own units and
converted once, at parse.
**Cell-generic.** A cell is a triangle or a quad; nothing here
divides by 3 or indexes a fixed edge count. Lateral edges come
from the mesh's own per-cell slot range.