OpenSWMM Engine  6.0.0-alpha.1
Data-oriented, plugin-extensible SWMM Engine (6.0.0-alpha.1)
Loading...
Searching...
No Matches
openswmm::StorageData Struct Reference

Dense SoA for storage-unit properties (one row per STORAGE node). More...

#include <NodeSubtypes.hpp>

Collaboration diagram for openswmm::StorageData:

Public Member Functions

int count () const noexcept
 Number of storage rows.
 
void clear () noexcept
 Drop all rows (capacity retained).
 
void reserve (int n)
 Reserve capacity for n rows.
 
int add_default (int i)
 Insert a default storage row for base node i, keeping node_idx ascending; returns the inserted row index. Defaults match NodeData::resize. Ascending parse inserts at the end (O(1)); edits may insert in the middle.
 
void erase_at (int r)
 Erase storage row r from every column.
 

Public Attributes

std::vector< int > node_idx
 Base NodeData index this row belongs to (the join key).
 
std::vector< int > curve
 Storage curve index into TableData (-1 = functional A·d^B + C).
 
std::vector< std::string > curve_name
 Curve name for deferred resolution.
 
std::vector< double > a
 Functional area parameter A.
 
std::vector< double > b
 Functional area parameter B.
 
std::vector< double > c
 Functional area parameter C (baseline area).
 
std::vector< double > seep_rate
 Seepage rate (project units/day).
 
std::vector< double > evap_frac
 Fraction of potential evaporation realized (0-1).
 
std::vector< double > evap_loss
 Evaporation loss this timestep (ft3).
 
std::vector< double > exfil_loss
 Exfiltration loss this timestep (ft3).
 
std::vector< double > exfil_suction
 Green-Ampt suction head for exfiltration.
 
std::vector< double > exfil_ksat
 Green-Ampt saturated conductivity for exfiltration.
 
std::vector< double > exfil_imd
 Green-Ampt initial moisture deficit for exfiltration (0-1).
 

Detailed Description

Dense SoA for storage-unit properties (one row per STORAGE node).

Row r corresponds to base node node_idx[r]. Mirrors the storage_* / exfil_* fields of NodeData.

Member Function Documentation

◆ add_default()

int openswmm::StorageData::add_default ( int i)
inline

Insert a default storage row for base node i, keeping node_idx ascending; returns the inserted row index. Defaults match NodeData::resize. Ascending parse inserts at the end (O(1)); edits may insert in the middle.

◆ clear()

void openswmm::StorageData::clear ( )
inlinenoexcept

Drop all rows (capacity retained).

◆ count()

int openswmm::StorageData::count ( ) const
inlinenoexcept

Number of storage rows.

◆ erase_at()

void openswmm::StorageData::erase_at ( int r)
inline

Erase storage row r from every column.

◆ reserve()

void openswmm::StorageData::reserve ( int n)
inline

Reserve capacity for n rows.

Member Data Documentation

◆ a

std::vector<double> openswmm::StorageData::a

Functional area parameter A.

◆ b

std::vector<double> openswmm::StorageData::b

Functional area parameter B.

◆ c

std::vector<double> openswmm::StorageData::c

Functional area parameter C (baseline area).

◆ curve

std::vector<int> openswmm::StorageData::curve

Storage curve index into TableData (-1 = functional A·d^B + C).

◆ curve_name

std::vector<std::string> openswmm::StorageData::curve_name

Curve name for deferred resolution.

◆ evap_frac

std::vector<double> openswmm::StorageData::evap_frac

Fraction of potential evaporation realized (0-1).

◆ evap_loss

std::vector<double> openswmm::StorageData::evap_loss

Evaporation loss this timestep (ft3).

◆ exfil_imd

std::vector<double> openswmm::StorageData::exfil_imd

Green-Ampt initial moisture deficit for exfiltration (0-1).

◆ exfil_ksat

std::vector<double> openswmm::StorageData::exfil_ksat

Green-Ampt saturated conductivity for exfiltration.

◆ exfil_loss

std::vector<double> openswmm::StorageData::exfil_loss

Exfiltration loss this timestep (ft3).

◆ exfil_suction

std::vector<double> openswmm::StorageData::exfil_suction

Green-Ampt suction head for exfiltration.

◆ node_idx

std::vector<int> openswmm::StorageData::node_idx

Base NodeData index this row belongs to (the join key).

◆ seep_rate

std::vector<double> openswmm::StorageData::seep_rate

Seepage rate (project units/day).


The documentation for this struct was generated from the following file: