宋云連 付 宇 李 強,2
1(內蒙古工業大學內蒙古自治區土木工程結構與力學重點實驗室 內蒙古 呼和浩特 010051) 2(鄭州市市政工程總公司 河南 鄭州 450001)
重力式擋土墻因其結構簡單、施工簡便、可就地取材等特點被廣泛應用。當前的擋土墻穩定性分析和驗算軟件以安全系數法為主流,盡管該方法是一種相對有效的工程實用法,因其未考慮參數的不確定性,在實際工程中會出現安全系數的大小和工程結構的安全程度不匹配的現象[1]。為此,將以概率論為基礎的可靠度理論引入到擋土墻穩定性分析,國內外已有一定的研究成果。杜永峰等[2]以一重力式擋土墻為例,采用JC法對擋土墻的兩種主要失效模式進行計算,并用串聯理論進行系統靠度分析。王海祥等[3]采用蒙特卡羅法對重力式擋土墻的抗傾覆和抗滑移穩定性進行分析計算并與定值分析法進行比較,得出某些擋土墻安全系數足夠,而投入使用卻發生破壞的結論。Low[4]采用一次二階矩法在考慮擋土墻參數正態和非正態分布基礎上對擋土墻的計算進行程序設計,并將其與Excel相結合使計算過程更加簡化明了。Castillo等[5]將傳統安全系數法與概率理論方法相結合計算出重力式擋土墻的失效概率,并對其進行敏感性分析和計算過程的優化設計。Sivakumar等[6]采用可靠度理論對影響懸臂式擋土墻穩定性的不確定參數隨機模擬,確定了抗滑移、抗傾覆等可靠指標和失效概率的取值范圍。
綜上所述,以定值理論為基礎的擋土墻分析軟件已經不能滿足實際工程需求;將可靠度引入擋土墻穩定性分析恰好可以彌補定值計算的缺陷,且該方法已經具備一定的理論支撐。此外,因擋土墻可靠度分析涉及復雜方程且運算量極大,需輔以計算機。查閱計算機軟件類文獻發現,MATLAB的高效算法及其完善的GUI窗口開發功能與該法的需求不謀而合[7-12]。因此,本文以蒙特卡羅法為基礎,結合MATLAB的GUI功能,開發出一款面向對象的重力式擋土墻可靠度計算和敏感性分析的通用計算程序軟件。該軟件具備在重力式擋土墻尺寸、墻后邊坡參數及墻后填土隨機參數已知的條件下,可直接計算出重力式擋土墻抗傾覆和抗滑移的失效概率與可靠指標,并繪制隨機變量參數的敏感性分析曲線圖。此外,該軟件也具備定值計算的功能,可以求解抗傾覆和抗滑移安全系數。
對擋土墻的穩定性進行分析計算的前提是建立擋墻通用模型,如圖1所示。

圖1 重力式擋土墻通用模型
該模型的主要參數有:擋土墻自身尺寸參數(高度H、頂寬dk、底寬Dk、墻背傾角α、墻趾高度hj、墻趾寬度bj、墻底傾角a0);填料參數(填料容重γ、均值γmu、標準差γsig;填土內摩擦角均值φmu、標準差φsig;填土與墻背間內摩擦角δ、均值δmu、標準差δsig);墻后邊坡參數(墻頂與路面高程差a、內邊坡斜率α*、路肩寬b、行車道寬度L0、外邊坡斜率α1)。
為簡化擋土墻截面面積及其重心力矩的公式推導,現將圖1中的擋土墻分為固定的四個三角形模塊,經過推導每一模塊的面積計算公式如下:
S1=0.5×Dk×hj
(1)
S2=0.5×[(hj+Dk×tana0)×tana+Dk]×
(hj+Dk×tana0)
(2)
S3=0.5×[(hj+Dk×tana0)×tana+Dk-bj]×
(H-hj-Dk×tana0)
(3)
S4=0.5×dk(H-hj-Dk×tana0)
(4)
經推導各模塊重心距離墻趾的距離為:
l1=Dk/3
(5)
l2=[(hj+Dk×tana0)×tana+2×Dk]/3
(6)
l3=[(hj+Dk×tana0)×tana+Dk+2×bj+
(H-hj-Dk×tana0)×tana]/3
(7)
l4=[(hj+Dk×tana0)×tana+2×
(H-hj-Dk×tana0)×tana+Dk+dk]/3
(8)
式中:墻背俯斜時α為負值,仰斜時α為正值。經計算可得重力式擋土墻的截面面積為:
S=S1+S2+S3+S4
(9)
其自重重心距墻趾的距離為:
l=(l1+l2+l3+l4)/2
(10)
在程序設計過程中,擋土墻墻后主動土壓力計算采用庫侖土壓力理論。假設墻后填土破裂面為直線型,取單位長度的擋土墻墻后破裂棱體,利用力多邊形和正弦定理求得墻后主動土壓力Ea的表達式如下[13]:
(11)
式中:Θ=a+δ+φ,α和δ角度的含義見圖1;G=γS為破裂棱體單位長度上的自重。破裂棱體橫斷面的面積可以表示為:
S=A0tanθ-B0
(12)
式中:A0和B0是用來表示不同破裂棱體橫斷面的參數。由于破裂角θ交與位置不同時(如交于內邊坡,路面上荷載內部、中部及外部),只有單位長破裂棱體自重G的表達式不同,當破裂棱體采用同一種土質修筑時,G的不同之處表現在破裂棱體橫斷面面積S的不同。利用軟件計算S時,其破裂面的搜索范圍為0到90度,搜索步長為0.01度。根據破裂面交于位置不同,各部位S中的主要參數及其作用點的計算公式如表1,各邊界條件的判定則是依據圖1中尺寸參數求出臨界破裂角θ的正切值。

表1 不同邊界條件對應主動土壓力主要參數計算公式
表1中,h1=(b-a×tanθ)/(tanθ+tanα),h2=d/(tanθ+tanα),h3=L0/(tanθ+tanα),h4=H-h1-h2-h3。其中,Zy為各部位對應的垂直作用點距離,水平力矩Zx=Dk-Zy×tanα。
在計算出破裂面交于各部位的所有主動土壓力后,通過語句Eamax=max(Ea)找到最大主動土壓力及其對應破裂面,進而通過查找語句追溯Eamax對應的破裂角及相應的作用點力矩大小。
(1) 抗滑移穩定性功能函數。重力式擋土墻抗滑移穩定性設計要求基底摩阻力大于擋墻的滑動力。借助抗滑移安全系數定義,建立其抗滑功能函數表達式:
Z1=Mr-Ms=(Gy+Ex)μ-(Ey-Gx)=
(G×cosa0+Ea×sina0)μ-(Ea×cosa0-G×sina0)
(13)
式中:G為擋墻自重;Ea為最大主動土壓力;Gy為垂直于基底的擋墻自重分力;μ為基底摩擦系數。
(2) 抗傾覆穩定性功能函數。借助擋土墻抗傾覆安全系數定義可建立重力式擋土墻抗傾覆功能函數為:
Z2=Fr-Fs=GZG+EyZx-ExZy=
GZG+Ea×cosa0×Zx-Ea×sina0×Zy
(14)
式中:Zx和Zy分別為最大主動土壓力作用點距墻趾的橫向和縱向力矩。
在MATLAB的命令行窗口輸入guide即可啟動GUIDE工具。在該環境下,運用Edit Text、Static Text、Push Button、Pop-up menu、Panel等控件設計出擋土墻計算的主界面窗口及各子界面窗口上的參數輸入、模型圖輸出及條件選擇等對話窗口[14]。各界面的菜單欄則采用Menu Editor控件設計,主界面布局見圖2。

圖2 主界面架構
圖2中左上部分是已知信息輸入界面;左下部分是結構可靠度和失效概論以及安全系數的計算結果輸出界面;右上是供擋墻計算圖形輸出預留的界面;右下部分是擋土墻計算過程中的中間結果輸出界面。本程序軟件還可以根據需要對界面進行任意的預留或者輸出界面設計。
主子界面之間的切換則采用MATLAB中的“set (gcf,′visible′,′on′) 子界面名稱”語句來實現,而不同界面上數據的傳遞處理方法則是以兩界面間所需所有變量轉化為全局變量“Global 變量名”的形式實現的。
在設計出界面對話窗口后,可運行GUI界面生成各個界面主程序框架,實現功能的代碼即可嵌入在該框架下的主函數或者各控件的回調函數架構中。然后通過類似str2num(get(handles.編輯框編號,′string′))的get語句獲取控件的輸入信息。在讀取所需參數后,按照重力式擋土墻可靠度計算流程進行相應的程序代碼編輯。首先,由各隨機參數的均值和標準差用normrnd(均值,標準差,M,N)語句生成M行N列服從正態分布的隨機矩陣。然后依據表1中計算公式,依次編寫出各邊界條件下主動土壓力Ea計算程序,最后通過以下搜索方法找到最大主動土壓力:
j=0;
while (j j=j+1; if Eamax==Ea(j) break; end end w1=(j-1)/100+aaf % aaf為最大Ea對應破裂角 擋土墻二維模型圖繪制方法是將擋墻模型主要轉折點的二維坐標通過“plot([X,Y]”語句連接,隨后通過“hold on”語句將所有關鍵點連線繪制到同一幅坐標圖中。最后,運用類似“set(handles.fig1)”的set語句可將模型圖以及運算結果輸出到GUI界面的指定區域[15]。擋土墻結構抗滑和抗傾覆可靠度計算的具體程序流程設計框圖如圖3所示。 圖3 程序計算框圖 擋土墻界面設計和各界面所需所有程序編寫完成后,界面上的輸入參數、程序中間計算過程數據(主動土壓力力矩、擋墻重心力矩、換算土柱高度等)和計算結果的保存可結合Excel表格實現。設計思路為:首先在計算機指定文件夾(如D:1
etaining)中建立一個Excel空表格(如retaining.xlsx),然后由:“xlswrite(′D:1
etaining
etaining.xlsx′,*,′Sheet1′,′I19′)”語句,將參數保存到該指定目錄下retaining.xlsx文件中相應的工作表(Sheet1)中的預設位置(I19)。 界面上的曲線分析圖與擋土墻模型圖可采用以下語句存為JPG圖片。 axes(handles.*); newfig=Fig. ; set(newfig,′visible′,′off′); set(newfig,′color′,′w′); newaxes=copyobj(handles.fig1,newfig); set(newaxes,′Units′,′default′,′Position′,′default′); [filename, pathname]=uiputfile({′*.jpg′, ′Fig.type(*.jpg)′},′儲存圖片′); if isequal(filename,0)||isequal(pathname,0) return end str=fullfile(pathname,filename); f=getframe(newfig); f=frame2im(f); imwrite(f,str); close(newfig) 若要查看詳細的計算數據只需點擊GUI界面菜單欄中的“查看計算書”按鈕即可打開保存有計算過程及計算結果的Excel表格,該功能由MATLAB語句“winopen(′D:1
etaining
etaining.xlsx′)”實現。 使用MATLAB的Application Compiler工具箱可將GUI界面設計生成的主程序文件及關聯文件編譯成獨立使用的安裝包,安裝后的.exe應用程序可以在不安裝MATLAB的情況下啟動主界面的計算窗口。該功能的實現是基于一套獨立共享庫——MATLAB Runtime來完成的。此外,主界面菜單欄(見圖2)中的程序使用說明書以及輸入框的提示信息可以為不熟悉該程序操作步驟的用戶提供相應的幫助。 某重力式擋土墻如圖4所示,擋墻各尺寸參數為:H=5.178 m,dk=0.5 m,Dk=0.98 m,hj=0.5 m,bj=0.3 m,L0=5 m,α=11.3°,墻底斜率為0.2。擋土墻填料容重23 kN/m3。 圖4 重力式擋土墻計算簡圖 隨機變量的各參數具體值見表2,假設表2中各參數均服從正態分布。 表2 各隨機變量參數統計 在不計荷載的情況下,將已知參數輸入計算界面,通過運行計算可得到對應的計算結果如圖2所示。 為進一步驗證計算程序的正確性與可行性,現將本文所開發的軟件與工程上常用的理正擋墻軟件就該算例的定值計算結果作對比分析,如表3所示。 表3 本文軟件和已有軟件計算結果對比 由表3可知,本文開發軟件的定值計算結果與理正軟件計算結果相仿。此外,本文軟件還可以計算出結構在兩種模式下的具體失效概率和可靠指標,為實際工程擋土墻結構的安全可靠性評價提供可靠理論依據。 通過點擊穩定性分析按鈕可以切換到對該算例的參數敏感性分析窗口,如圖5所示。 圖5 參數敏感性分析計算窗口 假設各參數均值不變,變異系數以設定步長變化,可得擋土墻抗傾覆與抗滑移可靠指標隨各參數變異系數變化的曲線如圖6-圖9所示。 圖6 可靠指標與容重變異系數關系 圖7 可靠指標與填土內摩擦角變異系數關系 圖8 可靠指標與基底摩擦系數變異系數關系 圖9 可靠指標與填土和墻背間內摩角變異系數關系 在對四個主要影響因素進行敏感性分析后,由圖6-圖9可知:填土容重變異系數、基底摩擦系數變異系數、填土內摩擦角變異系數三者在0.4之前變化時對抗滑移穩定性的影響比較大,填土容重變異系數、填土內摩擦角變異系數兩者在0.4之前變化時對抗傾覆穩定性的影響比較大,而填土與墻背間的內摩擦角變異系數則剛好相反。因此,在實際設計時,若相應參數變異系數低于0.4時,應準確統計其變異系數,方能更客觀地分析結構的可靠度。 (1) 基于蒙特卡羅法,結合MATLAB軟件矩陣算法、GUI界面設計等功能,開發一款重力式擋土墻結構可靠度計算及敏感性分析的計算機程序軟件,彌補了重力式擋土墻結構傳統定值分析法的不足,為進行擋墻結構可靠度計算提供了適用計算工具。 (2) 本文開發的程序可以計算不同類型(仰斜、俯斜、垂直、有無擴展墻趾、是否計算路面荷載)重力式擋土墻的結構可靠度。穩定性計算模塊不僅可以計算擋土墻結構在兩種失效模式下的失效概率和可靠指標,還可以計算出基于定值理論下抗滑移和抗傾覆安全系數。 (3) 本文軟件開發生成了以計算過程和計算結果為主要內容的擋土墻結構可靠度計算書。查看計算書,可判斷擋土墻設計是否符合規范要求。此外,軟件將擋土墻模型圖及分析曲線圖也一并存儲在相應的文件夾下,可供隨時查看。 (4) 通過一個典型擋土墻算例的結構可靠度計算和敏感度分析,獲得了隨機參數取值及其變異系數范圍對結構可靠性和安全性的影響規律,驗證了本文開發程序軟件的正確性和實用性。
2.3 計算結果的保存與查看
2.4 應用程序構建及使用
3 程序可行性驗證及敏感性分析
3.1 程序可行性驗證



3.2 敏感性分析





4 結 語