![]() |
OpenSWMM Engine
6.0.0-alpha.4
Data-oriented, plugin-extensible SWMM Engine (6.0.0-alpha.4)
|
Native cross-section geometry and borrowed optional normalized transect tables. More...
#include <XSectBatch.hpp>
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 |
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.
| double openswmm::XSectParams::a_bot = 0.0 |
Area of bottom section.
| double openswmm::XSectParams::a_full = 0.0 |
Area when full (ft2)
| 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.
| const double* openswmm::XSectParams::area_tbl = nullptr |
Normalized area vs y/y_full.
| int openswmm::XSectParams::culvert_code = 0 |
| const double* openswmm::XSectParams::hrad_tbl = nullptr |
Normalized hyd-radius vs y/y_full.
| double openswmm::XSectParams::r_bot = 0.0 |
Radius of bottom section / coefficient.
| double openswmm::XSectParams::r_full = 0.0 |
Hydraulic radius when full (ft)
| double openswmm::XSectParams::s_bot = 0.0 |
Slope of bottom section / exponent.
| double openswmm::XSectParams::s_full = 0.0 |
Section factor when full (normally ft^(8/3); FORCE_MAIN uses R^0.63)
| double openswmm::XSectParams::s_max = 0.0 |
Section factor at max flow (same convention as s_full)
| int openswmm::XSectParams::transect = -1 |
| int openswmm::XSectParams::transect_tbl_size = 0 |
Entry count of the tables above.
| int openswmm::XSectParams::type = 0 |
| double openswmm::XSectParams::w_max = 0.0 |
Width at widest point (ft)
| const double* openswmm::XSectParams::width_tbl = nullptr |
Normalized width vs y/y_full.
| double openswmm::XSectParams::y_bot = 0.0 |
Depth of bottom section / fill depth.
| double openswmm::XSectParams::y_full = 0.0 |
Full depth (ft)
| double openswmm::XSectParams::yw_max = 0.0 |
Depth at widest point (ft)