OpenSWMM Engine  6.0.0-alpha.3
Data-oriented, plugin-extensible SWMM Engine (6.0.0-alpha.3)
Loading...
Searching...
No Matches
Transect.hpp
Go to the documentation of this file.
1
17
18#ifndef OPENSWMM_TRANSECT_HPP
19#define OPENSWMM_TRANSECT_HPP
20
21#include <vector>
22#include <string>
23
24namespace openswmm {
25
26namespace transect {
27
28constexpr int N_TRANSECT_TBL = 51;
29
31 std::string name;
32 double n_left = 0.0;
33 double n_right = 0.0;
34 double n_channel = 0.0;
35 double length_factor = 1.0;
36
37 // Station-elevation pairs
38 std::vector<double> stations;
39 std::vector<double> elevations;
40
41 double x_left_bank = 0.0;
42 double x_right_bank = 0.0;
43
44 // Computed geometry tables (normalized)
45 double y_full = 0.0;
46 double w_max = 0.0;
47 double a_full = 0.0;
48 double r_full = 0.0;
49 // CUSTOM shapes only (legacy TShape.sMax/aMax, shape.c getSmax): max
50 // section factor and its area for a shape of UNIT height, computed on the
51 // unnormalized tables. Scaled by yFull in the caller (xsect.c:685-686).
52 double s_max = 0.0;
53 double a_max = 0.0;
54
58};
59
70void buildTables(TransectData& td);
71
85void buildCustomTables(TransectData& td, double y_full,
86 const double* curve_x, const double* curve_y, int n_pts);
87
88} // namespace transect
89} // namespace openswmm
90
91#endif // OPENSWMM_TRANSECT_HPP
Definition Transect.cpp:17
void buildTables(TransectData &td)
Build tabulated geometry from station-elevation data.
Definition Transect.cpp:30
void buildCustomTables(TransectData &td, double y_full, const double *curve_x, const double *curve_y, int n_pts)
Build tabulated geometry from a CUSTOM shape curve.
Definition Transect.cpp:248
constexpr int N_TRANSECT_TBL
Definition Transect.hpp:28
Definition NodeCoupling.cpp:15
Definition Transect.hpp:30
std::vector< double > stations
x positions (ft)
Definition Transect.hpp:38
double area_tbl[N_TRANSECT_TBL]
Definition Transect.hpp:55
std::vector< double > elevations
y elevations (ft)
Definition Transect.hpp:39
std::string name
Definition Transect.hpp:31
double r_full
Definition Transect.hpp:48
double width_tbl[N_TRANSECT_TBL]
Definition Transect.hpp:57
double x_right_bank
Right bank station.
Definition Transect.hpp:42
double s_max
Definition Transect.hpp:52
double x_left_bank
Left bank station.
Definition Transect.hpp:41
double n_channel
Main channel Manning's n.
Definition Transect.hpp:34
double a_max
Definition Transect.hpp:53
double a_full
Definition Transect.hpp:47
double w_max
Definition Transect.hpp:46
double length_factor
Main-channel / flood-plain length ratio (Lfactor)
Definition Transect.hpp:35
double n_right
Right overbank Manning's n.
Definition Transect.hpp:33
double n_left
Left overbank Manning's n.
Definition Transect.hpp:32
double hrad_tbl[N_TRANSECT_TBL]
Definition Transect.hpp:56
double y_full
Definition Transect.hpp:45