This function solves the Manning equation for water flow in an open channel with a trapezoidal shape. Uniform flow conditions are assumed, so that the channel slope is equal to the slope of the water surface and the energy grade line. This is a modification of the code prepared by Irucka Embry in his iemisc package. Specifically the iemisc::manningtrap, iemisc::manningrect, and iemisc::manningtri were combined and adapted here for cases commonly used in classroom exercises. Some auxiliary variables in the iemisc code are not included here (shear stress, and specific energy), as these can be calculated separately. A cross-section figure is also available.
Usage
manningt(
Q = NULL,
n = NULL,
m = NULL,
Sf = NULL,
y = NULL,
b = NULL,
units = c("SI", "Eng"),
ret_units = FALSE
)
Arguments
- Q
numeric vector that contains the flow rate [\(m^3 s^{-1}\) or \(ft^3 s^{-1}\)]
- n
numeric vector that contains the Manning roughness coefficient
- m
numeric vector that contains the side slope of the channel (m:1 H:V) [unitless]
- Sf
numeric vector that contains the slope of the channel [unitless]
- y
numeric vector that contains the water depth [\(m\) or \(ft\)]
- b
numeric vector that contains the channel bottom width [\(m\) or \(ft\)]
- units
character vector that contains the system of units [options are
SI
for International System of Units andEng
for English (US customary) units. This is used for compatibility with iemisc package.- ret_units
If set to TRUE the value(s) returned are of class
units
with units attached to the value. [Default is FALSE]
Value
Returns a list including the missing parameter:
Q - flow rate
V - flow velocity
A - cross-sectional area of flow
P - wetted perimeter
R - hydraulic radius
y - flow depth (normal depth)
b - channel bottom width
m - channel side slope
Sf - slope
B - top width of water surface
n - Manning's roughness
yc - critical depth
Fr - Froude number
Re - Reynolds number
bopt - optimal bottom width (returned if solving for b)
yopt - optimal water depth (returned if solving for y)
Details
The Manning equation characterizes open channel flow conditions under uniform flow conditions: $$Q = A\frac{C}{n}{R}^{\frac{2}{3}}{S_f}^{\frac{1}{2}}$$ where \(C\) is 1.0 for SI units and 1.49 for Eng (U.S. Customary) units. Using the geometric relationships for hydraulic radius and cross-sectional area of a trapezoid, it takes the form: $$Q=\frac{C}{n}{\frac{\left(by+my^2\right)^{\frac{5}{3}}}{\left(b+2y\sqrt{1+m^2}\right)^\frac{2}{3}}}{S_f}^{\frac{1}{2}}$$
Critical depth is defined by the relation (at critical conditions): $$\frac{Q^{2}B}{g\,A^{3}}=1$$ where \(B\) is the top width of the water surface. For a given Q, m, n, and Sf, the most hydraulically efficient channel is found by maximizing R, which can be done by setting in the Manning equation \(\frac{\partial R}{\partial y}=0\). This produces: $$y_{opt} = 2^{\frac{1}{4}}\left(\frac{Qn}{C\left(2\sqrt{1+m^2}-m\right)S_f^{\frac{1}{2}}}\right)^{\frac{3}{8}}$$ $$b_{opt} = 2y_{opt}\left(\sqrt{1+m^2}-m\right)$$
See also
spec_energy_trap
for specific energy diagram and xc_trap
for a cross-section diagram of the trapezoidal channel
Examples
#Solving for flow rate, Q, trapezoidal channel: SI Units
manningt(n = 0.013, m = 2, Sf = 0.0005, y = 1.83, b = 3, units = "SI")
#> $Q
#> [1] 22.19996
#>
#> $V
#> [1] 1.82149
#>
#> $A
#> [1] 12.1878
#>
#> $P
#> [1] 11.18401
#>
#> $R
#> [1] 1.089752
#>
#> $y
#> [1] 1.83
#>
#> $b
#> [1] 3
#>
#> $m
#> [1] 2
#>
#> $Sf
#> [1] 5e-04
#>
#> $B
#> [1] 10.32
#>
#> $n
#> [1] 0.013
#>
#> $yc
#> [1] 1.322952
#>
#> $Fr
#> [1] 0.535234
#>
#> $Re
#> [1] 1940245
#>
#returns Q=22.2 m3/s
#Solving for roughness, n, rectangular channel: Eng units
manningt(Q = 14.56, m = 0, Sf = 0.0004, y = 2.0, b = 4, units = "Eng")
#> $Q
#> [1] 14.56
#>
#> $V
#> [1] 1.82
#>
#> $A
#> [1] 8
#>
#> $P
#> [1] 8
#>
#> $R
#> [1] 1
#>
#> $y
#> [1] 2
#>
#> $b
#> [1] 4
#>
#> $m
#> [1] 0
#>
#> $Sf
#> [1] 4e-04
#>
#> $B
#> [1] 4
#>
#> $n
#> [1] 0.01629942
#>
#> $yc
#> [1] 0.7437873
#>
#> $Fr
#> [1] 0.2267924
#>
#> $Re
#> [1] 165140.4
#>
#returns Manning n of 0.016
#Solving for depth, y, triangular channel: SI units
manningt(Q = 1.0, n = 0.011, m = 1, Sf = 0.0065, b = 0, units = "SI")
#> $Q
#> [1] 1
#>
#> $V
#> [1] 2.648641
#>
#> $A
#> [1] 0.3775521
#>
#> $P
#> [1] 1.737935
#>
#> $R
#> [1] 0.2172418
#>
#> $y
#> [1] 0.6144527
#>
#> $b
#> [1] 0
#>
#> $m
#> [1] 1
#>
#> $Sf
#> [1] 0.0065
#>
#> $B
#> [1] 1.228905
#>
#> $n
#> [1] 0.011
#>
#> $yc
#> [1] 0.7276052
#>
#> $Fr
#> [1] 1.525926
#>
#> $Re
#> [1] 562430.1
#>
#> $yopt
#> [1] 0.4493444
#>
#returns 0.6 m normal flow depth