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

#include <HydStructures.hpp>

Collaboration diagram for openswmm::hydstruct::WeirGroup:

Public Member Functions

void resize (int n)
 Resize WeirGroup columns while preserving existing row prefixes.
 

Public Attributes

int count = 0
 
std::vector< int > link_idx
 
std::vector< int > weir_type
 TRANSVERSE/SIDE/VNOTCH/TRAPEZOIDAL/ROADWAY (0..4)
 
std::vector< double > c_disch1
 Main discharge coefficient.
 
std::vector< double > c_disch2
 End section coefficient (trapezoidal)
 
std::vector< double > end_con
 End contraction factor.
 
std::vector< double > slope
 V-notch slope or trap slope.
 
std::vector< int > cd_curve
 Optional Cd(head) curve index (legacy Weir.cdCurve), -1 none.
 
std::vector< double > road_width
 ROADWAY weir road width (ft, legacy Weir.roadWidth)
 
std::vector< int > road_surface
 ROADWAY weir surface: 0 none, 1 PAVED, 2 GRAVEL.
 
std::vector< double > surf_area
 
std::vector< double > length_eff
 
std::vector< uint8_t > can_surcharge
 

Member Function Documentation

◆ resize()

void openswmm::hydstruct::WeirGroup::resize ( int n)

Resize WeirGroup columns while preserving existing row prefixes.

Sets count then resizes every declared vector; new numerical fields0, curve index-1 and can_surcharge1. Link indices value-initialize on growth. Allocation may leave partial resizing and invalidate borrowed element views.

Parameters
[in]nNonnegative count; negative is unchecked before size_t conversion.

Member Data Documentation

◆ c_disch1

std::vector<double> openswmm::hydstruct::WeirGroup::c_disch1

Main discharge coefficient.

◆ c_disch2

std::vector<double> openswmm::hydstruct::WeirGroup::c_disch2

End section coefficient (trapezoidal)

◆ can_surcharge

std::vector<uint8_t> openswmm::hydstruct::WeirGroup::can_surcharge

Surcharge YES/NO (legacy Weir.canSurcharge): when NO and h1 >= hcrown, the head is capped at the weir opening height instead of switching to the equivalent-orifice formulation (legacy link.c weir_getInflow).

◆ cd_curve

std::vector<int> openswmm::hydstruct::WeirGroup::cd_curve

Optional Cd(head) curve index (legacy Weir.cdCurve), -1 none.

◆ count

int openswmm::hydstruct::WeirGroup::count = 0

◆ end_con

std::vector<double> openswmm::hydstruct::WeirGroup::end_con

End contraction factor.

◆ length_eff

std::vector<double> openswmm::hydstruct::WeirGroup::length_eff

Effective length used for surface-area computation (legacy Weir[k].length = max(200, 2·routeStep·sqrt(g·yFull))). Pre-computed at init; constant per simulation.

◆ link_idx

std::vector<int> openswmm::hydstruct::WeirGroup::link_idx

◆ road_surface

std::vector<int> openswmm::hydstruct::WeirGroup::road_surface

ROADWAY weir surface: 0 none, 1 PAVED, 2 GRAVEL.

◆ road_width

std::vector<double> openswmm::hydstruct::WeirGroup::road_width

ROADWAY weir road width (ft, legacy Weir.roadWidth)

◆ slope

std::vector<double> openswmm::hydstruct::WeirGroup::slope

V-notch slope or trap slope.

◆ surf_area

std::vector<double> openswmm::hydstruct::WeirGroup::surf_area

Most-recently-computed surface area (ft²), populated by computeWeirFlows and scattered to node surface-area accumulators by the non_conduit_fn callback. Matches legacy Weir[k].surfArea.

◆ weir_type

std::vector<int> openswmm::hydstruct::WeirGroup::weir_type

TRANSVERSE/SIDE/VNOTCH/TRAPEZOIDAL/ROADWAY (0..4)


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