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

Single source of truth for all transported constituents (Unified Transport master plan §4.1; phase T0a). More...

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

Go to the source code of this file.

Classes

class  openswmm::SpeciesRegistry
 

Namespaces

namespace  openswmm
 

Enumerations

enum class  openswmm::SpeciesKind : int {
  openswmm::POLLUTANT = 0 ,
  openswmm::RESERVED_AGE = 1 ,
  openswmm::RESERVED_TEMPERATURE = 2 ,
  openswmm::MSX_BULK = 3 ,
  openswmm::MSX_WALL = 4
}
 Constituent kinds (master plan §4.1). More...
 

Detailed Description

Single source of truth for all transported constituents (Unified Transport master plan §4.1; phase T0a).

Legacy [POLLUTANTS] entries occupy the first slots with kind POLLUTANT (indices align 1:1 with the legacy pollutant index, so every existing [link*np+p] array stays valid). MSX species (reactions component, phase R1) append with MSX_BULK/MSX_WALL. Reserved species (water age A1, temperature H1) append with their reserved kinds when those phases land.

Engine consumption note: as of E4/R6 the ARD engine carries pollutants + MSX_BULK species on its mesh (it sizes from n_pollutants() + ReactionData::n_species(), refusing WALL); transported_count() counts POLLUTANT + MSX_BULK to match. The LEGACY engine still transports pollutants only (MSX transport under LEGACY is plan phase R4b).

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