![]() |
OpenSWMM Engine
6.0.0-alpha.4
Data-oriented, plugin-extensible SWMM Engine (6.0.0-alpha.4)
|
[SEDIMENT_EXCHANGE] — the bed zone's material and geometry.
More...
#include <BedZoneData.hpp>
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 |
[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.
| 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.
| 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.
| double openswmm::SedimentConfig::ground_temp = 12.0 |
Deep-ground temperature T_gr, °C. Constant spelling.
| int openswmm::SedimentConfig::ground_ts_index = -1 |
GROUND_TEMPERATURE TIMESERIES <name> — index into ctx.tables, -1 when the constant spelling is in force.
| 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.
| bool openswmm::SedimentConfig::has_initial_temp = false |
| 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.
| 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.
| double openswmm::SedimentConfig::sed_density = 1670.0 |
Bed bulk density rho_sed, kg/m³ (htsmodel.cpp:50).
| double openswmm::SedimentConfig::sed_specific_heat = 1807.0 |
Bed specific heat c_sed, J/kg/K (htsmodel.cpp:51).
| 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.
| 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.