OpenSWMM Engine  6.0.0-alpha.4
Data-oriented, plugin-extensible SWMM Engine (6.0.0-alpha.4)
Loading...
Searching...
No Matches
HeatLegacy.cpp File Reference

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"
Include dependency graph for HeatLegacy.cpp:

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
 

Detailed Description

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.

Author
Caleb Buahin caleb.nosp@m..bua.nosp@m.hin@g.nosp@m.mail.nosp@m..com
License
Apache-2.0