![]() |
OpenSWMM Engine
6.0.0-alpha.4
Data-oriented, plugin-extensible SWMM Engine (6.0.0-alpha.4)
|
Multispecies reaction system data (EPANET-MSX conventions) — SoA, hot/cold split per LARD plan §16 D-L3 / reactions plan D-R3. More...
#include <cstdint>#include <string>#include <string_view>#include <vector>#include "ReactionTokens.hpp"Go to the source code of this file.
Classes | |
| struct | openswmm::ReactionData |
Namespaces | |
| namespace | openswmm |
Enumerations | |
| enum class | openswmm::ReactionSolverKind : int { openswmm::EUL = 0 , openswmm::RK5 = 1 , openswmm::ROS2 = 2 , openswmm::BDF2 = 3 } |
| enum class | openswmm::ReactionCoupling : int { openswmm::NONE = 0 , openswmm::FULL = 1 } |
| enum class | openswmm::ReactionRateUnits : int { openswmm::SEC = 0 , openswmm::MIN = 1 , openswmm::HR = 2 , openswmm::DAY = 3 } |
| enum class | openswmm::ReactionAreaUnits : int { openswmm::FT2 = 0 , openswmm::M2 = 1 , openswmm::CM2 = 2 } |
| enum class | openswmm::ReactionExprForm : int { openswmm::NONE = 0 , openswmm::RATE = 1 , openswmm::EQUIL = 2 , openswmm::FORMULA = 3 } |
Multispecies reaction system data (EPANET-MSX conventions) — SoA, hot/cold split per LARD plan §16 D-L3 / reactions plan D-R3.
Phase R1 populates this from the reactions component's config file (model.rxn, sections [REACTION_*]). Expression SOURCES are stored here (cold); the compiled flat RPN token pool arrives with phase R2 and lives in separate hot arrays so no std::string enters an integrator loop. Layout notes: per-species expression slots are dense (size n_species, form == NONE ⇒ no expression for that species in that scope).