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

Native cross-section geometry and borrowed optional normalized transect tables. More...

#include <XSectBatch.hpp>

Collaboration diagram for openswmm::XSectParams:

Public Attributes

int type = 0
 
int culvert_code = 0
 
int transect = -1
 
double y_full = 0.0
 Full depth (ft)
 
double w_max = 0.0
 Width at widest point (ft)
 
double yw_max = 0.0
 Depth at widest point (ft)
 
double a_full = 0.0
 Area when full (ft2)
 
double r_full = 0.0
 Hydraulic radius when full (ft)
 
double s_full = 0.0
 Section factor when full (normally ft^(8/3); FORCE_MAIN uses R^0.63)
 
double s_max = 0.0
 Section factor at max flow (same convention as s_full)
 
double y_bot = 0.0
 Depth of bottom section / fill depth.
 
double a_bot = 0.0
 Area of bottom section.
 
double s_bot = 0.0
 Slope of bottom section / exponent.
 
double r_bot = 0.0
 Radius of bottom section / coefficient.
 
const double * area_tbl = nullptr
 Normalized area vs y/y_full.
 
const double * hrad_tbl = nullptr
 Normalized hyd-radius vs y/y_full.
 
const double * width_tbl = nullptr
 Normalized width vs y/y_full.
 
int transect_tbl_size = 0
 Entry count of the tables above.
 
const xsect::LocateLut * area_lut = nullptr
 

Detailed Description

Native cross-section geometry and borrowed optional normalized transect tables.

type uses kernel XSectShape ordinals, distinct from model-storage XsectShape. Lengths are ft, areas ft2. Ordinary section factor A*R^(2/3) has units ft^(8/3); FORCE_MAIN setParams stores its Hazen-Williams full factor A*R^0.63 instead. Bottom fields are shape-dependent and must be initialized together. Table/LUT pointers are non-owning; their backing arrays must remain live/unmoved during all queries. Copying this struct copies those borrowed pointers.

Member Data Documentation

◆ a_bot

double openswmm::XSectParams::a_bot = 0.0

Area of bottom section.

◆ a_full

double openswmm::XSectParams::a_full = 0.0

Area when full (ft2)

◆ area_lut

const xsect::LocateLut* openswmm::XSectParams::area_lut = nullptr

Bucket map over area_tbl for the getYofA inversion (plan A1). Points into the owning TransectData, so it has the same lifetime as area_tbl and is null whenever that is.

◆ area_tbl

const double* openswmm::XSectParams::area_tbl = nullptr

Normalized area vs y/y_full.

◆ culvert_code

int openswmm::XSectParams::culvert_code = 0

◆ hrad_tbl

const double* openswmm::XSectParams::hrad_tbl = nullptr

Normalized hyd-radius vs y/y_full.

◆ r_bot

double openswmm::XSectParams::r_bot = 0.0

Radius of bottom section / coefficient.

◆ r_full

double openswmm::XSectParams::r_full = 0.0

Hydraulic radius when full (ft)

◆ s_bot

double openswmm::XSectParams::s_bot = 0.0

Slope of bottom section / exponent.

◆ s_full

double openswmm::XSectParams::s_full = 0.0

Section factor when full (normally ft^(8/3); FORCE_MAIN uses R^0.63)

◆ s_max

double openswmm::XSectParams::s_max = 0.0

Section factor at max flow (same convention as s_full)

◆ transect

int openswmm::XSectParams::transect = -1

◆ transect_tbl_size

int openswmm::XSectParams::transect_tbl_size = 0

Entry count of the tables above.

◆ type

int openswmm::XSectParams::type = 0

◆ w_max

double openswmm::XSectParams::w_max = 0.0

Width at widest point (ft)

◆ width_tbl

const double* openswmm::XSectParams::width_tbl = nullptr

Normalized width vs y/y_full.

◆ y_bot

double openswmm::XSectParams::y_bot = 0.0

Depth of bottom section / fill depth.

◆ y_full

double openswmm::XSectParams::y_full = 0.0

Full depth (ft)

◆ yw_max

double openswmm::XSectParams::yw_max = 0.0

Depth at widest point (ft)


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