OpenSWMM Engine  6.0.0-alpha.1
Data-oriented, plugin-extensible SWMM Engine (6.0.0-alpha.1)
Loading...
Searching...
No Matches
Culvert.hpp
Go to the documentation of this file.
1
20#ifndef OPENSWMM_CULVERT_HPP
21#define OPENSWMM_CULVERT_HPP
22
23#include <vector>
24
25namespace openswmm {
26
27struct SimulationContext;
28
29namespace culvert {
30
33 double K = 0.0;
34 double M = 0.0;
35 double C = 0.0;
36 double Y = 0.0;
37};
38
40CulvertCoeffs getCoeffs(int culvert_code);
41
54double getInflow(double q_proposed, double head, double y_full,
55 double a_full, double slope, int code, double& dqdh);
56
64void batchComputeInletControl(const int* link_indices, int n,
66
67} // namespace culvert
68} // namespace openswmm
69
70#endif // OPENSWMM_CULVERT_HPP
void batchComputeInletControl(const int *link_indices, int n, SimulationContext &ctx)
Batch compute culvert inlet control for all culvert links.
Definition Culvert.cpp:199
double getInflow(double q_proposed, double head, double y_full, double a_full, double slope, int code, double &dqdh)
Compute culvert inlet-controlled inflow.
Definition Culvert.cpp:143
CulvertCoeffs getCoeffs(int code)
Get coefficients for a culvert type code (1-57).
Definition Culvert.cpp:138
Definition Controls.cpp:24
Central, reentrant simulation context.
Definition SimulationContext.hpp:141
Culvert curve coefficients (K, M, C, Y) per type code.
Definition Culvert.hpp:32
double K
Definition Culvert.hpp:33
double Y
Definition Culvert.hpp:36
double C
Definition Culvert.hpp:35
double M
Definition Culvert.hpp:34