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

Dense SoA for conduit-only properties (one row per CONDUIT link). More...

#include <LinkSubtypes.hpp>

Collaboration diagram for openswmm::ConduitData:

Public Member Functions

int count () const noexcept
 
void clear () noexcept
 
void reserve (int n)
 
int add_default (int i)
 
void erase_at (int r)
 

Public Attributes

std::vector< int > link_idx
 Base LinkData index (join key)
 
std::vector< double > roughness
 
std::vector< double > length
 
std::vector< double > slope
 
std::vector< double > mod_length
 
std::vector< int > barrels
 
std::vector< double > beta
 
std::vector< double > rough_factor
 
std::vector< double > q_full
 
std::vector< double > q_max
 
std::vector< double > loss_inlet
 
std::vector< double > loss_outlet
 
std::vector< double > loss_avg
 
std::vector< double > seep_rate
 
std::vector< int > culvert_code
 
std::vector< double > evap_loss_rate
 per-step evaporation loss
 
std::vector< double > seep_loss_rate
 per-step seepage loss
 
std::vector< uint8_t > normal_flow_limited
 per-step flag (reset each step)
 
std::vector< uint8_t > inlet_control
 per-step culvert inlet-control flag
 
std::vector< int8_t > full_state
 per-step up/down full bitmask
 

Detailed Description

Dense SoA for conduit-only properties (one row per CONDUIT link).

Cross-section (xsect_*) and has_flap_gate stay on base LinkData (shared with orifice/weir). Init-derived hydraulic geometry (beta/rough_factor/q_full/q_max) lives here — it is config-derived, written once at init.

Member Function Documentation

◆ add_default()

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

Insert a default conduit row for base link i, keeping link_idx ascending; returns the inserted row. Defaults match LinkData::resize.

◆ clear()

void openswmm::ConduitData::clear ( )
inlinenoexcept

◆ count()

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

◆ erase_at()

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

◆ reserve()

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

Member Data Documentation

◆ barrels

std::vector<int> openswmm::ConduitData::barrels

◆ beta

std::vector<double> openswmm::ConduitData::beta

◆ culvert_code

std::vector<int> openswmm::ConduitData::culvert_code

◆ evap_loss_rate

std::vector<double> openswmm::ConduitData::evap_loss_rate

per-step evaporation loss

◆ full_state

std::vector<int8_t> openswmm::ConduitData::full_state

per-step up/down full bitmask

◆ inlet_control

std::vector<uint8_t> openswmm::ConduitData::inlet_control

per-step culvert inlet-control flag

◆ length

std::vector<double> openswmm::ConduitData::length

◆ link_idx

std::vector<int> openswmm::ConduitData::link_idx

Base LinkData index (join key)

◆ loss_avg

std::vector<double> openswmm::ConduitData::loss_avg

◆ loss_inlet

std::vector<double> openswmm::ConduitData::loss_inlet

◆ loss_outlet

std::vector<double> openswmm::ConduitData::loss_outlet

◆ mod_length

std::vector<double> openswmm::ConduitData::mod_length

◆ normal_flow_limited

std::vector<uint8_t> openswmm::ConduitData::normal_flow_limited

per-step flag (reset each step)

◆ q_full

std::vector<double> openswmm::ConduitData::q_full

◆ q_max

std::vector<double> openswmm::ConduitData::q_max

◆ rough_factor

std::vector<double> openswmm::ConduitData::rough_factor

◆ roughness

std::vector<double> openswmm::ConduitData::roughness

◆ seep_loss_rate

std::vector<double> openswmm::ConduitData::seep_loss_rate

per-step seepage loss

◆ seep_rate

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

◆ slope

std::vector<double> openswmm::ConduitData::slope

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