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

Mutable solver state — the conserved variables and the node volumes. More...

#include <NetworkMeshData.hpp>

Collaboration diagram for openswmm::fv::NetworkStateData:

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
 

Detailed Description

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.

Member Function Documentation

◆ resize()

void openswmm::fv::NetworkStateData::resize ( int n_cells,
int n_nodes,
int n_species_in )
inline
Here is the caller graph for this function:

Member Data Documentation

◆ cell_a

std::vector<double> openswmm::fv::NetworkStateData::cell_a

flow area (ft²)

◆ cell_h

std::vector<double> openswmm::fv::NetworkStateData::cell_h

depth (ft)

◆ cell_phi

std::vector<double> openswmm::fv::NetworkStateData::cell_phi

◆ cell_q

std::vector<double> openswmm::fv::NetworkStateData::cell_q

discharge (cfs)

◆ cell_tpa

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).

◆ n_species

int openswmm::fv::NetworkStateData::n_species = 0

◆ node_head

std::vector<double> openswmm::fv::NetworkStateData::node_head

water-surface elevation (ft)

◆ node_overflow

std::vector<double> openswmm::fv::NetworkStateData::node_overflow

flooding rate this substep (cfs)

◆ node_overflow_vol

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.

◆ node_surf_area

std::vector<double> openswmm::fv::NetworkStateData::node_surf_area

storage area used this routing step (ft²)

◆ node_volume

std::vector<double> openswmm::fv::NetworkStateData::node_volume

stored volume (ft³)


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