
Last chance! 50% off unlimited learning
Sale ends in
This function solves the Manning equation for water flow in a circular pipe at less than full. Uniform flow conditions are assumed, so that the pipe 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. The iemisc::manningcirc function was adapted here for more limited cases commonly used in classroom exercises, additional checks were included to ensure the pipe is flowing less than full, and a cross-section figure is also available. The iemisc::manningcirc and iemisc::manningcircy functions were combined into a single function. Manning n supplied is assumed to be that for full pipe flow; an optional argument may be supplied to account for n varying with depth.
manningc(
Q = NULL,
n = NULL,
Sf = NULL,
y = NULL,
d = NULL,
y_d = NULL,
n_var = FALSE,
units = c("SI", "Eng"),
ret_units = FALSE
)
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 (A/P)
y - flow depth
d - pipe diameter
Sf - slope
n - Manning's roughness (for full flow, or as adjusted if n_var is TRUE)
yc - critical depth
Fr - Froude number
Re - Reynolds number
Qf - Full pipe flow rate
numeric vector that contains the flow rate [
numeric vector that contains the Manning roughness coefficient (for full flow or fixed).
numeric vector that contains the slope of the pipe [unitless]
numeric vector that contains the water depth [
numeric vector that contains the pipe diameter [
numeric vector that contains the ratio of depth to diameter [unitless]
If set to TRUE the value of n for full flow is adjusted with depth. [Default is FALSE]
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]
If set to TRUE the value(s) returned are of class units
with
units attached to the value. [Default is FALSE]
Ed Maurer, Irucka Embry
The possible applications of this function for solving the Manning equation for circular pipes are:
Given | Solve for |
y_d, Q, Sf, n | d |
d, Sf, Q, n | y |
y, d, Q, n | Sf |
y, d, Sf, n | Q |
d, Q, Sf, y | n |
The Manning equation (also known as the Strickler equation) describes flow conditions in
an open channel under uniform flow conditions. It is often expressed as:
xc_circle
for a cross-section diagram of the circular channel
#Solving for flow rate, Q: SI Units
manningc(d = 0.6, n = 0.013, Sf = 1./400., y = 0.24, units = "SI")
#returns 0.1 m3/s
#Solving for Sf, if d=600 mm and pipe is to flow half full
manningc(d = 0.6, Q = 0.17, n = 0.013, y = 0.3, units = "SI")
#returns required slope of 0.003
#Solving for diameter, d when given y_d): Eng (US) units
manningc(Q = 83.5, n = 0.015, Sf = 0.0002, y_d = 0.9, units = "Eng")
#returns 7.0 ft required diameter
#Solving for depth, y when given Q: SI units
manningc(Q=0.01, n=0.013, Sf=0.001, d = 0.2, units="SI")
#returns depth y = 0.158 m, critical depth, yc = 0.085 m
#Solving for depth, y when given Q: SI units, and n variable with depth
manningc(Q=0.01, n=0.013, Sf=0.001, d = 0.2, n_var = TRUE, units="SI")
#returns depth y = 0.174 m, critical depth, yc = 0.085 m
Run the code above in your browser using DataLab