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

[SEDIMENT_EXCHANGE] — the bed zone's material and geometry. More...

#include <BedZoneData.hpp>

Collaboration diagram for openswmm::SedimentConfig:

Public Attributes

double thermal_diffusivity = 1.0e-6
 
double solute_diffusivity = 1.0e-9
 
double bed_thickness = 0.20
 
double ground_depth = 2.0
 
double ground_temp = 12.0
 Deep-ground temperature T_gr, °C. Constant spelling.
 
bool has_ground_temp = false
 
int ground_ts_index = -1
 
double hyporheic_velocity = 0.0
 
double sed_density = 1670.0
 Bed bulk density rho_sed, kg/m³ (htsmodel.cpp:50).
 
double sed_specific_heat = 1807.0
 Bed specific heat c_sed, J/kg/K (htsmodel.cpp:51).
 
double initial_temp = 12.0
 
bool has_initial_temp = false
 

Detailed Description

[SEDIMENT_EXCHANGE] — the bed zone's material and geometry.

Every field has a defensible default, so [HEAT_FLUXES] SEDIMENT_EXCHANGE ON alone is a runnable configuration. Two fields deliberately do NOT: ground_temp and the initial bed temperature. See has_ground_temp.

Member Data Documentation

◆ bed_thickness

double openswmm::SedimentConfig::bed_thickness = 0.20

Bed layer thickness Y_hts, m. The conduction length between the channel and the bed's own mean temperature, AND the thickness that sets the bed's heat capacity.

◆ ground_depth

double openswmm::SedimentConfig::ground_depth = 2.0

Depth from the bed to the deep-ground boundary Y_gr, m. The reference defaults this to 0.01 m (element.cpp:38), which makes the ground term dominate everything else; that is a placeholder awaiting a coupled GWComponent, not a recommendation. 2 m is the depth below which the annual signal is small for typical soils.

◆ ground_temp

double openswmm::SedimentConfig::ground_temp = 12.0

Deep-ground temperature T_gr, °C. Constant spelling.

◆ ground_ts_index

int openswmm::SedimentConfig::ground_ts_index = -1

GROUND_TEMPERATURE TIMESERIES <name> — index into ctx.tables, -1 when the constant spelling is in force.

◆ has_ground_temp

bool openswmm::SedimentConfig::has_ground_temp = false

Set by the parser when the deck stated GROUND_TEMPERATURE. The module RUNS without it — 12 °C is a real number, not a sentinel — but the ground term is often the largest one in a buried pipe, so an unstated value is WARNED about rather than silently accepted. This is the SolarConfig::has_timezone precedent, not the has_latitude one: warn, do not refuse.

◆ has_initial_temp

bool openswmm::SedimentConfig::has_initial_temp = false

◆ hyporheic_velocity

double openswmm::SedimentConfig::hyporheic_velocity = 0.0

Hyporheic exchange velocity v_hyp, m/s, across the bed interface. Q_hts = v_hyp * A_bed. Defaults to 0 — conduction only — so a deck that turns the module on without naming an exchange rate gets the conduction the user asked for and no invented advection.

◆ initial_temp

double openswmm::SedimentConfig::initial_temp = 12.0

Initial bed temperature, °C. When the deck does not state one the bed starts at ground_temp, which is the only temperature in the configuration that describes the subsurface.

◆ sed_density

double openswmm::SedimentConfig::sed_density = 1670.0

Bed bulk density rho_sed, kg/m³ (htsmodel.cpp:50).

◆ sed_specific_heat

double openswmm::SedimentConfig::sed_specific_heat = 1807.0

Bed specific heat c_sed, J/kg/K (htsmodel.cpp:51).

◆ solute_diffusivity

double openswmm::SedimentConfig::solute_diffusivity = 1.0e-9

Bed effective solute diffusivity D_sed, m²/s. ONE value for every species: HTSComponent carries a per-solute array (sedSoluteDiffCoefficients) fed element by element, which SWMM cannot supply. A per-species spelling is a later key, not a later meaning — the physics below is already per species.

◆ thermal_diffusivity

double openswmm::SedimentConfig::thermal_diffusivity = 1.0e-6

Bed thermal diffusivity alpha_sed, m²/s. HTSComponent takes this per element from a coupled model; 1.0e-6 is the usual saturated-sand value and is what the reference's own test decks carry.


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