OpenSWMM Engine  6.0.0-alpha.4
Data-oriented, plugin-extensible SWMM Engine (6.0.0-alpha.4)
Loading...
Searching...
No Matches
Culvert.hpp
Go to the documentation of this file.
1// SPDX-License-Identifier: Apache-2.0
2//
3// Copyright 2026 Caleb Buahin
4//
5// Licensed under the Apache License, Version 2.0 (the "License");
6// you may not use this file except in compliance with the License.
7// You may obtain a copy of the License at
8//
9// http://www.apache.org/licenses/LICENSE-2.0
10//
11// Unless required by applicable law or agreed to in writing, software
12// distributed under the License is distributed on an "AS IS" BASIS,
13// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14// See the License for the specific language governing permissions and
15// limitations under the License.
16
35
36#ifndef OPENSWMM_CULVERT_HPP
37#define OPENSWMM_CULVERT_HPP
38
39#include <vector>
40
41namespace openswmm {
42
44struct XSectParams;
45
46namespace culvert {
47
51 double form = 0.0;
52 double K = 0.0;
53 double M = 0.0;
54 double C = 0.0;
55 double Y = 0.0;
56};
57
65CulvertCoeffs getCoeffs(int culvert_code);
66
87double getInflow(double q0, double y, const XSectParams& xs, double slope, int code, double& dqdh,
88 bool& controls);
89
90} // namespace culvert
91} // namespace openswmm
92
93#endif // OPENSWMM_CULVERT_HPP
Definition Controls.cpp:47
Definition Culvert.cpp:36
double getInflow(double q0, double y, const XSectParams &xs, double slope, int code, double &dqdh, bool &controls)
Apply an FHWA inlet-capacity limit to a proposed conduit flow.
Definition Culvert.cpp:287
CulvertCoeffs getCoeffs(int code)
Copy an FHWA culvert inlet coefficient record.
Definition Culvert.cpp:148
Definition ExchangeLaw.hpp:60
double * y
Definition odesolve.c:37
Central, reentrant simulation context.
Definition SimulationContext.hpp:390
Native cross-section geometry and borrowed optional normalized transect tables.
Definition XSectBatch.hpp:119
Definition Culvert.hpp:50
double K
Definition Culvert.hpp:52
double Y
Definition Culvert.hpp:55
double C
Definition Culvert.hpp:54
double form
Definition Culvert.hpp:51
double M
Definition Culvert.hpp:53