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

Phase H1 — the LEGACY (CSTR) engine's temperature transport. More...

This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Namespaces

namespace  openswmm
 
namespace  openswmm::transport
 

Functions

void openswmm::transport::routeLegacyHeat (SimulationContext &ctx, double dt)
 

Detailed Description

Phase H1 — the LEGACY (CSTR) engine's temperature transport.

A single-scalar rerun of the CSTR quality stages for __TEMPERATURE__, in the same order the pollutant arrays take — structurally the A1b water-age mirror (WaterAgeModule/WaterAgeLegacy.cpp) with three deliberate differences, each of which is a way a verbatim copy would have been wrong:

  1. No aging step. Age grows at 1 s/s in every parcel; temperature does not grow at all in H1. Heat SOURCES (the W/m² surface, radiative and sediment fluxes of plan §2) arrive with H2–H4 and will enter here, at the stage the age mirror uses for aging.
  2. No zero floor. The age mirror ends each stage with max(value, 0) because a negative age is meaningless. Temperatures below 0 °C are ordinary, and flooring them would silently warm every cold-weather model to freezing. The bound here is the physical one: a volume-weighted mean lies between its inputs, so the clamp is two-sided, [min(T_old, T_in), max(T_old, T_in)].
  3. Initial state is a temperature, not a zero. An unseeded network starts at the configured INITIAL_STATE temperature (default 20 °C), not at 0.

Like the age mirror this runs at the END of QualitySolver::execute — it reads the fully accumulated qual_vol_in as its mixing denominator — and writes ONLY heat_state, so HEAT_TRANSPORT ON leaves every pollutant and water-age trajectory bit-identical under LEGACY.

See also
plans/transport/HEAT_TRANSPORT_PLAN.md §1, §6 H1
Author
Caleb Buahin caleb.nosp@m..bua.nosp@m.hin@g.nosp@m.mail.nosp@m..com
License\n Apache-2.0