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

U4 (2026-09-07) — authoring state for subsurface (groundwater) transport: [GW_TRANSPORT_OPTIONS], [GW_TRANSPORT_PARAMS], [GW_SORPTION], [GW_INITIAL_QUALITY], [GW_BOUNDARY_QUALITY] and [GW_SOURCES]. More...

#include <cstdint>
#include <string>
#include <vector>
Include dependency graph for GwTransportData.hpp:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  openswmm::twoD::GwTransportOptions
 
struct  openswmm::twoD::GwParamsRow
 One [GW_TRANSPORT_PARAMS] row: solute + thermal matrix properties. More...
 
struct  openswmm::twoD::GwSorptionRow
 One [GW_SORPTION] row: retardation input for one species in one scope. More...
 
struct  openswmm::twoD::GwInitialQualityRow
 One [GW_INITIAL_QUALITY] row. More...
 
struct  openswmm::twoD::GwBoundaryQualityRow
 One [GW_BOUNDARY_QUALITY] row — a lateral edge BC. More...
 
struct  openswmm::twoD::GwSourceSpeciesTerm
 One [GW_SOURCES] species term. More...
 
struct  openswmm::twoD::GwSourceRow
 One [GW_SOURCES] row — a well / point source or sink. More...
 
struct  openswmm::twoD::GwTransportData
 Every [GW_*] authoring row of one model. More...
 

Namespaces

namespace  openswmm
 
namespace  openswmm::twoD
 

Enumerations

enum class  openswmm::twoD::GwZone : int8_t {
  openswmm::twoD::SAT = 0 ,
  openswmm::twoD::UNSAT = 1 ,
  openswmm::twoD::LAYER = 2
}
 Which zone of the two-zone column a row addresses. More...
 
enum class  openswmm::twoD::GwScope : int8_t {
  openswmm::twoD::GLOBAL = 0 ,
  openswmm::twoD::TAG = 1 ,
  openswmm::twoD::CELL = 2
}
 Scope of a per-cell row. More...
 

Functions

const char * openswmm::twoD::gwZoneToken (GwZone z) noexcept
 
bool openswmm::twoD::parseGwZone (const std::string &token, GwZone &z) noexcept
 
const char * openswmm::twoD::gwScopeToken (GwScope s) noexcept
 

Detailed Description

U4 (2026-09-07) — authoring state for subsurface (groundwater) transport: [GW_TRANSPORT_OPTIONS], [GW_TRANSPORT_PARAMS], [GW_SORPTION], [GW_INITIAL_QUALITY], [GW_BOUNDARY_QUALITY] and [GW_SOURCES].

Authoring only in this release. The two-zone integrated groundwater kernel (G1 of the two-zone plan) does not exist yet, so these rows are parsed, validated against the mesh and the species registry, held here, round-tripped by the writer and exposed through openswmm_gw_transport.h — and a run emits ONE warning saying the kernel is not available. That is the deliberate shape: a user can author, save, reopen and share a complete subsurface-transport model before the solver lands, and nothing about the file changes when it does.

Cell-generic (the tri/quad amendment): every scope is a CELL index or a TAG, never a "triangle"; an edge is EDGE 0..nv-1 of its cell, validated against MeshData::cell_nv. No /3, no * 3, no tri_ naming.

Resolution ladder, the same one [2D_INFILTRATION] and [2D_INITIAL_QUALITY] use: * < TAG < CELL, applied by ORDER (later rows win) rather than by comparison.

Author
Caleb Buahin caleb.nosp@m..bua.nosp@m.hin@g.nosp@m.mail.nosp@m..com
License\n Apache-2.0