![]() |
OpenSWMM Engine
6.0.0-alpha.4
Data-oriented, plugin-extensible SWMM Engine (6.0.0-alpha.4)
|
Plan H6b — the bed / hyporheic transient-storage zone. More...
#include <cstddef>#include <vector>Go to the source code of this file.
Classes | |
| struct | openswmm::SedimentConfig |
[SEDIMENT_EXCHANGE] — the bed zone's material and geometry. More... | |
| struct | openswmm::BedZoneState |
| Runtime bed state, one entry per LINK. More... | |
Namespaces | |
| namespace | openswmm |
Plan H6b — the bed / hyporheic transient-storage zone.
A second, immobile water-and-sediment body beneath each conduit. It exchanges with the channel by conduction and by hyporheic advection, and it conducts to a deep-ground boundary held at a fixed or time-varying temperature. It is the zone HydroCouple's HTSComponent models as a coupled component; here it is internal state, because SWMM has no component to couple to.
HTSComponent/src/element.cpp:132-141: elementoutput.cpp:104,117 hands the channel back -adv and -cond_mc — exact reciprocity. Only the ground term is a true source or sink; everything else moves energy between two bodies that this engine owns, so their sum is conserved and a gate asserts it.HTSComponent is an open-channel model where W is both. A SWMM conduit is usually a closed pipe, whose contact with the surrounding soil is P = A/R, and for a full circular pipe the top width is zero — the reference's spelling would switch the whole module off exactly when a surcharged pipe conducts most. This is the "clear conceptual issue" exception to parity.HTSComponent receives mainChannelAdvectionCoeff per element from a coupled subsurface model (elementinput.cpp:368). SWMM has no such supplier, and one absolute m³/s applied to every conduit in a network of mixed lengths is not a physical statement. Q_hts = v_hyp · A_bed scales with the element the way the conduction term already does.HTSComponent's own (htsmodel.cpp:50-51) — deliberately NOT ConductionConfig's 1970/2758, which came from GWComponent and describes a bioretention soil column. HeatData.hpp:128 already records that the two are different materials; this is the file that needs the other one.