Project no.
3
In
Hydraulics
(Laboratory)
Submitted to:
Engr. Omar turabin
Submitted by:
Al-rashid b. Sayadi
bsCe-4a
(March 23,2011)
Hydraulic Jump Computation
Problem:
A hydraulic jump occurs in a trapezoidal channel with side slopes of 1:1 and a base width of 4.0
meters. If the upstream depth (depth before the hydraulic jump) is 1.0 meters and the downstream
depth (depth after the hydraulic jump) is 2.0 meters. Compute the ff:
a) The discharge Q
b) Head loss in the jump
c) Velocity at the upstream depth
d) Velocity at the downstream depth
Working Source Code:
Option Explicit
Dim base, beys As Double
Dim Depth1, d1 As Double
Dim Depth2, d2 As Double
Dim Ex, X, X1, X2, bz, dep1, dep2 As Double
Dim Wy, Y, Y1, Y2 As Double
Dim top1, top2, area1, area2, h1, h2, flow, FL, Vel1, Vel2, v1, v2, hl As Double
Private Sub cmdCalculate_Click()
'beys,d1,d2
If [Link] = "" Or [Link] = "" Or [Link] = "" Or [Link] = "" Or [Link] = "" Then
MsgBox "Data Is Lacking ,Please check values inputted.", vbCritical, "Hydraulic Jump"
ElseIf [Link] <> "" Or [Link] <> "" Or [Link] <> "" Or [Link] <> "" Or [Link] <> "" Then
If beys <> 0 Or d1 <> 0 Or d2 <> 0 Or X <> 0 Or Y <> 0 Then
'X1 = (X * d1) / Y
'X2 = (X * d2) / Y
'top1 = (2 * X1) + beys
'top2 = (2 * X2) + beys
'area1 = ((top1 + beys) / 2) * d1
'area2 = ((top2 + beys) / 2) * d2
'h1 = (d1 / 3) * (((2 * beys) + top1) / (beys + top1))
'h2 = (d2 / 3) * (((2 * beys) + top2) / (beys + top2))
'flow = ((9.81) * ((area1 * h1) - (area2 * h2)) * ((area1 * area2) / (area1 - area2))) ^ 0.5
'v1 = flow / area1
'v2 = flow / area2
'hl = ((v1 * v1) / (2 * 9.81)) + d1 - ((v2 * v2) / (2 * 9.81)) - d2
X1 = (X * d1) / Y
X2 = (X * d2) / Y
top1 = (2 * X1) + beys
top2 = (2 * X2) + beys
area1 = ((top1 + beys) / 2) * d1
area2 = ((top2 + beys) / 2) * d2
h1 = (d1 / 3) * (((2 * beys) + top1) / (beys + top1))
h2 = (d2 / 3) * (((2 * beys) + top2) / (beys + top2))
flow = ((9.81) * ((area1 * h1) - (area2 * h2)) * ((area1 * area2) / (area1 - area2))) ^ 0.5
v1 = flow / area1
v2 = flow / area2
hl = ((v1 * v1) / (2 * 9.81)) + d1 - ((v2 * v2) / (2 * 9.81)) - d2
If [Link] = "cu. m/sec" Then
FL = flow
[Link] = Round(FL, 3)
[Link] = Round(v1, 3)
[Link] = Round(v2, 3)
[Link] = Round(hl, 3)
[Link] = "cu. m/sec"
ElseIf [Link] = "cfs" Then
FL = (flow * 35.288)
[Link] = Round(FL, 3)
[Link] = Round(v1, 3)
[Link] = Round(v2, 3)
[Link] = Round(hl, 3)
[Link] = "cfs"
End If
[Link] = "Meter"
[Link] = "meter/sec"
[Link] = "meter/sec"
End If
Else
MsgBox "Please input proper values for required data", vbCritical, "Hydraulic Jump"
End If
End Sub
Private Sub cmdClear_Click()
[Link] = ""
[Link] = ""
[Link] = ""
[Link] = ""
[Link] = ""
[Link] = ""
[Link] = ""
[Link] = ""
[Link] = ""
End Sub
Private Sub Combo1_Click()
If [Link] <> "" Then
If [Link] = "Meter" Then
bz = Val([Link])
ElseIf [Link] = "Feet" Then
bz = Val([Link]) * 0.3048
End If
End If
beys = bz
End Sub
Private Sub Combo2_Click()
If [Link] = "Meter" Then
d1 = Val([Link])
ElseIf [Link] = "Feet" Then
d1 = Val([Link]) * 0.3048
End If
End Sub
Private Sub Combo3_Click()
If [Link] <> "" Then
If [Link] = "Meter" Then
dep2 = Val([Link])
ElseIf [Link] = "Feet" Then
dep2 = Val([Link]) * 0.3048
End If
End If
d2 = dep2
End Sub
Private Sub Combo4_Click()
If [Link] <> "" Then
If [Link] = "cu. m/sec" Then
FL = flow
ElseIf [Link] = "cfs" Then
FL = flow * 35.288
End If
End If
[Link] = Round(FL, 3)
End Sub
Private Sub Combo5_Click()
If [Link] <> "" Then
If [Link] = "Meter" Then
h1 = hl
ElseIf [Link] = "Feet" Then
h1 = hl * 3.28
End If
End If
[Link] = Round(h1, 3)
End Sub
Private Sub Combo6_Click()
If [Link] <> "" Then
If [Link] = "meter/sec" Then
Vel1 = v1
ElseIf [Link] = "feet/sec" Then
Vel1 = v1 * 3.28
End If
End If
[Link] = Round(Vel1, 3)
End Sub
Private Sub Combo7_Click()
If [Link] <> "" Then
If [Link] = "meter/sec" Then
Vel2 = v2
ElseIf [Link] = "feet/sec" Then
Vel2 = (v2 * 3.28)
End If
End If
[Link] = Round(Vel2, 3)
End Sub
Private Sub txtBase_Change()
Combo1_Click
End Sub
Private Sub txtDepth1_Change()
Combo2_Click
End Sub
Private Sub txtDepth2_Change()
Combo3_Click
End Sub
Private Sub txtEx_Change()
X = Val([Link])
End Sub
Private Sub txtWy_Change()
Y = Val([Link])
End Sub