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

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"
Include dependency graph for ReactionData.hpp:
This graph shows which files directly or indirectly include this file:

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
}
 

Detailed Description

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).

See also
plans/transport/MULTISPECIES_REACTIONS_MSX_PLAN.md §2–§3
Author
Caleb Buahin caleb.nosp@m..bua.nosp@m.hin@g.nosp@m.mail.nosp@m..com
License\n Apache-2.0