姜吉生,陳玉平 ,鄧昌州 ,王恩寶 ,丁繼雙
1. 黑龍江省904水文地質工程地質勘察院, 黑龍江 哈爾濱 150027; 2.內蒙古自治區(qū)煤田地質局117勘探隊, 內蒙古 鄂爾多斯 017000;3.黑龍江省地質調查研究總院,黑龍江 哈爾濱 150036
在巖土工程勘察報告的編制過程中,當地基受力范圍內存在軟弱下臥層時,需要驗算軟弱下臥層強度。以往工作中手工計算費時費力且容易出現錯誤。使用程序進行驗算不僅可以避免上述問題,計算結果的保存、查閱也十分容易。因此自動驗算軟弱下臥層強度必將成為一種主流趨勢,也可以將工程技術人員從繁重的工作中解脫出來。微機和可視化編程語言的普及,使工程技術人員有機會、有能力成為程序的開發(fā)者。他們根據工作實際需要開發(fā)出適合本單位實際情況的計算軟件。
Visual Studio Team System 2008是微軟公司精心打造的企業(yè)級開發(fā)管理工具,目前還只是測試版。Visual Basic 2008是其中的一種語言,它是一種面向對象的可視化編程語言,其開發(fā)環(huán)境優(yōu)越、使用方便、操作簡單、功能強大。它通過ActiveX技術實現引用Excel2007,讀取存放在Excel2007單元格中原始數據。本文將介紹如何利用這兩種軟件實現自動驗算軟弱下臥層。
本程序功能為自動完成軟弱臥層強度驗算,通過調用Excel2007并打開包含已知參數的Excel文檔,獲取進行計算的各類已知參數值。主要使用Visual Basic 2008中的if……then條件分支結構對基礎類型、地層編號等參數進行判別,選擇正確的計算公式得到驗算所需未知參數。再根據驗算公式進行驗算。因此要明確進行軟弱下臥層驗算的步驟,確定程序的流程。
1.1.1 計算地基壓力擴散角θ
因黑龍江省地方標準DB23/902-2005[1]地基壓力擴散角表(表5.2.5)中給出上層土與軟弱下臥土層的壓縮模量比值(ES1/ES2)=1時擴散角度(僅供內插用),所以本文不考慮ES1/ES2<3時的如何計算擴散角。ES1/ES2≥3時,根據《地基基礎設計規(guī)范》GB50007-2002[2]中地基壓力擴散角表(表5.2.7)進行線性插值計算地基壓力擴散角θ??梢杂嬎銛U散角作為一個公共模塊供程序隨時調用,這樣不僅可以大幅減少編碼長度、也便于程序調試。
1.1.2 計算基礎寬度
分矩形基礎和條形基礎兩種情況,基礎寬度的計算如下:
對于矩形基礎 A=bL (m2)
對于條形基礎 A=b (長度方向取L=1m為計算單元),故條形基礎最小寬度。
式中:
fa-基底處地基承載力設計值;
N—上部結構傳來的軸向力設計值;
rm—基礎及上覆土的加權平均重度kN/m3。
1.1.3 計算地基承載力設計值
式中:
faz-經深寬修正的地基承載力設計值;
fak—地基承載力特征值;
b、d—基礎寬度和埋深;
r—基礎底面處土的重度kN/m3;
rm—基礎底面以上土的加權平均重度kN/m3;
ηb、ηd—基礎寬度和埋深的地基承載力修正系數。
1.1.4 計算軟弱下臥層頂面處的附加壓力值PZ
分矩形基礎和條形基礎兩種情況,判斷基礎類型后,分別計算出Pk和Pc,然后計算Pz值。
PZ按條形基礎公式進行計算:
PZ按獨立柱基礎公式進行計算:
式中:
b-矩形基礎或條形基礎底邊的寬度;
l-矩形基礎底邊的長度;
PC-基礎底面處土的自重壓力值;
z-基礎底面至軟弱下臥層頂面的距離;
θ-地基壓力擴散線與垂直線的夾角。
1.1.5 驗算軟弱下臥層的強度
根據《建筑地基基礎設計規(guī)范》GB50007-2002中的計算公式Pz+Pcz≤faz進行驗算。
ActiveX 在廣義上是指微軟公司的整個COM架構,但是現在通常用來稱呼基于標準COM接口來實現對象連接與嵌入的ActiveX控件。該技術可以實現應用程序之間相互溝通、相互控制。要實現對Excel2007的控制,就需要在Visual Basic 2008中引用Excel2007對象。點擊Visual Basic 2008項目菜單下的添加引用子菜單,彈出添加引用對話框,在COM標簽頁中選擇Microsoft Excel 12.0 Object Libray項,確定即可添加該引用。進行上述設置后,用Visual Basic編制的驗算程序運行后,即可調用Excel2007并可使用Excel軟件提供的各種庫,實現對Excel2007的全面控制。
新建一個Excel文件,命名為rwcys.xlsx,與驗算程序放在同一目錄內,因為這是本程序設置的默認路徑。在表格指定單元格內輸入地層厚度、重度、壓縮模量、承載力特征值、基礎長、寬及埋深、上部結構傳來的軸向力設計值、基礎的深度及寬度修正系數以及基礎類型等數據,VB程序會根據單元索引將數據賦值給數組變量。
在Visual Basic 2008中添加一個MDIParent1.vb窗體,從工具箱中的“菜單和工具欄”中選擇MenuStrip工具[3],在窗體中添加菜單條。輸入插值計算、附加應力系數、土工試驗數據導入等菜單項,軟弱層驗算僅作為程序的一個功能。在窗體中添加RichTextBox1控件,供輸出驗算說明書用。在狀態(tài)欄添加ToolStripStatusLabel控件,可以顯示系統(tǒng)時間。因Visual Basic開發(fā)語言可視化的特點,可以根據系統(tǒng)功能設計出界面美觀大方的程序界面。
界面設計好后,對所繪制的控件添加代碼,本文僅對關鍵代碼進行介紹。
1.5.1 編寫擴散角插值計算模塊
首先定義一個插值函數,來線性內插擴散角。
其次定義一個數組,將地基壓力擴散角值依次賦給數組的每一個變量。
最后編寫地基壓力擴散角解線性插值程序。
利用if……then條件語句判別z/b比值隸屬區(qū)間,分為z/b<0.25;0.25<z/b<0.50和z/b>=0.50三種情況。后兩種情況時要判斷ES1/ES2比值隸屬區(qū)間,分為1≤ES1/ES2<3;3≤ES1/ES2<5;5≤ES1/ES2<10和ES1/ES2>10四種情況。每個區(qū)間調用上面的插值函數,根據不同區(qū)間賦上不同的實參,也就是供插值使用擴散角數值。按設計要求,將該功能做為一個公共模塊,方便其它程序調用,程序代碼如下:
‘定義一個數組,將地基壓力擴散角表中數值分別賦給數組每一個變量;
‘計算上層土與下臥軟弱土層的壓縮模量比值;
‘計算z/b的比值;
‘當z/b<0.25時
‘當z/b>=0.25 和z/b<0.50時;
‘當z/b>=0.50時
1.5.2 為“軟弱層驗算”菜單編寫代碼
雙擊“軟弱層驗算”菜單項,在代碼窗口,編寫下述幾部份代碼。
(1) 打開rwcys.xlsx文件∶首先要調出Excel2007程序,并打開rwcys.xlsx文件,程序代碼如下。
(2) 聯(lián)接到rwcys.xlsx文件∶上面只是打開了rwcys.xlsx文件,還不能讀取地層數據,下面的程序代碼將與Excel程序建立聯(lián)接,將驗算需要的已知參數讀到Visual Basic程序中,程序代碼如下。
(3)進行驗算∶首先判斷基礎形式,如果值為1時,說明為條形基礎;為其它值時,說明為矩形基礎。然后計算Pk值和Pc值。每種基礎形式按照相應的公式計算,程序代碼如下:
‘如果是條基的話
‘調用地基壓力擴散角模塊,計算擴散角
‘計算Pz值
‘計算經寬度、深度修正的承載力
(4)輸出驗算說明書∶將已知參數和計算結果輸出到窗口,程序代碼如下:
‘判別是否滿足荷載要求
本程序編寫完成后,通過對我院近兩年有代表性的軟弱下臥層驗算說明書進行計算、調試,現在已經能夠滿足工作需要,計算結果與人工計算結果一致,在新工程的驗算過程中取得了良好的應用效果??s短了工作時間,提高了工作效率,為勘察報告及時提交給建設單位提供有力保證。
(1)本程序可以實現軟弱下臥層強度自動驗算功能,縮短了工作時間,提高了工作效率,能夠滿足工作的實際需要,在工程實踐中取得良好的應用效果。
(2)本程序運用的是Visual Basic 2008開發(fā)程序的ActiveX技術,計算程序通過調用Excel2007來完成已知參數的賦值和使用。通過修改Excel2007表格的已知參數,可以實現人機交互,完成不同的算例。
(3)因擴散角數值采用黑龍江省地方規(guī)范標準規(guī)定,程序使用范圍受到限制,其功能上還可能進一步調整,以適應不同地區(qū)技術人員的需要。
[1] DB23/902-2005, 建筑地基基礎設計規(guī)范[S].
[2] GB50007-2002,建筑地基基礎設計規(guī)范 [S].
[3] Michael Halvorson. VB2005從入門到精通[M].北京:清華大學出版社,2006.