Skip to contents

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 and Eng 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

Author

Ed Maurer, Irucka Embry

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] 5317520
#> 
#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