Download (right-click, save target as ...) this page as a Jupyterlab notebook from: ES-2
LAST NAME, FIRST NAME
R00000000
Apply principles of specific energy in rectangular open channels; apply definition of choked flow
Completion, results plausible, format correct, calculations (Jupyter Notebook) are shown.
Water is flowing at a depth of 10 $ft$ with a velocity of 10 $\frac{ft}{sec}$ in a rectangular channel. A smooth upward step in the channel bottom of 1 $ft$ is proposed
Determine:
# sketch(s) here
# list known quantities
# list unknown quantities
# governing principles
# match sp energy before after step
# check Fr <1 on step
def spNRG(y,width,discharge,gravity): #specific energy in a rectangular channel
numerator=discharge**2
denominator=(2.0*gravity)*(width**2)*(y**2)
if denominator == 0.0: #probably depth is zero
raise Exception("divide by zero, check your inputs dumbass!")
spNRG=numerator/denominator + y
return(spNRG)
def Fr2(y,width,discharge,gravity):
Fr2=(width*discharge**2)/(gravity*(width*y)**3)
return(Fr2)
g= 32.2 #given
V1=10 #given
y1=10 #given
B1=10 #analyst choice
Q=V1*y1*B1
y2=8.31
dz=1.0
B2=10
NRG1=spNRG(y1,B1,Q,g)
NRG2=spNRG(y2,B2,Q,g)
FR1=Fr2(y1,B1,Q,g)**(1/2)
FR2=Fr2(y2,B2,Q,g)**(1/2)
print("Small Step in Horizontal Channel")
print("Section 1: "+"Sp. energy ",NRG1," depth ",y1," step height ",0,"Fr ",FR1)
print("Section 2: "+"Sp. energy ",NRG2+dz," depth ",y2," step height ",dz,"Fr ",FR2)
def spNRG(y,width,discharge,gravity): #specific energy in a rectangular channel
numerator=discharge**2
denominator=(2.0*gravity)*(width**2)*(y**2)
if denominator == 0.0: #probably depth is zero
raise Exception("divide by zero, check your inputs dumbass!")
spNRG=numerator/denominator + y
return(spNRG)
def Fr2(y,width,discharge,gravity):
Fr2=(width*discharge**2)/(gravity*(width*y)**3)
return(Fr2)
g= 32.2 #given
V1=10 #given
y1=10 #given
B1=10 #analyst choice
Q=V1*y1*B1
y2=6.78 # set to get Fr=1 criotical depth
dz=1.397 # set until until NRGs match
B2=10
NRG1=spNRG(y1,B1,Q,g)
NRG2=spNRG(y2,B2,Q,g)
FR1=Fr2(y1,B1,Q,g)**(1/2)
FR2=Fr2(y2,B2,Q,g)**(1/2)
print("Small Step in Horizontal Channel")
print("Section 1: "+"Sp. energy ",NRG1," depth ",y1," step height ",0,"Fr ",FR1)
print("Section 2: "+"Sp. energy ",NRG2+dz," depth ",y2," step height ",dz,"Fr ",FR2)
# discussion
Water is flowing at a depth of 10 $ft$ with a velocity of 10 $\frac{ft}{sec}$ in a rectangular channel. A smooth contraction in width from 10 $ft$ to 9 $ft$ on a horizontal bottom is proposed
Determine:
# sketch(s) here
# list known quantities
# list unknown quantities
# governing principles
def spNRG(y,width,discharge,gravity): #specific energy in a rectangular channel
numerator=discharge**2
denominator=(2.0*gravity)*(width**2)*(y**2)
if denominator == 0.0: #probably depth is zero
raise Exception("divide by zero, check your inputs dumbass!")
spNRG=numerator/denominator + y
return(spNRG)
def Fr2(y,width,discharge,gravity):
Fr2=(width*discharge**2)/(gravity*(width*y)**3)
return(Fr2)
g= 32.2 #given
V1=10 #given
y1=10 #given
B1=10 #analyst choice
Q=V1*y1*B1
y2=9.375 #
dz=0 #
B2=9 # given
NRG1=spNRG(y1,B1,Q,g)
NRG2=spNRG(y2,B2,Q,g)
FR1=Fr2(y1,B1,Q,g)**(1/2)
FR2=Fr2(y2,B2,Q,g)**(1/2)
print("Contraction in Horizontal Channel")
print("Section 1: "+"Sp. energy ",NRG1," depth ",y1," step height ",0,"Fr ",FR1)
print("Section 2: "+"Sp. energy ",NRG2+dz," depth ",y2," step height ",dz,"Fr ",FR2)
def spNRG(y,width,discharge,gravity): #specific energy in a rectangular channel
numerator=discharge**2
denominator=(2.0*gravity)*(width**2)*(y**2)
if denominator == 0.0: #probably depth is zero
raise Exception("divide by zero, check your inputs dumbass!")
spNRG=numerator/denominator + y
return(spNRG)
def Fr2(y,width,discharge,gravity):
Fr2=(width*discharge**2)/(gravity*(width*y)**3)
return(Fr2)
g= 32.2 #given
V1=10 #given
y1=10 #given
B1=10 #analyst choice
Q=V1*y1*B1
y2=7.77 #
dz=0 #
B2=8.24 # make small adjust y to keep Fr below 1
y2 = ((Q**2)/(g*B2*B2))**(1/3)
NRG1=spNRG(y1,B1,Q,g)
NRG2=spNRG(y2,B2,Q,g)
FR1=Fr2(y1,B1,Q,g)**(1/2)
FR2=Fr2(y2,B2,Q,g)**(1/2)
print("Contraction in Horizontal Channel")
print("Section 1: "+"Sp. energy ",NRG1," depth ",y1," step height ",0,"Fr ",FR1)
print("Section 2: "+"Sp. energy ",NRG2+dz," depth ",y2," step height ",dz,"Fr ",FR2)
# discussion