Reference no: EM132382446
Question
Assignment
The Mannings Equation is used to find the Flow Q (cubic feet per second or cfs) in an open channel. The equation is
Q = 1.49/n * A * R^2/3 * S^1/2
Where
Q = Flowrate in cfs
A = Cross Sectional Area of Flow (square feet)
R = Hydraulic Radius (Wetted Perimeter / A)
S = Downward Slope of the Channel (fraction)
The Wetted Perimeter and the Cross-Section of Flow are both dependent on the geometry of the channel. For this assignment we are going to use a Trapezoidal Channel.
If you work out the Flow Area you will find it is
A = b*y + y*(z*y) = by + z*y^2
The Wetted Perimeter is a little trickier but a little geometry will show it to be
W = b + 2y(1 + z^2)^1/2
where b = base width (ft); Z = Side slope; y = depth.
Putting it all together gives a Hydraulic Radius of
R = (b*y + Z*y^2)/(b + 2y*(1+Z^2))^1/2
All this goes into the Mannings Equations
Q = 1/49/n * (b*y + z*y^2) * ((b*y + Z*y^2)/(b + 2y(1+Z^2))^1/2)^2/3 * S^1/2
Luckily I will give you the code for this equation in Python. You are free to use this code. Please note that YOU will be solving for y (depth in this function) using iterative techniques.
def TrapezoidalQ(n,b,y,z,s):
# n is Manning's n - table at
# https://www.engineeringtoolbox.com/mannings-roughness-d_799.html
# b = Bottom width of channel (ft)
# y = Depth of channel (ft)
# z = Side slope of channel (horizontal)
# s = Directional slope of channel - direction of flow
A = b*y + z*y*y
W = b + 2*y*math.sqrt(1 + z*z)
R = A/W
Q = 1.49/n * A * math.pow(R, 2.0/3.0) * math.sqrt(s)
return Q
As an engineer you are designing a warning system that must trigger when the flow is 50 cfs, but your measuring systems measures depth.
What will be the depth where you trigger the alarm?
The values to use
Manning's n - Clean earth channel freshly graded
b = 3 foot bottom
z = 2 Horiz : 1 Vert Side Slope
s = 1 foot drop for every 100 feet
(hint: A depth of 1 foot will give you Q = 25.1 cfs)
Write the program code and develop a document that demonstrates you can use the code to solve this problem using iterative techniques.
You should call your function CalculateDepth. Inputs should be Q (flow), Manning's n, Bottom Width, Side Slope, Longitudinal Slope. It should demonstrate an iterative method to converge on a solution with 0.01 foot accuracy.