黃明鎮(zhèn),金 海
(廈門大學(xué)建筑與土木工程學(xué)院,福建 廈門 361005)
土石壩的三維有限元建模是土石壩進(jìn)行有限元法分析的基礎(chǔ),但其建模難度大、傳統(tǒng)交互式方法效率低等突出問題長期困擾著廣大科研人員.隨著計(jì)算機(jī)技術(shù)的發(fā)展,參數(shù)化設(shè)計(jì)成了模型設(shè)計(jì)的必然趨勢(shì).繼陳璇[1]將參數(shù)化設(shè)計(jì)的方法應(yīng)用到水電樞紐工程設(shè)計(jì)中后,陸續(xù)有研究人員[2-5]將參數(shù)化設(shè)計(jì)應(yīng)用到土石壩的三維實(shí)體建模中,但都僅限于壩體幾何模型的建立,對(duì)建立好的模型能否進(jìn)行有效的網(wǎng)格化未作出具體說明.在最新研究中,韓朝軍等[6]結(jié)合有限元思想將建模周期從傳統(tǒng)交互式建模方法的15~40 d 縮短到5~8 d,但對(duì)邊緣網(wǎng)格進(jìn)行修正的手動(dòng)操作要求過多,在建模效率方面仍有提升空間.本文結(jié)合前人的研究,基于參數(shù)化設(shè)計(jì)中的特征模型技術(shù)[7],探索出一種新的、可行性較高且更高效的土石壩三維有限元建模方法,即“搭積木法”.根據(jù)土石壩幾何特征和結(jié)構(gòu)特征,將其分解為多個(gè)規(guī)則的基本圖元,以主壩體的分層數(shù)、分區(qū)數(shù)及圍堰各區(qū)分層數(shù)作為參數(shù),按照既定的編號(hào)路線采集壩體坐標(biāo)數(shù)據(jù),利用坐標(biāo)點(diǎn)位控制和基本圖元的組裝規(guī)則,建立特征參數(shù)與三維實(shí)體之間的聯(lián)系.采用VB.NET編制讀取坐標(biāo)數(shù)據(jù)界面程序,利用ANSYS參數(shù)化設(shè)計(jì)語言(APDL)二次開發(fā)實(shí)現(xiàn)三維土石壩模型的參數(shù)化建模,并對(duì)基本圖元實(shí)現(xiàn)自動(dòng)剖分功能.該方法能夠高效快速地建立土石壩三維有限元模型,準(zhǔn)確地實(shí)現(xiàn)壩體不同材料的分區(qū),為壩體的數(shù)值分析工作節(jié)省大量時(shí)間.
特征模型技術(shù)已在模型設(shè)計(jì)中得到廣泛應(yīng)用,它可以讓用戶從復(fù)雜繁瑣的模型構(gòu)建過程中脫離出來,只需輸入必要的模型參數(shù)信息,系統(tǒng)自動(dòng)識(shí)別輸入的參數(shù)信息并自動(dòng)捕獲其約束規(guī)則和拓?fù)潢P(guān)系,即可自動(dòng)生成模型構(gòu)件,這大大地簡化了設(shè)計(jì)修改的過程.
特征模型技術(shù)還允許用戶自定義特征,利用基本的圖元特征組合構(gòu)建二維平面特征,生成三維實(shí)體特征,利用布爾運(yùn)算、鉆孔技術(shù)、倒角技術(shù)等對(duì)三維實(shí)體進(jìn)行加工直至得到最終的實(shí)體特征.
首先將壩體按二維幾何特征劃分成3個(gè)子區(qū)域,如圖1所示,將壩體分為中間壩體區(qū)域①和其他區(qū)域②、③,中間壩體的橫剖面形狀近似于普通的梯形形狀.
圖1 壩體二維剖面Fig.1 Two-dimensional section of the dam
以中間壩體為例,如圖2(a)所示,令壩體的軸向方向平行Y軸,然后將壩體沿Y軸正向和負(fù)向分別投影在與X-Z面平行的平面上,可以得到兩個(gè)完全相同的平面圖形,任一個(gè)投影圖形內(nèi)部任意一點(diǎn)(a,y1,b)和另一投影圖形內(nèi)點(diǎn)(a,y2,b)的連線(底面輪廓處只取相近點(diǎn),令y1≠y2)穿過壩體并與壩體的外表面均有兩個(gè)交點(diǎn),圖中的點(diǎn)1、2就是連線L與壩體的外表面相交的兩個(gè)點(diǎn).考慮壩體的幾何形狀進(jìn)行分層和材料分區(qū),圖2(b)所示為壩體分區(qū)分層后得到的投影面,將兩個(gè)投影面中的豎向的分區(qū)線和橫向的分層線的交點(diǎn)對(duì)應(yīng)連線,整個(gè)壩體就被這些線“切割”成了一個(gè)個(gè)的“長條塊”,如圖2(c)所示.可見只要能夠建立每個(gè)塊的模型,遵循塊與塊之間的約束關(guān)系和拓?fù)潢P(guān)系就能通過“搭積木”的方式,實(shí)現(xiàn)對(duì)壩體的參數(shù)化建模,故稱該方法為搭積木法.
圖2 壩體示意圖Fig.2 Schematic of the dam
特征模型技術(shù)的根本目的在于實(shí)現(xiàn)“組裝而不構(gòu)建”的模型設(shè)計(jì)理念.結(jié)合上述結(jié)論,以點(diǎn)作為元特征,然后由點(diǎn)生成線、面、六面體的基本特征.模型生成的過程存在著一條從點(diǎn)元特征出發(fā)到達(dá)所有基本特征的路徑,路徑保存了基本特征之間的拓?fù)潢P(guān)系和約束關(guān)系,具體操作流程如下:
1) 首先對(duì)中間壩體進(jìn)行分層,依據(jù)材料進(jìn)行分區(qū),設(shè)分層數(shù)為l,分區(qū)數(shù)為p,則每一側(cè)有分區(qū)線(p+1)條,每條分區(qū)線都由(l+1)個(gè)點(diǎn)連成.
2) 優(yōu)先對(duì)中間壩體提取坐標(biāo)點(diǎn)并進(jìn)行編號(hào),編號(hào)順序由前到后、自下而上,從第1條分區(qū)線開始,到第(p+1)條分區(qū)線的最后一個(gè)點(diǎn)為止.需要注意的是,第1條分區(qū)線與第2條分區(qū)線,以及第p條分區(qū)線與第(p+1)條分區(qū)線之間分別存在公共交點(diǎn).將公共交點(diǎn)分別歸于第2條和第p條分區(qū)線,則第1條與第(p+1)條分區(qū)線均少取一個(gè)點(diǎn),可以得到整個(gè)中間壩體的控制點(diǎn)數(shù)量為
n=2(p+1)(l+1)-4.
(1)
3) 壩體兩側(cè)其他分區(qū)的做法:每一側(cè)都分成3個(gè)區(qū),則整個(gè)壩體共有(p+6)個(gè)分區(qū)和(p+7)條分區(qū)線,用WLi(j),i=1,2和j=1,2,3表示其他分區(qū)的層數(shù),按照上文提到的方法進(jìn)行點(diǎn)的編號(hào)(與中間壩體協(xié)調(diào)).
點(diǎn)編號(hào)順序:中間壩體→其他分區(qū)Ⅰ→其他分區(qū)Ⅱ,如圖3所示.
圖3 點(diǎn)編號(hào)順序圖Fig.3 Sequence diagram of taking points
可得其他分區(qū)的控制點(diǎn)數(shù)量為:
j=1,2,3.
(2)
控制整個(gè)壩體的關(guān)鍵點(diǎn)總數(shù)為:
N=n+n′,
(3)
即所需取點(diǎn)的總數(shù)
∑ 1))-1].
(4)
4) 設(shè)第i條分區(qū)線的初始點(diǎn)編號(hào)為kn(i)+1,則有
kn(i)=
(5)
顯然,壩體的任意控制點(diǎn)的編號(hào)都可由k(i)+a0(a0為整數(shù)且滿足1≤a0≤2(l+1))表示,這實(shí)現(xiàn)了通過指定點(diǎn)可直接生成每個(gè)分塊的三維實(shí)體特征,為建模程序的編寫提供了基礎(chǔ)的依據(jù).
5) 建模順序:“塊”的組合疊加需沿著點(diǎn)編號(hào)路線從第1個(gè)分區(qū)開始,“塊”由底部至頂部進(jìn)行疊加到第l層,第1個(gè)分區(qū)被建立起實(shí)體模型后開始由底部至頂部進(jìn)行第2個(gè)分區(qū)的疊加,依此類推,直至第p個(gè)分區(qū)建立完成.其他分區(qū)建模的方法與中間壩體類似,依序從主壩體向圍堰兩側(cè)進(jìn)行塊的組合疊加.
6) 完成壩體的建模后,以材料分區(qū)為依據(jù),直接將構(gòu)成各個(gè)材料分區(qū)的三維實(shí)體特征塊進(jìn)行分別組裝,形成各分區(qū)的實(shí)體特征.
7) 壩體周圍山體以及地基的建模也可通過一系列的點(diǎn)、面、體編號(hào)控制來實(shí)現(xiàn),并能通過參數(shù)化控制完全與壩體協(xié)調(diào).本文主要闡述壩體的建模,對(duì)于山體跟地基部分建模在本文不再贅述.下文的案例將展示包含山體跟地基的實(shí)體模型和有限元模型.
8) 剖分:三維土石壩的網(wǎng)格剖分優(yōu)先采用六面體單元,本文的建模方法所生成的模型子特征結(jié)構(gòu)為六面體,幾何形狀較為規(guī)則,適用剖分方法有多種.其中,對(duì)每個(gè)六面體子塊采用映射的方法生成六面體網(wǎng)格的“基于六面塊分解的方法”,是對(duì)于幾何形狀和拓?fù)浣Y(jié)構(gòu)要求最高,同時(shí)也是最理想的體分解方式[8],故本文中在程序設(shè)計(jì)以及后續(xù)案例中直接按此方法進(jìn)行六面體網(wǎng)格的剖分.
ANSYS是一款強(qiáng)大的通用有限元分析軟件,自身兼具強(qiáng)大的數(shù)值分析能力和二次開發(fā)功能,故本文直接利用APDL按上文所述方法編寫適用于ANSYS的建模各模塊命令流(圖4),并結(jié)合VB.NET平臺(tái)實(shí)現(xiàn)三維土石壩有限元參數(shù)化建模程序的開發(fā).
圖4 程序設(shè)計(jì)流程圖Fig.4 Flow chart of program design
首先分模塊編寫命令流,利用VB.NET語言編寫APDL命令的轉(zhuǎn)換程序;然后讀取坐標(biāo)文件后輸入相應(yīng)參數(shù),程序輸出mac文件;再由程序后臺(tái)調(diào)用ANSYS執(zhí)行mac文件,即可自動(dòng)生成ANSYS的DB文件;最后,檢查模型的幾何形狀,若是有限元模型則還需檢查單元剖分情況,若需要調(diào)整則修改坐標(biāo)數(shù)據(jù)或調(diào)整參數(shù)后重新生成模型,直到獲得滿意的結(jié)果.
程序主界面如圖5所示,主要包括ANSYS、文件設(shè)置、網(wǎng)格化參數(shù)和生成模型4個(gè)部分,其中ANSYS設(shè)置用來設(shè)置ANSYS工作目錄,選擇ANSYS與VB.NET的鏈接程序.文件設(shè)置用來設(shè)置模型名稱,選擇模型的輸出文件夾.參數(shù)定義用來輸入單元及單元尺寸信息,定義各分區(qū)的材料.生成模型用來導(dǎo)入點(diǎn)坐標(biāo)文件、輸入模型參數(shù)及選擇輸出模型;后臺(tái)調(diào)用ANSYS程序進(jìn)行建模.
圖5 程序主界面Fig.5 Interface of main program
程序輸入?yún)?shù)包括壩高(HD)、壩體軸向最大長度(LD)(主要用于山體和地基的構(gòu)建)、中間壩體分區(qū)數(shù)(p)、中間壩體分層數(shù)(l)、其他6個(gè)分區(qū)的層數(shù)(Wi(j),i=1,2,j=1,2,3)以及所取點(diǎn)的坐標(biāo)數(shù)據(jù).
有某土石壩,壩高為308 m,壩體軸向最大的長度為656 m,壩體依據(jù)材料的不同劃分成堆石區(qū)、過渡層、反滲層、黏土心墻以及兩側(cè)圍堰.取該壩體各參數(shù):HD=308 m,LD=656 m,p=9,l=9,W1(1)=3,W1(2)=6,W1(3)=6,W2(1)=3,W2(2)=3.提取點(diǎn)坐標(biāo),并按上文所述方法對(duì)所有的點(diǎn)進(jìn)行編號(hào),將點(diǎn)坐標(biāo)數(shù)據(jù)存入EXCEL表格模板,生成txt文件.由以上參數(shù)和公式(4)可知需取256 個(gè)點(diǎn).
讀取已編號(hào)的點(diǎn)坐標(biāo)數(shù)據(jù),程序自動(dòng)生成模型.圖6(a)展示了該壩體模型的建立過程,圖6(b)為壩體和包含山體、地基的壩體實(shí)體模型.
圖6 壩體的三維實(shí)體模型Fig.6 3D solid model of the dam
根據(jù)材料分區(qū)將對(duì)應(yīng)塊進(jìn)行組裝(圖7),即可形成各分區(qū)特征,大幅度提升了處理模型的效率.
圖7 材料分區(qū)Fig.7 Material partitions
圖8(a)所示為壩體的有限元模型,共有35 460個(gè)單元、42 202個(gè)節(jié)點(diǎn);圖8(b)所示為包括山體和地基的壩體有限元模型,其中壩體和山體、地基使用六面體單元剖分,它們之間用金字塔單元和四面體單元過渡,共有70 451個(gè)單元、45 145個(gè)節(jié)點(diǎn),其中山體和地基的六面體單元數(shù)為2 074 個(gè),金字塔單元和四面體單元共有32 917 個(gè).
圖8 有限元模型Fig.8 Finite element model
本文中運(yùn)用該方法,建立整個(gè)壩體有限元模型的時(shí)間為8 h,主要工作是提取坐標(biāo)點(diǎn)數(shù)據(jù)(耗費(fèi)4 h)和模型的檢查和修正(耗費(fèi)4 h).模型材料分區(qū)的指定準(zhǔn)確,壩體與山體、地基之間利用金字塔單元[9]過渡,有效減少了非壩體部分剖分的單元數(shù),降低了計(jì)算量.該案例有效地驗(yàn)證了本文提出的建模方法能快速、精確地建立起可進(jìn)行有效剖分的土石壩三維有限元模型.
土石壩的建模方法按建模思路不同可分為傳統(tǒng)交互式建模法、截面放樣法[5-6]、地質(zhì)平面切割法[4,10-11]及本文中基于特征模型技術(shù)的搭積木法,各種建模方法的優(yōu)劣如表1所示.
表1 不同建模方法的比較Tab.1 Comparison of different modeling methods
1) 用“搭積木法”對(duì)土石壩建模,整個(gè)建模過程中主要的工作是點(diǎn)坐標(biāo)數(shù)據(jù)的提取和編號(hào),耗時(shí)的長短取決于壩體劃分的層數(shù)和分區(qū)數(shù).因分區(qū)數(shù)的大小是基于壩體的材料分區(qū),故取值較固定.案例表明建立整個(gè)模型耗時(shí)只需1~2 d,同時(shí)保證了建模的精細(xì)程度.
2) 理論上壩體劃分的分層數(shù)和分區(qū)數(shù)越多,建成的模型也越精細(xì),但同時(shí)在前期的數(shù)據(jù)準(zhǔn)備工作中需要耗費(fèi)更多的時(shí)間,在后期的計(jì)算中也會(huì)面臨單元數(shù)過多、計(jì)算量大的問題.因此,在進(jìn)行壩體分區(qū)和分層前需要結(jié)合實(shí)際求解的需求,再確定適合的分層數(shù)和分區(qū)數(shù).
3) 本文的建模方法,考慮到水平分層設(shè)置,可以方便地按照施工進(jìn)度建模,易于進(jìn)行施工過程仿真分析.
4) 本文的建模方法,其基本圖元都是規(guī)則實(shí)體,在實(shí)際案例中采用的是ANSYS軟件中對(duì)拓?fù)浣Y(jié)構(gòu)要求最為嚴(yán)格的MAP功能(即六面體映射網(wǎng)格自動(dòng)剖分功能)進(jìn)行剖分.因此,本文方法建立的實(shí)體模型,可以適用于其他剖分軟件和自編剖分軟件.
5) 本文的方法,因主要工作量在于坐標(biāo)點(diǎn)的提取,故工程設(shè)計(jì)人員可以輕松地完成有限元建模工作,若結(jié)合具體的工況分析命令流,則可以完成需要的有限元靜動(dòng)力分析工作.因此,本文的方法既可作為水利工程專業(yè)的教學(xué)應(yīng)用平臺(tái),也可以作為工程設(shè)計(jì)人員的輔助工具,通過有限元計(jì)算快速實(shí)現(xiàn)多方案優(yōu)選,實(shí)現(xiàn)交互式設(shè)計(jì).
6) 本文的方法目前主要實(shí)現(xiàn)了心墻壩的建模,可以推廣到面板堆石壩等壩型,需要在本文的方法基礎(chǔ)上繼續(xù)開發(fā)接觸面的設(shè)置等功能.