![]() |
OpenSWMM Engine
6.0.0-alpha.4
Data-oriented, plugin-extensible SWMM Engine (6.0.0-alpha.4)
|
Phase H1 body — LEGACY CSTR temperature transport. More...
#include "HeatLegacy.hpp"#include <algorithm>#include <cmath>#include <vector>#include "../../../core/SimulationContext.hpp"#include "../../../quality/QualityRouting.hpp"#include "../../InitialQualitySeeds.hpp"#include "../HeatFluxModules/HeatFluxes.hpp"Namespaces | |
| namespace | openswmm |
| namespace | openswmm::transport |
Functions | |
| void | openswmm::transport::routeLegacyHeat (SimulationContext &ctx, double dt) |
| Apply heat flux then legacy complete-mix transport of node/link temperatures. | |
Variables | |
| constexpr double | openswmm::transport::ZERO_DEPTH |
| constexpr double | openswmm::transport::LEGACY_ZERO |
Phase H1 body — LEGACY CSTR temperature transport.
Formula provenance is the pollutant path in QualityRouting.cpp, by way of the A1b age mirror: accumulateLinkLoads (rate convention q·value), mixAtNodes (the findStorageQual / findNodeQual dispatch and the volume-balance mix), updateLinkQuality (the non-conduit shortcut, findSFLinkQual's node1 and the DW volume-change inflow), all asked for through the shared predicates in QualityRouting.hpp.
Differences from the age mirror are enumerated in the header. Two are load-bearing: nothing here is floored at zero, and the DRY-NODE AND DRY-LINK RULES DO NOT CARRY OVER — legacy zeroes a concentration because an empty store holds no mass, but 0 °C is an ordinary temperature rather than an absence, so zeroing it would freeze every element that happened to drain.