![]() |
OpenSWMM Engine
6.0.0-alpha.4
Data-oriented, plugin-extensible SWMM Engine (6.0.0-alpha.4)
|
One section's closure. Fixed-size POD: inline arrays, no pointers. More...
#include <FvClosureKernels.hpp>
Public Attributes | |
| double | y_full = 0.0 |
| double | dh = 0.0 |
| double | inv_dh = 0.0 |
| double | a_crown = 0.0 |
| A(y_full) incl. the tapered slot = A[N]. | |
| double | t_slot = 0.0 |
| slot top width above the crown | |
| double | i1_crown = 0.0 |
| I₁(y_full) = I1[N]. | |
| double | r_full = 0.0 |
| R above the crown. | |
| double | inv_a_crown_n = 0.0 |
| kClosurePanels / a_crown | |
| double | c2 = 0.0 |
| double | c1 = 0.0 |
| double | p0 = 0.0 |
| double | p1 = 0.0 |
| uint8_t | kind = kClosureTabulated |
| double | A [kClosurePanels+1] = {} |
| double | M [kClosurePanels+1] = {} |
| double | I1 [kClosurePanels+1] = {} |
| double | R [kClosurePanels+1] = {} |
| int16_t | j_of_a [kClosurePanels+1] = {} |
One section's closure. Fixed-size POD: inline arrays, no pointers.
Node i sits at h_i = i·dh, dh = y_full / kClosurePanels. A and M are the area and its slope (top width) at the nodes, I1 the running integral of the panel cubics, R the hydraulic radius. j_of_a[k] is the panel containing area k·a_crown/kClosurePanels — the inverse's O(1) locate.
All areas and widths are per CELL (barrels folded in); R is per barrel, as everywhere else in the solver.
| double openswmm::fv::FvClosure::A[kClosurePanels+1] = {} |
| double openswmm::fv::FvClosure::a_crown = 0.0 |
A(y_full) incl. the tapered slot = A[N].
| double openswmm::fv::FvClosure::c1 = 0.0 |
| double openswmm::fv::FvClosure::c2 = 0.0 |
| double openswmm::fv::FvClosure::dh = 0.0 |
| double openswmm::fv::FvClosure::I1[kClosurePanels+1] = {} |
| double openswmm::fv::FvClosure::i1_crown = 0.0 |
I₁(y_full) = I1[N].
| double openswmm::fv::FvClosure::inv_a_crown_n = 0.0 |
kClosurePanels / a_crown
| double openswmm::fv::FvClosure::inv_dh = 0.0 |
| int16_t openswmm::fv::FvClosure::j_of_a[kClosurePanels+1] = {} |
| uint8_t openswmm::fv::FvClosure::kind = kClosureTabulated |
| double openswmm::fv::FvClosure::M[kClosurePanels+1] = {} |
| double openswmm::fv::FvClosure::p0 = 0.0 |
| double openswmm::fv::FvClosure::p1 = 0.0 |
| double openswmm::fv::FvClosure::R[kClosurePanels+1] = {} |
| double openswmm::fv::FvClosure::r_full = 0.0 |
R above the crown.
| double openswmm::fv::FvClosure::t_slot = 0.0 |
slot top width above the crown
| double openswmm::fv::FvClosure::y_full = 0.0 |