注:这可是我的原创,请多加点币
已知土质边坡的几何条件如图,已知边坡土的容重为γ=19kN/m3,粘聚力为c=5kPa,内摩擦角为φ=20°,边坡中无地下水,,试用毕肖普条分法求解边坡的安全系数K。(要求迭代精度为0.01)
解:在Autocad中画图并条分,条分图如图所示,计算过程采用程序计算。
本程序用Visual Basic6.0编写运行通过。需添加部件“Microsoft Office XP Web Componets”,把其中的Spreadsheet控件添加到窗体中,并命名为“Spreadsheet1”,数据输入如图8-n非加粗部分所示。程序流程图如图8-n1,其程序源代码如下,请读者到计算机上调试运行。
原程序如下:
Private Sub MnuBCaculate_Click()
'H(I)—单条的高度数组,m;
'A(I)—单条底边的斜角数组,(。);
'FT—安全系数初始值;
'WT—单条重量;
'WK(I)—空间力矩数组;
'Pw(I)—孔隙水压数组;
'CB(I)—空间力矩(粘结力x单条宽)数组;
'MA (I)-ma;
'S1 -求和变量(公式的分子);
's2----求和变量〔公式的分母),
'F2—计算的安全系数,
'F1-预估输人的安全系数.
Dim I As Integer, J As Integer
Dim NS#, Y#, C#, Fai#, U#, F1#, F2#, WT#, Jingdu#
Dim b(), H(), A(), W(), WK(), Pw(), CB(), MA()
Dim S1#, S2#
NS = Spreadsheet1.ActiveSheet.UsedRange.Rows.Count - 1
NS = InputBox("请输入滑坡的条块数", "确认条块数", NS)
Const G1 = 0.0174533
Y = Val(Spreadsheet1.Cells(2, 7)) '土容重
C = Val(Spreadsheet1.Cells(3, 7)) '粘聚力
Fai = Val(Spreadsheet1.Cells(4, 7)) '内摩擦角
U = Val(Spreadsheet1.Cells(5, 7)) '孔隙水压力系数
F1 = Val(Spreadsheet1.Cells(6, 7)) '初始安全系数
Jingdu = Val(Spreadsheet1.Cells(7, 7)) '计算精度
ReDim b(NS), H(NS), A(NS), W(NS), WK(NS), Pw(NS), CB(NS), MA(NS)
For I = 1 To NS
b(I) = Spreadsheet1.Cells(I + 1, 2)
H(I) = Spreadsheet1.Cells(I + 1, 3)
A(I) = Spreadsheet1.Cells(I + 1, 4)
Next I
J = NS + 1
Spreadsheet1.Cells(J, 6) = "计算结果----"
Do '计算过程
S1 = 0: S2 = 0
For I = 1 To NS
WT = b(I) * H(I) * Y '每一块土重W
W(I) = WT * (Sin(A(I) * G1)) '每一块的下滑力
S1 = S1 + W(I) '分母下求和
Pw(I) = U * Y * H(I) * b(I) '孔隙水压力
WK(I) = ((WT - Pw(I)) * Tan(Fai * G1)) + (C * b(I)) '抗滑力计算
MA(I) = (Cos(A(I) * G1)) + ((Tan(Fai * G1) * Sin(A(I) * G1)) / F1)
S2 = S2 + WK(I) / MA(I) '分子上求和
Next I
F2 = S2 / S1 '计算新的安全系数
If Abs(F1 - F2) < Jingdu Then Exit Do’判断精度是否满足
F1 = F2
Spreadsheet1.Cells(J + 1, 6) = "第" & J - 7 & "次迭代结果:"
Spreadsheet1.Cells(J + 1, 7) = F2 '输出中间迭代结果
J = J + 1
Loop
Spreadsheet1.Cells(J + 1, 6) = "第" & J - 7 & "次迭代结果:"
Spreadsheet1.Cells(J + 1, 7) = F2
Spreadsheet1.Cells(J + 2, 6) = "边坡的安全系数为F2"
Spreadsheet1.Cells(J + 2, 7) = Format(F2, "0.0000000") '输出最终结果
End Sub
注:本计算只是假定了一个圆心,还要按照4.5H法寻找最危险滑面,得到的最小的安全系数才是边坡真正的安全系数。
注:本程序在VB6.0中调试通过。