OpenSWMM Engine
6.0.0-alpha.1
Data-oriented, plugin-extensible SWMM Engine (6.0.0-alpha.1)
Loading...
Searching...
No Matches
Divider.hpp
Go to the documentation of this file.
1
22
#ifndef OPENSWMM_DIVIDER_HPP
23
#define OPENSWMM_DIVIDER_HPP
24
25
#include "../data/NodeData.hpp"
26
#include <vector>
27
28
namespace
openswmm
{
29
30
struct
SimulationContext;
31
32
namespace
divider {
33
34
enum class
DividerMethod
:
int
{
35
CUTOFF
= 0,
36
OVERFLOW_DIV
= 1,
37
TABULAR
= 2,
38
WEIR
= 3
39
};
40
41
struct
DividerSoA
{
42
int
count
= 0;
43
std::vector<int>
node_idx
;
44
std::vector<int>
div_link_idx
;
45
std::vector<int>
method
;
46
std::vector<double>
cutoff_flow
;
47
std::vector<double>
weir_cd
;
48
std::vector<double>
weir_max_depth
;
49
std::vector<int>
table_idx
;
50
51
void
resize
(
int
n);
52
};
53
65
void
computeDividerFlows
(
SimulationContext
& ctx,
const
DividerSoA
& soa);
66
67
}
// namespace divider
68
}
// namespace openswmm
69
70
#endif
// OPENSWMM_DIVIDER_HPP
openswmm::divider::DividerMethod
DividerMethod
Definition
Divider.hpp:34
openswmm::divider::DividerMethod::WEIR
@ WEIR
openswmm::divider::DividerMethod::CUTOFF
@ CUTOFF
openswmm::divider::DividerMethod::TABULAR
@ TABULAR
openswmm::divider::DividerMethod::OVERFLOW_DIV
@ OVERFLOW_DIV
Renamed to avoid macOS math.h OVERFLOW macro.
openswmm::divider::computeDividerFlows
void computeDividerFlows(SimulationContext &ctx, const DividerSoA &soa)
Compute diversion flows for all divider nodes.
Definition
Divider.cpp:31
openswmm
Definition
Controls.cpp:24
openswmm::SimulationContext
Central, reentrant simulation context.
Definition
SimulationContext.hpp:141
openswmm::divider::DividerSoA
Definition
Divider.hpp:41
openswmm::divider::DividerSoA::method
std::vector< int > method
DividerMethod.
Definition
Divider.hpp:45
openswmm::divider::DividerSoA::table_idx
std::vector< int > table_idx
Curve index (for TABULAR)
Definition
Divider.hpp:49
openswmm::divider::DividerSoA::weir_cd
std::vector< double > weir_cd
Discharge coeff (for WEIR)
Definition
Divider.hpp:47
openswmm::divider::DividerSoA::cutoff_flow
std::vector< double > cutoff_flow
Cutoff flow (for CUTOFF)
Definition
Divider.hpp:46
openswmm::divider::DividerSoA::weir_max_depth
std::vector< double > weir_max_depth
Weir max depth.
Definition
Divider.hpp:48
openswmm::divider::DividerSoA::div_link_idx
std::vector< int > div_link_idx
Diversion link index.
Definition
Divider.hpp:44
openswmm::divider::DividerSoA::resize
void resize(int n)
Definition
Divider.cpp:19
openswmm::divider::DividerSoA::count
int count
Definition
Divider.hpp:42
openswmm::divider::DividerSoA::node_idx
std::vector< int > node_idx
Divider node index.
Definition
Divider.hpp:43
src
engine
hydraulics
Divider.hpp
Generated by
1.9.8