OpenSWMM Engine  6.0.0-alpha.4
Data-oriented, plugin-extensible SWMM Engine (6.0.0-alpha.4)
Loading...
Searching...
No Matches
openswmm::SimulationContext::MassBalance2D Struct Reference

#include <SimulationContext.hpp>

Collaboration diagram for openswmm::SimulationContext::MassBalance2D:

Public Member Functions

double error () const
 2D surface continuity error (fraction).
 

Public Attributes

double init_storage = 0.0
 Initial surface storage (m³)
 
double final_storage = 0.0
 Latest surface storage (m³)
 
double external_in = 0.0
 
double external_out = 0.0
 Runtime external source volumes (m³)
 
double rainfall_in = 0.0
 Cumulative rainfall volume (m³)
 
double coupling_1d_to_2d_in = 0.0
 Cumulative 1D→2D spill into 2D (m³)
 
double coupling_2d_to_1d_out = 0.0
 Cumulative 2D→1D drainage out (m³)
 
double outfall_in = 0.0
 Cumulative 1D outfall discharge into 2D (m³)
 
double outfall_out = 0.0
 Cumulative 2D→pipe withdrawal at submerged outfalls (m³)
 
double boundary_in = 0.0
 Cumulative boundary inflow (m³)
 
double boundary_out = 0.0
 Cumulative boundary outflow (m³)
 
double evap_out = 0.0
 
double infil_out = 0.0
 
double infil_to_aquifer = 0.0
 
double infil_aquifer_pending = 0.0
 
double aquifer_in = 0.0
 
bool active = false
 True if the 2D module ran.
 
long solver_nsteps = -1
 internal (marcher) substeps
 
long solver_nrhs = 0
 face-kernel evaluations
 
double solver_avg_h = 0.0
 mean accepted internal step (s)
 
double solver_last_h = 0.0
 last accepted internal step (s)
 
double solver_active_min = -1.0
 min active-cell fraction
 
double solver_active_mean = -1.0
 mean active-cell fraction
 
double solver_active_max = -1.0
 max active-cell fraction
 
long solver_tier_cells [8] = {0}
 cumulative cells per LTS tier
 
int solver_n_tiers = 0
 populated tier count
 

Member Function Documentation

◆ error()

double openswmm::SimulationContext::MassBalance2D::error ( ) const
inline

2D surface continuity error (fraction).

Member Data Documentation

◆ active

bool openswmm::SimulationContext::MassBalance2D::active = false

True if the 2D module ran.

◆ aquifer_in

double openswmm::SimulationContext::MassBalance2D::aquifer_in = 0.0

G1 (2026-09-07): cumulative water the two-zone [2D_AQUIFER] returned to the surface — Dunne saturation excess and top-layer rejection — m³. An INFLOW to the surface domain, and the mirror of the infil_out share the aquifer received. Without it the returned water reads as storage created from nothing and the 2D continuity error grows by exactly the volume that came back up. Zero unless a [2D_AQUIFER] resolved.

◆ boundary_in

double openswmm::SimulationContext::MassBalance2D::boundary_in = 0.0

Cumulative boundary inflow (m³)

◆ boundary_out

double openswmm::SimulationContext::MassBalance2D::boundary_out = 0.0

Cumulative boundary outflow (m³)

◆ coupling_1d_to_2d_in

double openswmm::SimulationContext::MassBalance2D::coupling_1d_to_2d_in = 0.0

Cumulative 1D→2D spill into 2D (m³)

◆ coupling_2d_to_1d_out

double openswmm::SimulationContext::MassBalance2D::coupling_2d_to_1d_out = 0.0

Cumulative 2D→1D drainage out (m³)

◆ evap_out

double openswmm::SimulationContext::MassBalance2D::evap_out = 0.0

Cumulative evaporation loss (m³)

◆ external_in

double openswmm::SimulationContext::MassBalance2D::external_in = 0.0

◆ external_out

double openswmm::SimulationContext::MassBalance2D::external_out = 0.0

Runtime external source volumes (m³)

◆ final_storage

double openswmm::SimulationContext::MassBalance2D::final_storage = 0.0

Latest surface storage (m³)

◆ infil_aquifer_pending

double openswmm::SimulationContext::MassBalance2D::infil_aquifer_pending = 0.0

G1-c item 1 (2026-09-19): the SUBCATCH_AQUIFER share the marcher has applied but the runoff step has not yet delivered to the aquifer (m³) — the volume between one runoff drain and the next, non-zero at the end of a run. infil_to_aquifer is booked at delivery, so infil_to_aquifer + infil_aquifer_pending is the aquifer-bound share of infil_out at any instant.

◆ infil_out

double openswmm::SimulationContext::MassBalance2D::infil_out = 0.0

Cumulative 2D per-cell infiltration loss (m³). Track I, plan §5.5.4. Destination is LOST in this release (D-I4), so this is a true exit from the modelled system and enters the continuity balance as a loss term alongside evap_out.

◆ infil_to_aquifer

double openswmm::SimulationContext::MassBalance2D::infil_to_aquifer = 0.0

U3 (track I-b, 2026-09-07): the part of infil_out routed into a legacy subcatchment aquifer ([2D_OPTIONS] INFIL_DESTINATION SUBCATCH_AQUIFER), m³. It is a TRANSFER, not an exit: the same volume enters the 1D groundwater ledger as recharge, so a whole-model balance nets it out. infil_out still carries it, so the 2D-only continuity check is unchanged.

◆ init_storage

double openswmm::SimulationContext::MassBalance2D::init_storage = 0.0

Initial surface storage (m³)

◆ outfall_in

double openswmm::SimulationContext::MassBalance2D::outfall_in = 0.0

Cumulative 1D outfall discharge into 2D (m³)

◆ outfall_out

double openswmm::SimulationContext::MassBalance2D::outfall_out = 0.0

Cumulative 2D→pipe withdrawal at submerged outfalls (m³)

◆ rainfall_in

double openswmm::SimulationContext::MassBalance2D::rainfall_in = 0.0

Cumulative rainfall volume (m³)

◆ solver_active_max

double openswmm::SimulationContext::MassBalance2D::solver_active_max = -1.0

max active-cell fraction

◆ solver_active_mean

double openswmm::SimulationContext::MassBalance2D::solver_active_mean = -1.0

mean active-cell fraction

◆ solver_active_min

double openswmm::SimulationContext::MassBalance2D::solver_active_min = -1.0

min active-cell fraction

◆ solver_avg_h

double openswmm::SimulationContext::MassBalance2D::solver_avg_h = 0.0

mean accepted internal step (s)

◆ solver_last_h

double openswmm::SimulationContext::MassBalance2D::solver_last_h = 0.0

last accepted internal step (s)

◆ solver_n_tiers

int openswmm::SimulationContext::MassBalance2D::solver_n_tiers = 0

populated tier count

◆ solver_nrhs

long openswmm::SimulationContext::MassBalance2D::solver_nrhs = 0

face-kernel evaluations

◆ solver_nsteps

long openswmm::SimulationContext::MassBalance2D::solver_nsteps = -1

internal (marcher) substeps

◆ solver_tier_cells

long openswmm::SimulationContext::MassBalance2D::solver_tier_cells[8] = {0}

cumulative cells per LTS tier


The documentation for this struct was generated from the following file: