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

[INITIAL_QUALITY] reserved-species (WATER_AGE/__TEMPERATURE__) helpers for the per-engine seed sites (E-A3). More...

Include dependency graph for InitialQualitySeeds.hpp:
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

double openswmm::transport::initialAgeSecondsFor (const SimulationContext &ctx, bool is_link, int idx, double fallback)
 Per-element initial age (SECONDS) for one node/link, falling back to fallback (normally the INITIAL_STATE global) when no [INITIAL_QUALITY] row targets the element. Later rows win.
 
double openswmm::transport::initialTempFor (const SimulationContext &ctx, bool is_link, int idx, double fallback)
 Per-element initial temperature (degC) for one node/link, falling back to fallback (normally the INITIAL_STATE global).
 
void openswmm::transport::applyInitialAgeOverrides (SimulationContext &ctx)
 Apply WATER_AGE rows onto water_age_state.node_age/link_age (hours -> seconds). No-op when a hotstart state is loaded (D-IQ7) or the arrays are unsized.
 
void openswmm::transport::applyInitialTempOverrides (SimulationContext &ctx)
 Apply TEMPERATURE rows onto heat_state.node_temp/link_temp (degC). No-op on unsized arrays.
 

Detailed Description

[INITIAL_QUALITY] reserved-species (WATER_AGE/__TEMPERATURE__) helpers for the per-engine seed sites (E-A3).

Precedence (D-IQ7): hotstart > [INITIAL_QUALITY] per-element > sidecar INITIAL_STATE GLOBAL. The age appliers no-op when a hotstart state is loaded so no call site can get the order wrong. The age/heat state arrays are wiped by resize() at engine-specific moments, so callers apply these AT their seed site rather than relying on a write surviving a later resize (D-IQ8).

Units: [INITIAL_QUALITY] WATER_AGE rows are HOURS in the file (the [WATER_AGE_SOURCES] convention) and SECONDS internally; TEMPERATURE rows are degC both places.

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