![]() |
OpenSWMM Engine
6.0.0-alpha.4
Data-oriented, plugin-extensible SWMM Engine (6.0.0-alpha.4)
|
Heat-transport data (heat plan §1, §3; phase H1). More...
Go to the source code of this file.
Classes | |
| struct | openswmm::ConductionConfig |
| Vertical conduction between LID layers (plan §6.1 D-H5b, H5b). More... | |
| struct | openswmm::SolarConfig |
[SOLAR_RADIATION] — site geometry and Bird atmosphere (H6a). More... | |
| struct | openswmm::CloudConfig |
[CLOUD_COVER] — one fraction driving two modules (H6a, D-H6a-2). More... | |
| struct | openswmm::RadiativeConfig |
[RADIATIVE_FLUXES] parameters (heat plan §2.2, phase H3). More... | |
| struct | openswmm::HeatOverrideData |
| Dense per-element attribute storage (PE2, D-PE2). More... | |
| struct | openswmm::HeatConfigData |
Parsed model.heat state (heat component, phase H1). More... | |
| struct | openswmm::HeatState |
| Runtime heat state shared by the engines (phase H1). More... | |
Namespaces | |
| namespace | openswmm |
Enumerations | |
| enum class | openswmm::HeatSource : int { openswmm::RAINFALL = 0 , openswmm::DWF = 1 , openswmm::GW = 2 , openswmm::RDII = 3 , openswmm::EXTERNAL_INFLOW = 4 , openswmm::IFACE = 5 , openswmm::INITIAL_STATE = 6 , openswmm::COUNT_ = 7 } |
| enum class | openswmm::HeatSubArea : int { openswmm::IMPERV0 = 0 , openswmm::IMPERV1 = 1 , openswmm::PERV = 2 , openswmm::COUNT_ = 3 } |
| enum class | openswmm::DryTempPolicy : int { openswmm::HOLD = 0 , openswmm::AIR = 1 , openswmm::DEFAULT = 2 } |
| What a dry or absent element reports (plan D-H5c, user 2026-08-19). More... | |
| enum class | openswmm::ShortwaveMode : int { openswmm::CONSTANT = 0 , openswmm::TIMESERIES = 1 , openswmm::COMPUTED = 2 } |
Where incoming shortwave Jin comes from (plan §2.5, phase H6a). More... | |
Heat-transport data (heat plan §1, §3; phase H1).
Temperature is the reserved species __TEMPERATURE__ (registry kind RESERVED_TEMPERATURE), advected and mixed by whichever quality engine is active. H1 delivers TRANSPORT ONLY — the surface, radiative and sediment flux modules of plan §2 arrive with H2–H4, so nothing here adds or removes energy; temperature is carried and mixed exactly as a conservative tracer.
Per-source inlet temperatures come from the heat component's [HEAT_SOURCES] (model.heat, D-UT8), mirroring [WATER_AGE_SOURCES] row-for-row. Each QualitySolver loader contributes q · T_source to its node, the same seam the age channel uses (master plan §4.3 / D-UT10).
ρw cp V T_source. At H1 there are no energy fluxes, so ρw and cp appear on BOTH sides of every mixing operation and cancel identically — carrying them would ship two constants that no H1 gate could observe being wrong (lesson 39: unobserved is not tested). node_temp_vol_in is therefore q · T (°C·ft³/s), the exact analogue of node_age_vol_in. H2 introduces the constants together with the W/m² fluxes that make them load-bearing and observable, and rescales this accumulator to J/s at that point — a rename in the same loader sites, which is the churn D-UT10 already accepted as cheap.