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

Structure-of-Arrays (SoA) storage for all node types. More...

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

Go to the source code of this file.

Classes

struct  openswmm::NodeData
 Structure-of-Arrays storage for all nodes. More...
 

Namespaces

namespace  openswmm
 

Enumerations

enum class  openswmm::NodeType : int8_t {
  openswmm::JUNCTION = 0 ,
  openswmm::OUTFALL = 1 ,
  openswmm::DIVIDER = 2 ,
  openswmm::STORAGE = 3
}
 Node type codes. More...
 
enum class  openswmm::OutfallType : int8_t {
  openswmm::FREE = 0 ,
  openswmm::NORMAL = 1 ,
  openswmm::FIXED = 2 ,
  openswmm::TIDAL = 3 ,
  openswmm::TIMESERIES = 4
}
 Outfall boundary condition type. More...
 
enum class  openswmm::DividerType : int8_t {
  openswmm::CUTOFF = 0 ,
  openswmm::OVERFLOW_DIV = 1 ,
  openswmm::TABULAR = 2 ,
  openswmm::WEIR = 3
}
 Flow divider type. More...
 

Detailed Description

Structure-of-Arrays (SoA) storage for all node types.

Replaces the global Node[] array and TNode/TJunct/TOutfall/ TStorage structs from src/solver/objects.h with a data-oriented layout. Parallel arrays improve cache efficiency for the hydraulic solver, which typically touches a subset of fields across all nodes.

Node types supported:

  • JUNCTION — standard junction node
  • OUTFALL — open boundary condition
  • DIVIDER — flow diversion node
  • STORAGE — storage unit (pond/tank)
See also
Legacy reference: src/solver/objects.h — TNode, TJunct, TOutfall, TStorage
Legacy reference: src/solver/globals.h — Node[], Nnodes[]
Author
Caleb Buahin caleb.nosp@m..bua.nosp@m.hin@g.nosp@m.mail.nosp@m..com
License\n MIT License