Chapter 7 : Flow Under Varying Head

Example 7.1 Page No : 139

In [2]:
import math 
from scipy.integrate import quad

#initialisation of variables
g= 32.2 	#ft/sec**2
d= 6.    	#ft
di= 2. 	    #in
h= 9. 	    #ft
Cd= 0.6

#CALCULATIONS
def fun(H):
    return H**-0.5*(d/2)**2*math.pi/(Cd*math.pi*math.sqrt(2*g)/144)


vec2=quad(fun,0,h)
T= vec2[0]

#RESULTS
print  'Time to emptify = %.f sec'%(T)
Time to emptify = 1615 sec

Example 7.2 Page No : 140

In [1]:
import math 
from scipy.integrate import quad

#initialisation of variables
d1= 4.  	#ft
d2= 2. 	    #in
l= 300. 	#ft
P= 5. 	    #lb/in**2
h1= 3. 	    #ft
h2= 6. 	    #ft
f= 0.01

#CALCULATIONS
X= P*2.31*10*(d2/12)**5/(f*l)
A= math.pi*d1**2/4

def fun(h):
    return A*math.sqrt((P*2.31*10*(d2/12)**5/(f*l))-(10*(d2/12)**5*h/(f*l)))/(10*(d2/12)**5/(f*l))/7

vec2=quad(fun,h1,h2)
T= vec2[0]

#RESULTS
print  'time for the channel to fall = %.2f sec'%(T)

# rounding error
time for the channel to fall = 689.35 sec

Example 7.3 Page No : 141

In [1]:
from scipy.integrate import quad
import math 

#initialisation of variables
d= 10. 	#in
l= 15. 	#ft
di= 3. 	#in
Cd= 0.62 
g=32.2

#CALCULATIONS
def fun(H):
    return -l*2*math.sqrt((d/2)**2-((d/2)-H)**2)/(Cd*(math.pi*(di/12)**2/4)*H**0.5*math.sqrt(2*g))

vec2=quad(fun,0,d/2)
T= vec2[0]
secs = -T%60
mins = -T/60
#RESULTS
print  'time for the channel to fall = %d mins and %d seconds'%(mins,secs)

# rounding error
time for the channel to fall = 27 mins and 54 seconds

Example 7.4 Page No : 142

In [14]:
import math 
from scipy.integrate import quad

#initialisation of variables
h= 4. 	#ft
w= 6. 	#ft
l= 100. 	#yd
a= 60. 	#degrees
h1= 3. 	#ft
h2= 2. 	#ft
Cd= 0.6
g=32.2   	#ft/s**2

#CALCULATIONS
A= l*3*w
def fun(H):
    return -A*H**-2.5/(Cd*(8./15)*(math.tan(math.radians(a/2)))*math.sqrt(2*g))

vec2=quad(fun,h1,(h1-h2))
T= vec2[0]

#RESULTS
print  'time for the channel to fall = %.f sec'%(T)
time for the channel to fall = 654 sec

Example 7.5 Page No : 143

In [2]:
import math 

#initialisation of variables
A= 1./16 	#mile**2
d= 2. 	#ft
h= 18. 	#ft
h1= 5. 	#ft
f= 0.006
l= 200. 	#ft
h2= 10. 	#ft
g= 32.2 	#ft/sec**2

#CALCULATIONS
X= math.sqrt(1./((1.5+(4*f*l/d))/(2*g)))
def fun(H):
    return A*5280**2*H**-0.5/(math.pi*d**2*X/4)

vec2=quad(fun,h-h1,h)
T= vec2[0]
hours = T/3600
mins = T%3600/60

#RESULTS
print  'time for the channel to fall = %d hours and %d mins sec'%(hours,round(mins,-1))
time for the channel to fall = 48 hours and 20 mins sec

Example 7.6 Page No : 144

In [17]:
import math 

#initialisation of variables
l= 8. 	#ft
b= 6. 	#ft
h= 10. 	#ft
r= 3.
Cd= 0.6
A1= 36. 	#ft**2
A2= 12. 	#ft**2
l1= 6. 	#ft
h1= 1. 	#ft
d= 2. 	#in
g=32.2 	#ft/s**2

#CALCULATIONS
def fun(H):
    return H**-0.5/(Cd*(math.pi*(d/12)**2/4)*math.sqrt(2*g)*((1/A1)+(1/A2)))

vec2=quad(fun,0,(b-h1))
T= vec2[0]

#RESULTS
print  'time for the levels to become equal = %.f sec'%(T)
time for the levels to become equal = 383 sec

Example 7.7 Page No : 145

In [1]:
import math 

#initialisation of variables
h1= 3. 	#ft
h2= 4. 	#ft diameter
r= 0.95 	#m**-1
k= 27.65 	#sec
Cd= 0.95

#CALCULATIONS
T= k*(math.log(r*math.sqrt(h2)-1)+(r*math.sqrt(h2)-1))-k*(math.log(r*math.sqrt(h1)-1)+(r*math.sqrt(h1)-1))
h= ((h2-h1)/Cd)**2

#RESULTS
print  'Time = %.2f sec'%(T)
print  ' Increase in water level = %.2f ft'%(h)
Time = 16.23 sec
 Increase in water level = 1.11 ft

Example 7.8 Page No : 146

In [2]:
import math 

#initialisation of variables
t= 75. 	#sec
h= 10.5 	#in constant
h1= 13.5 	#in

#CALCULATIONS
r= t*math.pi*math.sqrt(2*h**2)/math.log((math.sqrt(2*h1**2)+h1)/(math.sqrt(2*h**2)-h))
t= -r*((1/h1)-(1/h))

#RESULTS
print  'A/K = %.f '%(r)
print  ' Time taken = %.1f sec'%(t)

# rounding off error
A/K = 1737 
 Time taken = 36.8 sec

Example 7.9 Page No : 148

In [20]:
import math 

#initialisation of variables
g= 9.8 	#m/sec**2
h1= 10. 	#in
h2= 12. 	#in
r1= 1.32
r2= 1.56
r3= 1.97
r4= 4.10
r5= 2.64

#CALCULATIONS
Q= math.sqrt(32.2)*(h2/18)**1.5
T= 10**5*(r1+2*r3+r4+4*(r3+r5))/(6*h2*60*60)

#RESULTS
print  'Actual discharge = %.2f CBH**1.5 cuses'%(Q)
print  ' Time = %.1f  hr'%(T)

#The answer is a bit different due to rounding off error in textbook
Actual discharge = 3.09 BH**1.5 cuses
 Time = 10.7  hr