40#ifndef OPENSWMM_ENGINE_INITIAL_QUALITY_SEEDS_HPP
41#define OPENSWMM_ENGINE_INITIAL_QUALITY_SEEDS_HPP
66 for (
int r = 0; r < iq.count(); ++r) {
67 const auto ur =
static_cast<std::size_t
>(r);
70 if ((iq.is_link[ur] != 0) != is_link)
72 if (iq.elem_idx[ur] != idx)
74 v = iq.value[ur] * 3600.0;
93 for (
int r = 0; r < iq.count(); ++r) {
94 const auto ur =
static_cast<std::size_t
>(r);
97 if ((iq.is_link[ur] != 0) != is_link)
99 if (iq.elem_idx[ur] != idx)
120 if (ws.hotstart_loaded)
123 for (
int r = 0; r < iq.count(); ++r) {
124 const auto ur =
static_cast<std::size_t
>(r);
127 const int ei = iq.elem_idx[ur];
130 auto& arr = iq.is_link[ur] ? ws.link_age : ws.node_age;
131 if (
static_cast<std::size_t
>(ei) < arr.size())
132 arr[
static_cast<std::size_t
>(ei)] = iq.value[ur] * 3600.0;
150 for (
int r = 0; r < iq.count(); ++r) {
151 const auto ur =
static_cast<std::size_t
>(r);
154 const int ei = iq.elem_idx[ur];
157 auto& arr = iq.is_link[ur] ? hs.link_temp : hs.node_temp;
158 if (
static_cast<std::size_t
>(ei) < arr.size())
159 arr[
static_cast<std::size_t
>(ei)] = iq.value[ur];
SoA store for [INITIAL_QUALITY] per-element initial concentrations.
The central, reentrant simulation context for the new engine.
Definition ExplicitFvSolver.hpp:53
double 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_S...
Definition InitialQualitySeeds.hpp:62
void applyInitialTempOverrides(SimulationContext &ctx)
Apply TEMPERATURE rows onto heat_state.node_temp/link_temp (degC). No-op on unsized arrays.
Definition InitialQualitySeeds.hpp:147
void applyInitialAgeOverrides(SimulationContext &ctx)
Apply WATER_AGE rows onto water_age_state.node_age/link_age (hours -> seconds). No-op when a hotstart...
Definition InitialQualitySeeds.hpp:118
double 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 INIT...
Definition InitialQualitySeeds.hpp:90
static constexpr int kKindWaterAge
Classified constituent kinds (see kind).
Definition InitialQualityData.hpp:49
static constexpr int kKindTemperature
TEMPERATURE (degC)
Definition InitialQualityData.hpp:50
Central, reentrant simulation context.
Definition SimulationContext.hpp:390
WaterAgeState water_age_state
Definition SimulationContext.hpp:640
InitialQualityData initial_quality
Per-element initial quality rows from [INITIAL_QUALITY].
Definition SimulationContext.hpp:773
HeatState heat_state
Definition SimulationContext.hpp:656