許 鎮(zhèn) 任愛珠 陸新征
(清華大學土木工程系,防災(zāi)減災(zāi)研究所,北京 100084)
基于有限元的橋梁垮塌場景模擬初探
許 鎮(zhèn) 任愛珠 陸新征
(清華大學土木工程系,防災(zāi)減災(zāi)研究所,北京 100084)
為了科學而逼真地還原橋梁垮塌過程,輔助橋梁垮塌事故鑒定,本文在虛擬現(xiàn)實平臺上對基于有限元數(shù)據(jù)的橋梁垮塌過程場景模擬進行了研究?;跇蛄嚎逅^程的有限元模擬數(shù)據(jù),本文在三維圖形引擎OSG上實現(xiàn)了橋梁場景建模和垮塌動畫模擬,并基于橋梁垮塌模型構(gòu)建了具有一定真實感的場景漫游系統(tǒng)。通過場景模擬與有限元模擬的結(jié)果對比,證明了本文基于有限元的橋梁場景建模和垮塌動畫控制方法的有效性。本文將有限元技術(shù)與虛擬現(xiàn)實技術(shù)相結(jié)合,為橋梁垮塌事故鑒定提供了科學而真實的虛擬場景。
橋梁垮塌;場景模擬;有限元;虛擬現(xiàn)實;OSG
近些年來,國內(nèi)外發(fā)生了多起橋梁垮塌事故[1-2],如2006年5月16日,甘肅岷縣北門洮河大橋(雙曲石拱橋)突然全部垮塌;2007年8月,在建的湖南鳳凰大橋發(fā)生坍塌,造成62人死亡;2007年8月1日,美國密西西比河I-35W鋼桁架拱橋在交通晚高峰時發(fā)生垮塌,造成13人死亡,145人受傷。這些事故造成了重大的人員傷亡和財產(chǎn)損失,同時也引起了廣大工程人員的關(guān)注與思考??茖W、高效、準確的橋梁垮塌事故鑒定,對國家建設(shè)、經(jīng)濟運行、社會安定,具有非常重要的意義。
美國“911”事件中世貿(mào)大廈及Khobar Towers的事故鑒定過程中使用了大量計算機模擬技術(shù)[3-4],已經(jīng)表明基于計算機模擬技術(shù)的結(jié)構(gòu)垮塌事故鑒定調(diào)查具有可行性強、高效、準確等優(yōu)點。在橋梁垮塌事故中,美國國家交通安全委員會對美國明尼蘇達州密西西比河I-35W橋事故進行有限元建模分析,并根據(jù)影像資料和檢測資料修正有限元模型,再現(xiàn)了橋梁倒塌過程,準確而高效地確定了橋梁垮塌的原因[5]。I-35W事故的準確鑒定表明了計算機模擬技術(shù)在橋梁垮塌事故鑒定中的具有重要的應(yīng)用價值。
橋梁事故鑒定需要通過計算機模擬技術(shù)科學而真實的再現(xiàn)橋梁垮塌過程。有限元技術(shù)已經(jīng)在橋梁垮塌力學模擬上已經(jīng)有不少成功的案例[6-8],有限元技術(shù)可以保證垮塌模擬具有科學性,但是有限元模擬結(jié)果較為抽象,缺乏真實感,特別是非力學專業(yè)的人員理解有一定困難。因此,有必要將虛擬現(xiàn)實技術(shù)與有限元結(jié)合,實現(xiàn)具有科學性和真實感的橋梁垮塌場景模擬,以更加準確而逼真地還原橋梁垮塌過程,用于橋梁垮塌事故分析與結(jié)果展示。
目前,有限元與虛擬現(xiàn)實結(jié)合主要用于虛擬制造和虛擬醫(yī)學手術(shù)等方面等[9-10],主要側(cè)重于基于有限元提高虛擬現(xiàn)實系統(tǒng)的交互性能。在土木建筑領(lǐng)域,Igor等人研究了實時虛擬環(huán)境下彈性體的模擬,提升了具有大量結(jié)點的有限元模型的渲染效率[11]。此外,對有限元的可視化后處理技術(shù)研究較多[12],如陳俊濤等開發(fā)的地下結(jié)構(gòu)的有限元圖形系統(tǒng),來表現(xiàn)應(yīng)力云圖等有限元計算結(jié)果[13]。以上研究在提高虛擬現(xiàn)實系統(tǒng)交互性、模型渲染效率和有限元模型的表現(xiàn)技術(shù)上都有一定突破,但都不側(cè)重于提高有限元模擬結(jié)果的真實感。
本文基于MSC.Marc有限元軟件進行了橋梁垮塌力學模擬。在此基礎(chǔ)上,在圖形平臺OSG中實現(xiàn)了基于MSC.Marc數(shù)據(jù)的橋梁垮塌過程的場景動畫,使橋梁垮塌場景模擬與科學的有限元模擬結(jié)果保持一致。同時開發(fā)了橋梁垮塌場景漫游系統(tǒng),構(gòu)建了具有真實感和科學性的橋梁垮塌場景,以還原橋梁垮塌過程,用于橋梁垮塌事故鑒定。
橋梁垮塌事故鑒定不僅需要逼真的橋梁垮塌過程的場景模擬,而且還需要一定的場景交互操作功能,因此一個完整的橋梁垮塌場景模擬系統(tǒng)應(yīng)該具有良好的模擬效果和交互性能。對于場景模擬,一方面需要有限元數(shù)據(jù)的支持,作為科學模擬的保證,另一方面由于真實感的需要,模擬場景也需要具有地形模型、紋理數(shù)據(jù)、垮塌特效等多種要素,并根據(jù)橋梁事故鑒定需要開發(fā)相應(yīng)的漫游操作和交互操作。為此,本文將橋梁垮塌場景模擬系統(tǒng)分為界面層、功能層、實現(xiàn)層、模型層、數(shù)據(jù)層、支撐層及外部層,其架構(gòu)見圖1。其中,有限元模擬作為外部層,模擬的結(jié)果數(shù)據(jù)和模型數(shù)據(jù)將應(yīng)用到該系統(tǒng)中。有限元數(shù)據(jù)來源于有限元軟件MSC.Marc力學模擬得到的橋梁倒塌計算結(jié)果,包括節(jié)點坐標和單元拓撲關(guān)系以及節(jié)點的位移時程。將節(jié)點坐標和單元拓撲在OSG中建立橋梁模型,再利用節(jié)點位移時程數(shù)據(jù)實現(xiàn)橋梁垮塌動畫,最后在利用橋梁的垮塌模型建立基于OSG的橋梁場景漫游系統(tǒng),更具真實感的表現(xiàn)橋梁垮塌場景。
某鋼筋混凝土大橋全長191.6m,主橋上部結(jié)構(gòu)為混凝土組合桁架拱橋,跨徑138m,用途為公路橋,如圖2。
在MSC.Marc軟件中建立橋梁的非線性有限元模型,為模擬該鋼筋混凝土橋因超載工況導(dǎo)致垮塌的過程,特意將模型中的標準車(55噸)后四軸軸重增加近一倍,形成總軸重為107噸的特重車,并由5輛特重車組成的車隊駛上橋梁,構(gòu)成超載工況,得到的有限元模型如圖3所示。
有限元方法適用于連續(xù)體,在垮塌過程中,對于破碎、分離等非連續(xù)力學行為一般采用“生死單元法”進行處理。在垮塌模擬過程中,當混凝土達到壓碎應(yīng)變或鋼筋被拉斷,則相應(yīng)的有限元單元會被“殺死”。在MSC.Marc的橋梁垮塌模擬完成后,MSC.Marc軟件可以輸出四種文件,用于虛擬現(xiàn)實模塊進行場景真實度模擬,見表1。
圖1 橋梁垮塌場景模擬系統(tǒng)架構(gòu)圖
圖2 某鋼筋混凝土橋梁立面示意圖
本文的橋梁垮塌場景模擬一方面要結(jié)合有限元數(shù)據(jù),這就要求要進行大量開發(fā)以實現(xiàn)基于有限元數(shù)據(jù)對場景模擬中的模型、動畫等場景要素的控制;另一方面場景模擬是基于虛擬現(xiàn)實技術(shù)的,這就要求場景過程要使用紋理技術(shù)、場景特效等高級圖形功能。所以本文場景模擬所需要的圖形引擎一方面需要是較大的開發(fā)權(quán)限,最好是開源,以便于最大程度地控制場景要素;另一方面要有很多高級圖形功能,避免從底層進行開發(fā),降低開發(fā)效率。
OSG(Open Scene Graph)是一個基于OpenGL的開源的三維圖形引擎,提供了一套C++的API,具有較完整的高級三維圖形功能和豐富的功能插件,滿足本文場景模擬的要求。為了精確地表現(xiàn)MSC.Marc計算的橋梁垮塌過程,OSG中的橋梁場景模型根據(jù)MSC.Marc中的有限元模型建立,并在垮塌動畫實現(xiàn)過程中引入MSC.Marc的位移數(shù)據(jù)和“殺死”單元數(shù)據(jù),以實現(xiàn)有限元數(shù)據(jù)對垮塌動畫的控制。
3.1 橋梁場景建模
橋梁場景建模的是根據(jù)MSC.Marc的文件在OSG中建立橋梁的場景模型,需要保證兩模型的一致性,才能實現(xiàn)精確的橋梁垮塌場景動畫。合理的橋梁場景模型是實現(xiàn)模擬過程有效控制垮塌的基礎(chǔ)。因此,建模過程中要充分考慮橋梁場景模型的控制要素。
(1)場景層次
在OSG中,場景管理是分層次的,所有的場景數(shù)據(jù)都會加入到一個Group當中,Group內(nèi)可以包含很多Node。其中,幾何圖元作為一種需要繪制的對象有一個專門的Geode節(jié)點。繪制幾何體的一般層次是,設(shè)置Geometry類,添加到Geode,然后在Geometry設(shè)置頂點坐標、法線、紋理等屬性[14]。
由于在橋梁場景模擬過程中,一些有限元的單元會被“殺死”,所以在OSG中每個單元都設(shè)為一個Geometry,整個橋梁模型為一個Geode。在場景模型中,可以通過Geode.getDrawable(unsigned int i)來獲得Geometry的指針。其中,getDrawable(i)中的參數(shù)i表示在Geode中第i個Geometry,與繪制順序有關(guān)。因此,為了控制每個單元,Geometry的繪制順序應(yīng)該與Geometry代表的單元編號一致。
(2)建模方法
在本系統(tǒng)中,Node文件中包含的是單元頂點的坐標都要儲存在OSG中三維向量osg::Vec3的數(shù)組中,然后根據(jù)Elem文件獲得單元頂點編號,在三維向量數(shù)組中調(diào)用相應(yīng)的向量構(gòu)成單元的頂點向量數(shù)組VertexArray,并儲存在Geometry中,最后通過DrawArrays()進行圖形繪制。
有限元模型中,包括長方體、面、線三種不同類型的單元。在繪制線和面時,通過DrawArrays()進行繪制并不造成Geometry頂點重復(fù),因為面和線的頂點和繪制所需要的頂點數(shù)量相同。但是在繪制體單元時,DrawArrays()無法直接繪制長方體,需要依次畫出6個面,共需24個頂點。事實上,長方體只需要8個頂點。為了避免重復(fù),節(jié)省內(nèi)存,同時也為在模擬過程中控制體單元變形,在繪制體單元時,采用引索數(shù)組方式DrawElementsUInt()進行圖形繪制。采用引索數(shù)組后,每個體單元只儲存8個頂點坐標,而且改變某一個頂點時,該頂點相關(guān)的面都會改變。由于MSC.Marc中未能提供法線信息,法線向量需要根據(jù)頂點坐標計算。為了避免由于法線錯誤造成的單元不可見,需要獲取面單元的渲染狀態(tài)集StateSet,在StateSet中關(guān)閉背面剔除,并且通過setTwoSided()設(shè)置雙面光源。
圖3 MSC.Marc中的橋梁有限元模型
表1 MSC.M arc軟件提供的數(shù)據(jù)類型
圖4 基于MSC.Marc數(shù)據(jù)的OSG橋梁場景模型
(3)場景模型
在MSC.Marc的橋梁和車輛有限元模型中,包括體、面、線三種不同類型單元,共計2萬多個單元。根據(jù)上述方法,在OSG中建立橋梁的場景模型如圖4所示。通過圖3和圖4進行對比,OSG的橋梁場景模型和MSC.Marc中橋梁有限元模型是一致的。
3.2 橋梁垮塌動畫
在OSG的橋梁垮塌動畫的實現(xiàn)過程中,主要包括兩部分工作:通過MSC.Marc的DispOut文件實現(xiàn)橋梁垮塌變形控制和根據(jù)DelElem文件實現(xiàn)對特定單元的“殺死”模擬。
圖5 橋梁垮塌動畫實現(xiàn)流程
(1)垮塌動畫控制
在OSG中,有專門用于制作動畫Animation類,但是,Animation類一般不適合單元數(shù)量巨大的有限元模型的變形動畫。因此,本文利用OSG的更新回調(diào)機制來實現(xiàn)橋梁變形動畫。
OSG通過回調(diào)(CallBack)完成每一幀的系統(tǒng)中所需工作。在OSG中,設(shè)有節(jié)點(Node)、幾何體(Drawable)、鏡頭(Camera)等多種回調(diào)機制,在幾何體回調(diào)中有一種幾何體更新遍歷(DrawableUpdateCallback)可以通過重載函數(shù)update(),實現(xiàn)幾何體的內(nèi)容更新[16]。
繼承DrawableUpdateCallback類,建立新的DisplaceUpdate類。在DisplaceUpdate類中重載update()函數(shù),在每一步回調(diào)中,通過getVertexArray()函數(shù)獲得Geometry的頂點數(shù)組,然后將有限元的頂點位移數(shù)據(jù)在頂點數(shù)組中更新,最后通過dirty()函數(shù)更新頂點數(shù)組,經(jīng)過回調(diào)后,每個Geometry的變形就實現(xiàn)了。
通過Geode的getDrawable()函數(shù)可以獲得每一個Geometry的指針,然后可以通過setUpdateCallback()可以將每個Geometry關(guān)聯(lián)到重載的update()函數(shù),可以實現(xiàn)整個橋梁模型的變形動畫。在update()可以通過osg::Timer::instance()->tick()獲取開始執(zhí)行時時間和更新完成時間,以實現(xiàn)動畫的時間控制,見圖5。此外,為了動態(tài)調(diào)用頂點的內(nèi)存,橋梁場景模型建模時,要使用VBO(Vertex Buffer Object)模式,關(guān)閉默認的顯示列表模式。
(2)“殺死”單元模擬
在有限元模擬中,在某些時間點上一些單元會因為變形過大而被“殺死”,在場景模擬中表現(xiàn)為單元不可見。在OSG中,有很多方法可以實現(xiàn)圖形的不可見,比如設(shè)置透明色或不使物體進入渲染通道等。本文采用的方法是將“殺死”單元的坐標都設(shè)為零。置零后的單元都形成了點,OSG中有微小剔除功能,所以這些點將不可見。需要指出的是,在更細致的場景模擬中,這些“殺死”單元并不是在圖形上消失了,而應(yīng)為破碎或者脫離的碎塊。因此,關(guān)于“生死單元”的模擬還有待進一步研究。
圖6 MSC.M arc模擬結(jié)果和OSG橋梁垮塌動畫(2.3 s)
圖7 MSC.M arc模擬結(jié)果和OSG橋梁垮塌動畫(7.8 s)
圖8 MSC.M arc模擬結(jié)果和OSG橋梁垮塌動畫(9.4 s)
3.3 垮塌動畫實現(xiàn)
根據(jù)本文的方法,使用MSC.Marc模型文件在OSG中建立橋梁場景模型,通過MSC.Marc模擬數(shù)據(jù)實現(xiàn)了橋梁垮塌過程的場景模擬動畫。本文將橋梁垮塌的MSC.Marc模擬結(jié)果和OSG橋梁垮塌動畫進行對照,整個倒塌過程持續(xù)時間為9.4 s,三種不同時刻的垮塌情況如圖6~圖8。
從圖6~圖8可以看出,基于OSG的橋梁垮塌動畫與MSC.Marc有限元的模擬結(jié)果是一致的?;贠SG的橋梁垮塌動畫具有科學性,同時,在OSG場景中橋梁垮塌動畫具有場景模擬的優(yōu)勢。在場景模型中,可以通過紋理、光照技術(shù)等增加橋梁模型的真實感,還可以加入垮塌過程中橋梁破碎、煙塵等特效,同時還可以加入地形、周邊環(huán)境等場景,形成更為逼真的橋梁垮塌場景模擬。
圖9 基于OSG的橋梁垮塌漫游場景
橋梁垮塌事故鑒定及橋梁力學研究都需要對橋梁垮塌過程進行詳細的了解,因此要求在虛擬場景中充分地觀察橋梁垮塌情況。本文開發(fā)了橋梁垮塌場景漫游系統(tǒng),可以任意路徑、任意角度對橋梁垮塌情況進行觀察。
漫游系統(tǒng)首先需要定義漫游操作,如按“W”鍵前進、按“A”鍵左移等。漫游的過程可以簡單描述為觸發(fā)事件、事件響應(yīng)和場景改變?nèi)齻€步驟,在OSG中對應(yīng)的三個類,管理觸發(fā)事件類osgGA::GUIEventHandler,管理事件響應(yīng)并聯(lián)系場景控制的類osgGA::CameraManipulator,場景管理的核心類是osg::Viewer。在OSG中,采用osgGA::Camera-Manipulator作為基類定義Walkthrough類,在類中定義場景控制要素和與場景管理類osg::Viewer的接口,并且重載osgGA::GUIEventHandler中的handle()函數(shù)來定義觸發(fā)事件,如鼠標移動、按鍵盤等。最終,利用viewer.setCameraManipulator(new Walkthrough())載入Walkthrough類一個實例就可以實現(xiàn)場景漫游操作了。在漫游系統(tǒng)中,還需要設(shè)置碰撞檢測,以增加漫游的真實感。
本文對基于MSC.Marc數(shù)據(jù)生產(chǎn)的橋梁垮塌模型賦予簡單材質(zhì),并且加入水面、地形、天空等環(huán)境要素,構(gòu)成具有一定真實感的場景。將該場景載入到本文開發(fā)的橋梁垮塌場景漫游系統(tǒng),系統(tǒng)中不同的漫游場景見圖9。
通過圖9可以看出橋梁場景漫游系統(tǒng)可以實現(xiàn)對垮塌橋梁多角度、多方位的觀察,同時構(gòu)建了一個具有真實感和科學性的橋梁垮塌場景,為橋梁垮塌事故鑒定和事故結(jié)果展示提供了技術(shù)支持。但是,橋梁垮塌模型紋理技術(shù)和垮塌特效技術(shù)還有待于進一步研究。
本文通過MSC.Marc對某鋼筋混凝土橋梁垮塌過程進行了模擬,基于Marc數(shù)據(jù)在OSG平臺上實現(xiàn)了橋梁垮塌場景動畫,并開發(fā)了具有一定真實感的橋梁垮塌場景漫游系統(tǒng)。橋梁場景動畫與Marc模擬結(jié)果一致,表明文中基于OSG的橋梁垮塌場景動畫方法的有效性。基于文中橋梁垮塌漫游系統(tǒng)構(gòu)建的橋梁垮塌虛擬現(xiàn)實場景,更加科學、真實的還原了橋梁垮塌場景,為準確的橋梁垮塌事故鑒定提供技術(shù)支持。
[1]陳明憲.從鳳凰堤溪大橋事故談石拱橋[J].公路工程.2008.06,33(3):1-9.
[2]Zhu,S.,Levinson,D.,Liu,H.and Harder,K.The traffic and behavioral effects of the I-35W Mississippi river bridge collapse[C].Transportation Research Board Annual Meeting 2009 Paper#09-2164,2009.
[3]NIST.Final report on the collapse of world trade centre building 7[R].2008,11.
[4]Baylot,JT.Numerical Simulation of Alternate Scenario for Khobar Towers[C].Proceedings of 68th Shock and Vibration Symposium(Limited Distribution),Hunt Valley MD,1997.
[5]National Transportation Safety Board.Highway Accident Report-Collapse of Interstate 35W Highway Bridge[EB/OL].http://www.ntsb.gov/events/2008/minneapolismn/presentations.htm,2010-8-19.
[6]D.Isobe,M.Tsuda.Seismic collapse analysis of reinforced concrete framed structures using the finite element method[J].Earthquake Engineering and Structural Dynamics,2003,32(13):2027-2046.
[7]陸新征,葉列平,江見鯨等.考慮地震行波效應(yīng)大型高架橋梁破壞模擬[J].工程抗震與改造加固,2007,29(3):1-5.
[8]Kumar P and Bhandari NM.Non-linear Finite Element A-nalysis of Masonry Arches for Prediction of Collapse Load[J].Structural Engineering International,2005,15(3):166-175.
[9]吳祚寶,肖田元.虛擬制造環(huán)境下有限元分析的應(yīng)用[J].清華大學學報(自然科學版),2000,40(7):66-69.
[10]吳鵬,趙龍,王勇軍等.一種于基于有限元的形變模型算法[J].系統(tǒng)仿真學報,2001,13(5):674-677.
[11]Igor N.et al..Real-time simulation of elastic objects in virtual environments using finite element method and precomputed Green's functions,Proceedings of the workshop on virtual environments 2002(Wolfgang S.and Stefan M.,editors),Barcelona,Spain,2002,47-52.
[12]于巍,吳煒煜.三維可視化仿真技術(shù)與災(zāi)害虛擬表現(xiàn)[J].中國體視學與圖像分析,2001,6(2)122-127.
[13]陳俊濤,肖明,鄭永蘭.用OpenGL開發(fā)地下結(jié)構(gòu)工程三維有限元圖形系統(tǒng)[J].巖石力學與工程學報,2006,25(5):1015-1020.
[14]肖鵬,劉更代,徐明亮.OpenSceneGraph三維渲染引擎編程指南[M].北京:清華大學出版社,2010.
[15]王銳,錢學雷.OpenSceneGraph三維渲染引擎設(shè)計與實踐[M].北京:清華大學出版社,2009.
Preliminary Study on Scene Simulation of Bridge Collapse Based on FEM
Xu Zhen,Ren Aizhu,Lu Xinzheng
(Institute of Disaster Prevention and Relief,Department of Civil Engineering,Tsinghua University,Beijing 100084,China)
To replay the process of bridge collapse scientifically and realistically and assist the technical appraisals for bridge collapse accidents,the scene simulation of bridge collapse on VR platform based on FEM is studied in this paper.By the data of FEM simulation of bridge collapse,the bridge scene model and the animation of bridge collapse are realized in 3D graphic engine OSG.Based on the model of bridge collapse,a scene walkthrough system with realistic graphics is developed in this paper.By comparing the animation of bridge collapse in OSG with the FEM simulation of bridge collapse,the methods of creating bridge scene model and realizing the animation of bridge collapse prove to be operative.This paper combines FEM simulation and VR simulation to provide a scientific and realistic virtual scene for the technical appraisals of bridge collapse accidents.
Bridge collapse;Scene simulation;FEM;VR;OSG
TP391.9
A
1674-7461(2010)04-0014-07
交通部西部交通建設(shè)科技項目(編號:2008-318-223-43)
許鎮(zhèn)(1986-)男,博士生。主要從事虛擬現(xiàn)實技術(shù)與結(jié)構(gòu)仿真方面的研究。E-mail:martin31567@gmail.com