Dense SoA for storage-unit properties (one row per STORAGE node).
More...
#include <NodeSubtypes.hpp>
|
| 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.
|
| |
|
| 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 = not tabulated).
|
| |
| std::vector< std::string > | curve_name |
| | Curve name for deferred resolution.
|
| |
| std::vector< StorageShape > | shape |
| | Surface-area relation. Selects how a/b/c below are interpreted.
|
| |
| std::vector< double > | a |
| | Area coefficient A (legacy a1). FUNCTIONAL: A·d^B; geometric shapes: the linear term of C + A·d + B·d². Derived from p1..p3 for the latter.
|
| |
| std::vector< double > | b |
| | Area coefficient B (legacy a2). FUNCTIONAL: the exponent; geometric shapes: the quadratic term.
|
| |
| std::vector< double > | c |
| | Area coefficient C (legacy a0). Baseline area at zero depth.
|
| |
| std::vector< double > | p1 |
| | Raw shape parameter 1 — major axis / base length L (geometric shapes only). Kept alongside the derived a/b/c so .inp/.gpkg round-trip losslessly; legacy discards these, which is why a legacy model cannot rewrite its own shape params.
|
| |
| std::vector< double > | p2 |
| | Raw shape parameter 2 — minor axis / base width W.
|
| |
| std::vector< double > | p3 |
| | Raw shape parameter 3 — side slope Z (run/rise), or height for PARABOLOID.
|
| |
| 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).
|
| |
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.
◆ 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 |
◆ 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.
| std::vector<double> openswmm::StorageData::a |
Area coefficient A (legacy a1). FUNCTIONAL: A·d^B; geometric shapes: the linear term of C + A·d + B·d². Derived from p1..p3 for the latter.
| std::vector<double> openswmm::StorageData::b |
Area coefficient B (legacy a2). FUNCTIONAL: the exponent; geometric shapes: the quadratic term.
| std::vector<double> openswmm::StorageData::c |
Area coefficient C (legacy a0). Baseline area at zero depth.
◆ curve
| std::vector<int> openswmm::StorageData::curve |
Storage curve index into TableData (-1 = not tabulated).
◆ 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).
◆ p1
| std::vector<double> openswmm::StorageData::p1 |
Raw shape parameter 1 — major axis / base length L (geometric shapes only). Kept alongside the derived a/b/c so .inp/.gpkg round-trip losslessly; legacy discards these, which is why a legacy model cannot rewrite its own shape params.
◆ p2
| std::vector<double> openswmm::StorageData::p2 |
Raw shape parameter 2 — minor axis / base width W.
◆ p3
| std::vector<double> openswmm::StorageData::p3 |
Raw shape parameter 3 — side slope Z (run/rise), or height for PARABOLOID.
◆ seep_rate
| std::vector<double> openswmm::StorageData::seep_rate |
Seepage rate (project units/day).
◆ shape
Surface-area relation. Selects how a/b/c below are interpreted.
The documentation for this struct was generated from the following file:
- /home/runner/work/openswmm.engine/openswmm.engine/src/engine/data/NodeSubtypes.hpp