Download (right-click, save target as ...) this page as a Jupyterlab notebook from: ES-2


CE 4353/5360 Design of Hydraulic Systems
Fall 2022 Exercise Set 2

LAST NAME, FIRST NAME

R00000000


Purpose :

Apply principles of specific energy in rectangular open channels; apply definition of choked flow

Assessment Criteria :

Completion, results plausible, format correct, calculations (Jupyter Notebook) are shown.


Problem 1

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:

  • The flow depth (on the step).
  • The change in water surface elevation.
  • The maximum allowable step height that prevents choking (assume a head loss coefficient of 0).
In [ ]:
# sketch(s) here
In [ ]:
# list known quantities
In [ ]:
# list unknown quantities
In [ ]:
# governing principles
# match sp energy before after step
# check Fr <1 on step
In [104]:
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)
Small Step in Horizontal Channel
Section 1: Sp. energy  11.5527950310559  depth  10  step height  0 Fr  0.5572782125753528
Section 2: Sp. energy  11.558599372185657  depth  8.31  step height  1.0 Fr  0.7356487959258888
In [127]:
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)
Small Step in Horizontal Channel
Section 1: Sp. energy  11.5527950310559  depth  10  step height  0 Fr  0.5572782125753528
Section 2: Sp. energy  11.554961884807609  depth  6.78  step height  1.397 Fr  0.9982228877217582
In [ ]:
# discussion

Problem 2

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:

  • The flow depth (in the contracted section).
  • The change in water surface elevation.
  • The maximum allowable contraction in width that prevents choking (assume a head loss coefficient of 0).
In [ ]:
# sketch(s) here
In [ ]:
# list known quantities
In [ ]:
# list unknown quantities
In [ ]:
# governing principles
In [154]:
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)
Contraction in Horizontal Channel
Section 1: Sp. energy  11.5527950310559  depth  10  step height  0 Fr  0.5572782125753528
Section 2: Sp. energy  11.556155160221182  depth  9.375  step height  0 Fr  0.6821386228965383
In [164]:
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)
Contraction in Horizontal Channel
Section 1: Sp. energy  11.5527950310559  depth  10  step height  0 Fr  0.5572782125753528
Section 2: Sp. energy  11.557249633571399  depth  7.704833089047598  step height  0 Fr  1.0
In [1]:
# discussion
total 292
drwxrwxr-x  3 sensei sensei   4096 Oct  9 03:43 .
drwxrwxr-x 12 sensei sensei   4096 Oct  9 03:43 ..
drwxrwxr-x  2 sensei sensei   4096 Oct  9 03:43 .ipynb_checkpoints
-rw-rw-r--  1 sensei sensei 278507 Oct  9 03:43 ES2.html
-rw-rw-r--  1 sensei sensei   4186 Oct  9 03:43 ES2.ipynb
In [ ]: