OpenSWMM Engine  6.0.0-alpha.4
Data-oriented, plugin-extensible SWMM Engine (6.0.0-alpha.4)
Loading...
Searching...
No Matches
SubsurfaceData.hpp File Reference

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>
Include dependency graph for SubsurfaceData.hpp:
This graph shows which files directly or indirectly include this file:

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
 

Detailed Description

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.
Author
Caleb Buahin caleb.nosp@m..bua.nosp@m.hin@g.nosp@m.mail.nosp@m..com
License\n Apache-2.0