2024年3月30日发(作者:王羡)
Option Explicit
Dim L1 As Single, L2 As Single, t As Single, d!, k!, kd!, thkd!, H!, D1!
Dim CD As Single, CM As Single, l As Single, Ko As Single
Dim Fhdmax As Single, Fhlmax As Single, Mhdmax As Single, Mhlmax!, Fhmax!, Mhmax!
Dim
0
As Sigle
Const Pi = 3.141592653
Coist G = 9.8
Con st
Y
= 1025
Private Sub Commaid1_Click()
Dim r As Iiteger
Do While True
L1 = Val(I iputBox(" 请输入波长 L1:", "求解设计波长: ", "100"))
t = Val(IiputBox(" 请输入设计波周期
If L1 <= 0 Thei
r = MsgBox("请输入一个正数! ", 5,"输入错误”
)
If r = 2 Thei
Eid
Eid If
Else
Exit Do
Eid If
Loop
k = 2 * Pi / L1
kd = k * d
thkd = (Exp(kd) - Exp(-kd)) / (Exp(kd) + Exp(-kd))
L2 = G * (t
A
2) * thkd / (2 * Pi)
Do Uitil Abs(L2 - L1) < 0.001
L1 = L2
k = 2 * Pi / L1
kd = k * d
thkd = (Exp(kd) - Exp(-kd)) / (Exp(kd) + Exp(-kd))
L2 = G * (t A 2) * thkd / (2 * Pi)
Loop
Priit "设计波长是: "; L2
Priit "波数: "; Format$(k, "0.0000")
Eid Sub
Private Sub Commaid2_Click()
Eid
Eid Sub
Private Sub Commaid3_Click()
H = Val(IiputBox(" 请输入设计波高 H:", "请输入 ", "3"))
D1 = Val(IiputBox(" 请输入桩柱直径 D1:", "请输入 ", "2"))
l = Val(IiputBox(" 请输入桩柱间距
If d / L2 < 0.5 Then
Print "相对水深 d/L2:"; d / L2
Print " 采用线性波理论计算 :"
Else
l:", "请输入 ", "15"))
T:", "请输入", "6"))
d = Val(I iputBox(" 请输入设计水深 d:", "请输入 ", "20"))
MsgBox " 重新选择计算理论 "
End If
Print "波陡: "; H / L2
Print "相对柱径: "; D1 / L2
If D1 / L2 < 0.2 Then
Print " 属于小直径桩柱 "
Else
Print " 属于大直径桩柱 "
End If
CD = Val(InputBox(" 请输入拖曳力系数: ", "请输入 ", "1.0"))
CM = Val(InputBox(" 请输入质量系数: ", "请输入 ", "2.0")) Print
Print "选用拖曳力系数: "; CD
Print "选用质量系数: "; CM
Dim LD As Single
LD = l / D1
Print " 桩柱相对间距: "; LD
Print "群桩系数 Ko: ";
If LD > 4 Then
Ko = 1
Print Ko
ElseIf LD < 4 And LD > 3 Then
Ko = 1.25
Print Ko
ElseIf LD < 2 Then
Ko = 1.5
Print Ko
End If
End Sub
Private Sub Command4_Click()
Dim K1 As Single, K2 As Single, K3 As Single, K4 As Single
Dim e As Single,
0
o As Single
K1 = (2 * k * (d + H / 2) + sh(2 * k * (d + H / 2))) / (8 * sh(2 * k * d))
Fhdmax = CD * 丫 * G * D1 * (H
A
2) * K1 / 2
Print "K1 值:"; Format$(K1, "0.0000")
Print "单桩柱最大水平拖曳力
K2 = th(k * d)
Fhlmax = CM * 丫 * G * Pi * (D1
A
2) * H * K2 / 8
Print "K2 值: "; Format$(K2, "0.0000")
Print "单桩柱最大水平惯性力 Fhlmax:"; Fhlmax
K3 = (2 * (k A 2) * (d + H / 2) A 2 + 2 * k * (d + H / 2) * sh(2 * k * (d + H / 2)) - ch(2 * k * (d + H / 2)) + 1) /
(32 * sh(2 * k * d))
Mhdmax = CD * 丫 * G * D1 * (H
A
2) * L2 * K3 / (2 * Pi)
Fhdmax:"; Fhdmax
2024年3月30日发(作者:王羡)
Option Explicit
Dim L1 As Single, L2 As Single, t As Single, d!, k!, kd!, thkd!, H!, D1!
Dim CD As Single, CM As Single, l As Single, Ko As Single
Dim Fhdmax As Single, Fhlmax As Single, Mhdmax As Single, Mhlmax!, Fhmax!, Mhmax!
Dim
0
As Sigle
Const Pi = 3.141592653
Coist G = 9.8
Con st
Y
= 1025
Private Sub Commaid1_Click()
Dim r As Iiteger
Do While True
L1 = Val(I iputBox(" 请输入波长 L1:", "求解设计波长: ", "100"))
t = Val(IiputBox(" 请输入设计波周期
If L1 <= 0 Thei
r = MsgBox("请输入一个正数! ", 5,"输入错误”
)
If r = 2 Thei
Eid
Eid If
Else
Exit Do
Eid If
Loop
k = 2 * Pi / L1
kd = k * d
thkd = (Exp(kd) - Exp(-kd)) / (Exp(kd) + Exp(-kd))
L2 = G * (t
A
2) * thkd / (2 * Pi)
Do Uitil Abs(L2 - L1) < 0.001
L1 = L2
k = 2 * Pi / L1
kd = k * d
thkd = (Exp(kd) - Exp(-kd)) / (Exp(kd) + Exp(-kd))
L2 = G * (t A 2) * thkd / (2 * Pi)
Loop
Priit "设计波长是: "; L2
Priit "波数: "; Format$(k, "0.0000")
Eid Sub
Private Sub Commaid2_Click()
Eid
Eid Sub
Private Sub Commaid3_Click()
H = Val(IiputBox(" 请输入设计波高 H:", "请输入 ", "3"))
D1 = Val(IiputBox(" 请输入桩柱直径 D1:", "请输入 ", "2"))
l = Val(IiputBox(" 请输入桩柱间距
If d / L2 < 0.5 Then
Print "相对水深 d/L2:"; d / L2
Print " 采用线性波理论计算 :"
Else
l:", "请输入 ", "15"))
T:", "请输入", "6"))
d = Val(I iputBox(" 请输入设计水深 d:", "请输入 ", "20"))
MsgBox " 重新选择计算理论 "
End If
Print "波陡: "; H / L2
Print "相对柱径: "; D1 / L2
If D1 / L2 < 0.2 Then
Print " 属于小直径桩柱 "
Else
Print " 属于大直径桩柱 "
End If
CD = Val(InputBox(" 请输入拖曳力系数: ", "请输入 ", "1.0"))
CM = Val(InputBox(" 请输入质量系数: ", "请输入 ", "2.0")) Print
Print "选用拖曳力系数: "; CD
Print "选用质量系数: "; CM
Dim LD As Single
LD = l / D1
Print " 桩柱相对间距: "; LD
Print "群桩系数 Ko: ";
If LD > 4 Then
Ko = 1
Print Ko
ElseIf LD < 4 And LD > 3 Then
Ko = 1.25
Print Ko
ElseIf LD < 2 Then
Ko = 1.5
Print Ko
End If
End Sub
Private Sub Command4_Click()
Dim K1 As Single, K2 As Single, K3 As Single, K4 As Single
Dim e As Single,
0
o As Single
K1 = (2 * k * (d + H / 2) + sh(2 * k * (d + H / 2))) / (8 * sh(2 * k * d))
Fhdmax = CD * 丫 * G * D1 * (H
A
2) * K1 / 2
Print "K1 值:"; Format$(K1, "0.0000")
Print "单桩柱最大水平拖曳力
K2 = th(k * d)
Fhlmax = CM * 丫 * G * Pi * (D1
A
2) * H * K2 / 8
Print "K2 值: "; Format$(K2, "0.0000")
Print "单桩柱最大水平惯性力 Fhlmax:"; Fhlmax
K3 = (2 * (k A 2) * (d + H / 2) A 2 + 2 * k * (d + H / 2) * sh(2 * k * (d + H / 2)) - ch(2 * k * (d + H / 2)) + 1) /
(32 * sh(2 * k * d))
Mhdmax = CD * 丫 * G * D1 * (H
A
2) * L2 * K3 / (2 * Pi)
Fhdmax:"; Fhdmax