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

Phase A4 — per-(LID unit, layer, species) transported state. More...

#include <cstddef>
#include <vector>
Include dependency graph for LidLayerSpeciesData.hpp:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  openswmm::LidLayerSpeciesState
 Per-(unit, layer, species) state for every LID unit in the model. More...
 

Namespaces

namespace  openswmm
 

Enumerations

enum class  openswmm::LidLayer : int {
  openswmm::SURFACE = 0 ,
  openswmm::PAVEMENT = 1 ,
  openswmm::SOIL = 2 ,
  openswmm::STORAGE = 3 ,
  openswmm::COUNT_ = 4
}
 
enum class  openswmm::LidSpecies : int {
  openswmm::AGE = 0 ,
  openswmm::TEMPERATURE = 1 ,
  openswmm::COUNT_ = 2
}
 Species rows carried on the LID layers. More...
 

Detailed Description

Phase A4 — per-(LID unit, layer, species) transported state.

Plan §7 A4 asks for a "generic per-layer species block — heat reuses it", so this carries a species stride from the start. Water age is species 0; H5's temperature becomes species 1 by raising n_species and writing its own row, with no second array and no change to the layer indexing.

LID units live in per-TYPE groups (LIDManager::group(t)), not one flat list, so group_offset maps (type, unit-within-group) to the flat unit index this block is keyed on. It is built once from the manager and asserted against it on every use.

See also
plans/transport/WATER_AGE_TRACKING_PLAN.md §7 A4
Author
Caleb Buahin caleb.nosp@m..bua.nosp@m.hin@g.nosp@m.mail.nosp@m..com
License\n Apache-2.0