from scipy.optimize import root def manningC(d, args): Q, w,h,sSlopeL,sSlopeR,nMann,lSlope = args #left side slope can be different from right side slope area = ((((d*sSlopeL)+(d*sSlopeR)+w)+w)/2)*d # wet perimeter wPer = w+(d*(sSlopeL*sSlopeL+1)**0.5)+(d*(sSlopeR*sSlopeR+1)**0.5) #Hydraulic Radius hR = area/ wPer # following formula must be zero # manipulation of Manning's formula mannR = (Q*nMann/lSlope**0.5)-(area*hR**(2.0/3.0)) return mannR ###### MAIN CODE # the following are input data to our open channel manning calculation # flow, width, height, left side slope, right side slope, # Manning coefficient, longitudinal slope args0 = [2.5,2,.5,1.0,1.0,.015,.005] initD = .00001 # initial water depth value # then we call the root scipy function to the manningC sol =root(manningC,initD, args=(args0,)) # print the root found print(sol.x)
Python programming, with examples in hydraulic engineering and in hydrology.
Wednesday, May 2, 2018
Solve Manning's Equation with Python Scipy library
Subscribe to:
Post Comments (Atom)
No comments:
Post a Comment