同濟(jì)大學(xué)軟件學(xué)院 吳 瀚
計(jì)算機(jī)的誕生改變了世界的各行各業(yè),計(jì)算機(jī)強(qiáng)大的計(jì)算能力無(wú)疑大量減少了人工的勞動(dòng)力。在建筑行業(yè)中,隨著力學(xué)理論的發(fā)展,很多的結(jié)構(gòu)體的形變都可以通過(guò)數(shù)學(xué)公式求解出來(lái),而計(jì)算機(jī)程序相比人工計(jì)算提高了極大的效率,并能將數(shù)據(jù)通過(guò)圖形學(xué)展現(xiàn)在人們的眼前,使之更加的直觀。向量式有限元(VFIFE)分析理論是近些年由美國(guó)普渡大學(xué)丁承先教授等人提出的一個(gè)創(chuàng)新概念,它是一個(gè)為解決大形變、大變位、碰撞、倒塌等力學(xué)行為而誕生的理論,在處理這些特殊問(wèn)題上,不像傳統(tǒng)理論的千變?nèi)f化,向量式有限元的控制方程就是基于牛頓第二定律,對(duì)于一些擁有簡(jiǎn)單力學(xué)知識(shí)的人來(lái)說(shuō),就可以學(xué)會(huì)對(duì)這樣的理論加以運(yùn)用[1]。本文主要研究了空間桁架結(jié)構(gòu)模型的向量式有限元分析,試圖得到解決這類問(wèn)題的一般性步驟以及程序計(jì)算的代碼,為以后軟件的行為分析模塊奠定基礎(chǔ)。
空間桁架結(jié)構(gòu)(t r uss st r uct ur e)是建筑工程領(lǐng)域常見(jiàn)的一種格構(gòu)化梁式結(jié)構(gòu)。常用于大跨度的廠房、展覽館、體育館和橋梁等公共建筑中。在空間桁架這類的結(jié)構(gòu)體模型中,部件都是一根根剛性桿件或者柔性桿件,它們由鉸接點(diǎn)或者剛接點(diǎn)連接組成。結(jié)點(diǎn)信息主要包括它們?cè)诳臻g坐標(biāo)系中的坐標(biāo)以及它們的類型(鉸接點(diǎn)還是剛接點(diǎn)),桿件信息包括桿件兩端的坐標(biāo)以及材料性質(zhì),由于柔性桿件是可以劃分成一個(gè)個(gè)剛性桿件組成,所以這里做一般性考慮就只做剛性桿件的定義。除了模型本身的數(shù)據(jù)之外,還有加載在模型上力的信息需要定義,力的定義包括力的三要素,即力的大小、方向和作用點(diǎn)。
對(duì)于結(jié)點(diǎn)信息,文件中的定義包括編號(hào)i d,結(jié)點(diǎn)類型t ype,位置信息posit ion.x,posit ion.y,posit ion.z。對(duì)于桿件信息,在文件中的定義包括編號(hào)i d,第一個(gè)端點(diǎn)的結(jié)點(diǎn)編號(hào)nodei d1,第二個(gè)端點(diǎn)的結(jié)點(diǎn)編號(hào)nodeid2,楊氏模量Young,截面積ar ea,密度densit y。對(duì)于力的信息,在文件中的定義包括編號(hào)id,作用點(diǎn)信息posi t i on.x、posi t i on.y、posi t i on.z,方向信息dir ect ion.x,dir ect ion.y,dir ect ion.z,力直接作用的桿件編號(hào)bar id。
由于力可以是不斷變化的,所以需要在文件中定義力的變化信息,這里用另外一個(gè)文件去單獨(dú)描述這樣的信息。其中在val ue中定義的編號(hào)為3的力,在0.0-10.0時(shí)間段中,力的函數(shù)表達(dá)式就是t/10.0*10.0,在10.0之后的時(shí)間段中大小都是10.0,-1表示無(wú)窮大,編號(hào)為1的力就是一個(gè)大小不變的力,大小一直是1.0。dir ect ion中的定義也是一樣的道理,最后三項(xiàng)是三個(gè)坐標(biāo)的表達(dá)式。posi t ion中定義的最后一項(xiàng)代表力作用點(diǎn)距離力所作用桿件第二個(gè)端點(diǎn)的距離的隨時(shí)間變化函數(shù)表達(dá)式。
程序計(jì)算主要依據(jù)就是模型中的數(shù)學(xué)公式,所以在編寫(xiě)程序的過(guò)程中,程序的通用化是需要解決的問(wèn)題,程序采用面向?qū)ο蟮木幊趟枷?,將桿件、節(jié)點(diǎn)、力都抽象成一個(gè)類,由于程序目前以實(shí)現(xiàn)功能為主,所以并沒(méi)有過(guò)多的繼承層次,后面會(huì)展開(kāi)說(shuō)明程序?qū)?lái)的類圖結(jié)構(gòu),在讀入模型文件的數(shù)據(jù)之后,各個(gè)桿件、節(jié)點(diǎn)、力的數(shù)據(jù)實(shí)例化之后分別保存在一個(gè)數(shù)組中。
它主要是通過(guò)不斷地循環(huán)迭代計(jì)算出各個(gè)時(shí)間點(diǎn)的幀數(shù)據(jù),所以程序的框架也就是一個(gè)大循環(huán),在循環(huán)之前需要求出n=0的時(shí)候點(diǎn)的坐標(biāo)。循環(huán)的間隔就是時(shí)間步長(zhǎng),時(shí)間步長(zhǎng)可以通過(guò)時(shí)間步長(zhǎng)計(jì)算程序計(jì)算得到。由于這個(gè)公式適用于鉸接點(diǎn),符合牛頓第二定律的,所以在使用這個(gè)公式的時(shí)候需要判斷節(jié)點(diǎn)類型,有的節(jié)點(diǎn)還有額外的約束,比如有的節(jié)點(diǎn)規(guī)定y坐標(biāo)不變,那么這個(gè)公式就不能適用于它的y坐標(biāo)計(jì)算。由公式可以得知,循環(huán)中的主要工作就是求出內(nèi)力和外力的合力,在下一個(gè)迭代中帶入差分公式中求解。在每個(gè)時(shí)刻的時(shí)候都需要將求出的點(diǎn)位置保存下來(lái)[3]~[5]。
程序中主要根據(jù)公式分為兩大步,第一步是求解出節(jié)點(diǎn)數(shù)據(jù)初始值,然后在大循環(huán)中迭代求出每個(gè)時(shí)刻的值,其中h是根據(jù)步長(zhǎng)公式求解得到。大循環(huán)中主要工作是求解每個(gè)節(jié)點(diǎn)內(nèi)力和節(jié)點(diǎn)外力,然后代入差分公式得到結(jié)果。內(nèi)力求解需要根據(jù)當(dāng)前桿件的變形量得到桿件內(nèi)力,再通過(guò)將內(nèi)力沿桿件方向和垂直桿件方向分解,得到兩端內(nèi)力的向量值,將每個(gè)節(jié)點(diǎn)的向量值累加,最終得到當(dāng)前時(shí)刻的內(nèi)力合力。外力是通過(guò)解析加載公式得到,找到當(dāng)前時(shí)刻對(duì)應(yīng)分段函數(shù)中的某一段函數(shù),然后將時(shí)間代入函數(shù),解析表達(dá)式,從而得到當(dāng)前時(shí)刻加載力的三要素。在計(jì)算出外力合力和內(nèi)力合力之后,將每個(gè)節(jié)點(diǎn)對(duì)應(yīng)的值代入公式,計(jì)算出當(dāng)前時(shí)刻的位置數(shù)據(jù)。并且更新位置數(shù)據(jù),在保存數(shù)據(jù)的時(shí)候只需保存nowpos數(shù)組即可。
后處理軟件是項(xiàng)目組已經(jīng)完成的一個(gè)可實(shí)際應(yīng)用的產(chǎn)品,本軟件開(kāi)發(fā)是為土木工程設(shè)計(jì)工作者進(jìn)行結(jié)構(gòu)力學(xué)行為分析后處理之用,對(duì)向量式結(jié)構(gòu)力學(xué)前處理生成的海量數(shù)據(jù)進(jìn)行解析,結(jié)合OpenGL技術(shù)對(duì)三維模型進(jìn)行動(dòng)態(tài)再現(xiàn),主要用于對(duì)結(jié)構(gòu)和行為進(jìn)行準(zhǔn)確的分析和預(yù)測(cè),如高樓和橋梁受外力后的空間運(yùn)動(dòng),大變位、大變形等行為進(jìn)行準(zhǔn)確預(yù)測(cè)。
將本文程序計(jì)算得到的node文件和el ement文件導(dǎo)入后處理軟件中,得到的圖像結(jié)果進(jìn)行比較可以看出,程序計(jì)算的結(jié)果符合實(shí)際情況,向量式有限元理論的程序代碼實(shí)現(xiàn)解決了結(jié)構(gòu)體模型在傳統(tǒng)理論上很棘手的大形變問(wèn)題,本文的程序計(jì)算還停留在試驗(yàn)階段,對(duì)于一些參數(shù)的設(shè)置還需要更加合理化,但是計(jì)算過(guò)程是沒(méi)有問(wèn)題的。本文通過(guò)對(duì)向量式有限元的程序計(jì)算實(shí)現(xiàn),說(shuō)明了這個(gè)理論的實(shí)施步驟,同時(shí)驗(yàn)證了理論的可實(shí)施性,在對(duì)解決空間桿件形變問(wèn)題上找出了一般的程序步驟,將抽象的物理模型具體化到文件中,實(shí)現(xiàn)了從理論到實(shí)踐的一個(gè)轉(zhuǎn)換。
本文通過(guò)簡(jiǎn)單模型的建立,說(shuō)明了向量式有限元的計(jì)算步驟,程序可以遵循這樣一個(gè)步驟去實(shí)現(xiàn),最后將輸出結(jié)果作為后處理的輸入,通過(guò)后處理軟件展示計(jì)算結(jié)果生成的模擬動(dòng)畫(huà),驗(yàn)證了程序的可靠性。
向量式有限元理論目前還沒(méi)有實(shí)現(xiàn)該理論的軟件,所以需要我們不斷地探索,這將是一個(gè)很有意義的課題,它能夠提供給結(jié)構(gòu)工程師們一個(gè)模擬仿真的平臺(tái)。本文作為探索性地實(shí)現(xiàn)了剛性桿件的程序計(jì)算,這只是一個(gè)開(kāi)始,向量式有限元中還有針對(duì)更多的模型進(jìn)行探討。
[1]丁承先,段元峰,吳東岳.向量式結(jié)構(gòu)力學(xué)[M].上海:科學(xué)出版社,2012,09.
[2]盧哲剛,姚諫.向量式有限元——一種新型的數(shù)值方法[J].空間結(jié)構(gòu),2012,18(001):85-89.
[3]Ting E C,Shih C,Wang Y K.Fundamentals of a vector form intrinsic finite element:PartI. basic procedure and a plane frame element[J].Journal of Mechanics,2004,20(2):113-122.
[4]Ting E C,Shih C,Wang Y K.Fundamentals of a vector form intrinsic finite element:Part II.plane solid elements[J].Journal of Mechanics,2004,20(02):123-132.
[5]Shih C,Wang Y K,Ting E C.Fundamentals of a vector form intrinsic finite element:Part III.Convected material frame and examples[J].Journal of Mechanics,2004, 20(02):133-143.