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