![]() |
OpenSWMM Engine
6.0.0-alpha.4
Data-oriented, plugin-extensible SWMM Engine (6.0.0-alpha.4)
|
Mutable solver state — the conserved variables and the node volumes. More...
#include <NetworkMeshData.hpp>
Public Member Functions | |
| void | resize (int n_cells, int n_nodes, int n_species_in) |
Public Attributes | |
| std::vector< double > | cell_a |
| flow area (ft²) | |
| std::vector< double > | cell_q |
| discharge (cfs) | |
| std::vector< double > | cell_h |
| depth (ft) | |
| std::vector< double > | node_volume |
| stored volume (ft³) | |
| std::vector< double > | node_head |
| water-surface elevation (ft) | |
| std::vector< double > | node_surf_area |
| storage area used this routing step (ft²) | |
| std::vector< double > | node_overflow |
| flooding rate this substep (cfs) | |
| std::vector< double > | node_overflow_vol |
| std::vector< double > | cell_phi |
| int | n_species = 0 |
| std::vector< uint8_t > | cell_tpa |
Mutable solver state — the conserved variables and the node volumes.
Separated from the mesh for the same reason SurfaceStateData is separated from MeshData: the mesh is written once at init and is const to every kernel, while this is what the integrator advances, what hot start serializes, and what the reporting path reads.
|
inline |
| std::vector<double> openswmm::fv::NetworkStateData::cell_a |
flow area (ft²)
| std::vector<double> openswmm::fv::NetworkStateData::cell_h |
depth (ft)
| std::vector<double> openswmm::fv::NetworkStateData::cell_phi |
| std::vector<double> openswmm::fv::NetworkStateData::cell_q |
discharge (cfs)
| std::vector<uint8_t> openswmm::fv::NetworkStateData::cell_tpa |
TPA regime flag per cell (issue #156 Phase 4): EMPTY unless FV_PRESSURE_CLOSURE TPA; 1 = pressurized (closure evaluates on the extended slot line, both signs of ΔA), 0 = free surface (table closure). Lives in the STATE because the static membership predicates (PressurizedHeadSolver::cellPressurized, the census edit) must see it. The flag is physical air-pathway history — updated once per substep by the solver's venting rule, saved/restored with the step-rejection snapshot, cleared (all-free) on cold start; a restart worst-case is one spurious re-pressurization step (TPA plan §5).
| int openswmm::fv::NetworkStateData::n_species = 0 |
| std::vector<double> openswmm::fv::NetworkStateData::node_head |
water-surface elevation (ft)
| std::vector<double> openswmm::fv::NetworkStateData::node_overflow |
flooding rate this substep (cfs)
| std::vector<double> openswmm::fv::NetworkStateData::node_overflow_vol |
Cumulative overflow VOLUME (ft³) since the last publish, so a routing step made of many substeps reports a correct mean flooding rate.
| std::vector<double> openswmm::fv::NetworkStateData::node_surf_area |
storage area used this routing step (ft²)
| std::vector<double> openswmm::fv::NetworkStateData::node_volume |
stored volume (ft³)