馬軍旗,周林豪,周 永,陳軍程,張志增
(1.中電建路橋集團玉溪市江通高速公路有限公司,云南 玉溪 653100;2.中原工學(xué)院 建筑工程學(xué)院,鄭州 450007)
隧道工程目前是我國各類工程中人員傷亡率最高的工程項目之一,采用數(shù)值模擬技術(shù)分析隧道圍巖穩(wěn)定性問題已被廣泛應(yīng)用。目前隧道工程中常用的數(shù)值模擬方法有離散單元法[1]、有限單元法[2]、有限差分法[3]和非連續(xù)變形分析法等[4-5],一般運用數(shù)值模擬軟件ANSYS、FLAC3D、MIDAS、RFPA等[6]對隧道工程進行建模分析,但數(shù)值模擬的結(jié)果通常是由多個二維剖面的云圖來表示,出圖效率低且表現(xiàn)形式單調(diào),并且當(dāng)技術(shù)人員看到數(shù)值模擬結(jié)果時還需想象其對應(yīng)的空間位置,這些導(dǎo)致了數(shù)值模擬結(jié)果的可讀性差。
為解決數(shù)值模擬結(jié)果在展示方面的不足,許多學(xué)者已經(jīng)做了大量研究。李云等[7]通過VrMap2.0 SDK平臺開發(fā)了一套大型行蓄洪區(qū)防洪減災(zāi)決策支持系統(tǒng)軟件,實現(xiàn)了洪水演進數(shù)值模擬的可視化展示;王海燕等[8]通過CFD技術(shù)與虛擬現(xiàn)實技術(shù)的耦合,實現(xiàn)了礦井火災(zāi)數(shù)值模擬的虛擬場景展示;毛軍等[9]實現(xiàn)了地鐵火災(zāi)煙氣流動數(shù)值模擬在虛擬仿真平臺的展示;歐耿鑫等[10]通過Visualization Toolkit開發(fā)了地下水?dāng)?shù)值建模與計算的可視化方法;邱流潮等[11]通過有限元和離散元耦合的數(shù)值方法對巴西圓盤實驗進行數(shù)值計算,實現(xiàn)了巖石破碎過程數(shù)值模擬的可視化;耿敬等[12]通過將Mike21數(shù)值模擬結(jié)果與地形模型耦合,實現(xiàn)了洪水淹沒數(shù)值模擬的可視化展示;蘇關(guān)東等[13]開發(fā)了用于教學(xué)的滲流力學(xué)虛擬仿真實驗平臺,使學(xué)生可在虛擬場景中進行實驗和數(shù)值模擬計算??v觀已有研究,尚未有隧道工程數(shù)值模擬結(jié)果的虛擬現(xiàn)實交互展示的報道。
虛擬現(xiàn)實技術(shù)(Virtual Reality,簡稱VR)是近年來發(fā)展最為迅速的一門交叉技術(shù)前沿學(xué)科,擁有強大的三維立體圖形展示功能和人機交互功能。虛擬現(xiàn)實技術(shù)中的虛擬現(xiàn)實建模語言(Virtual Reality Modeling Language,簡稱VRML)不僅能夠和各類工程建模軟件相融合,還能構(gòu)建各類虛擬場景,為隧道工程數(shù)值模擬結(jié)果的虛擬現(xiàn)實展示提供了可行的解決方案[14]。本文利用數(shù)值模擬軟件ANSYS對隧道工程進行建模分析處理,然后運用科學(xué)工程可視化與后處理軟件EnSight10.2進行數(shù)據(jù)轉(zhuǎn)換與耦合,最后采用VRML實現(xiàn)隧道工程數(shù)值模擬結(jié)果的三維可視化[15]。
VRML虛擬現(xiàn)實建模語言是一種可以直接建立現(xiàn)實模型或者構(gòu)建虛擬場景的建模語言,具有較強的三維場景刻畫功能和人機交互功能,能夠創(chuàng)建可參與的三維互動虛擬世界[16]。其主要目的是構(gòu)建一個立體的三維場景,將平面轉(zhuǎn)化為三維立體世界,然后通過其強大的人機交互功能解決用戶目前在三維圖形中交互的局限性。由于VRML可根據(jù)實際情況創(chuàng)建不同級別的應(yīng)用,所以其在虛擬現(xiàn)實、工程應(yīng)用及可視化、教育領(lǐng)域等具有廣泛的應(yīng)用前景[17]。
VRML文件是一種文本文件格式,可通過各類文本編輯器進行編寫,目前VRML文件的編輯軟件有VrmlPad、Cosmo World及V-Realm Builder等[18]。其中VrmlPad是VRML文件專用編輯器,具有VRML代碼讀取、編輯和調(diào)試等功能,是一款功能強大又簡單快捷的VRML源代碼編輯器。
VRML文件主要由文件頭、節(jié)點、路由、事件和腳本組成,其中節(jié)點是VRML構(gòu)建場景的基本要素,VRML語言可通過節(jié)點構(gòu)建出各類三維模型和交互環(huán)境[19-20]。在VRML構(gòu)建場景時,一般通過造型Shape節(jié)點、點集PointSet節(jié)點、線集IndexedLineSet節(jié)點、面集Indexed-FaceSet節(jié)點、海拔柵格ElevationGrid節(jié)點及擠出造型Extrusion節(jié)點等先構(gòu)建出簡單的物體模型,再通過空間背景Backgroung節(jié)點、視點Viewpoint節(jié)點、導(dǎo)航NavigationInfo節(jié)點及點光源PointLight節(jié)點等構(gòu)建出虛擬場景,然后通過路由將各事件連接一起,最終實現(xiàn)人機交互的虛擬場景。
本文數(shù)值模擬三維可視化的實現(xiàn)選擇VRML語言構(gòu)建虛擬場景,VrmlPad為文件編輯器。
20世紀70年代由美國ANSYS,Inc.公司開發(fā)的ANSYS程序通過有限元法(Finite Element Method,簡稱FEM)進行求解分析,在巖土工程數(shù)值計算分析中得到廣泛應(yīng)用[21]。本文的隧道工程數(shù)值模擬采用ANSYS軟件進行計算分析。
ANSYS是集結(jié)構(gòu)分析、流體分析、電磁場分析及聲場分析于一體的工程仿真模擬分析軟件,主要優(yōu)點有:第一,能夠?qū)崿F(xiàn)電子設(shè)備的互聯(lián);第二,能對各類結(jié)構(gòu)材料進行仿真;第三,能簡化復(fù)雜的流體動力學(xué)問題。ANSYS軟件可通過結(jié)構(gòu)靜力分析、結(jié)構(gòu)動力學(xué)分析、結(jié)構(gòu)非線性分析、動力學(xué)分析、熱分析、電磁場分析、流體動力學(xué)分析、聲場分析和壓電分析等對相應(yīng)的工程進行數(shù)值計算分析。其在巖土工程數(shù)值計算分析中的應(yīng)用和研究非常廣泛,主要通過結(jié)構(gòu)靜力分析和結(jié)構(gòu)動力學(xué)分析來求解因外荷載產(chǎn)生的位移、應(yīng)力及隨時間變化的荷載對結(jié)構(gòu)的影響等,使用ANSYS進行數(shù)值建模分析時主要通過前處理、分析求解和后處理3個模塊進行。在工程應(yīng)用中,以ANSYS作為數(shù)值建模和計算軟件,根據(jù)隧道工程地質(zhì)情況建立幾何模型,設(shè)置模型材料、邊界條件等,然后對模型施加荷載并計算求解,最終輸出計算結(jié)果。
ANSYS讀取的數(shù)據(jù)是通過記事本編寫的“*.TXT”格式的命令流,文件主要內(nèi)容包括Preferences、Element Type、Real Constants、Material Props、modeling、meshing及Solution等參數(shù),表明了建立模型的單元類型、材料、施加約束與荷載等信息。通過ANSYS軟件的計算與求解,最終可將結(jié)果文件輸出為“*.rst”格式文件。
EnSight(Engineering Insight,對工程的洞察力)是由美國CEI公司開發(fā)的一款功能強大且操作簡便的科學(xué)工程可視化與后處理軟件,在有限元分析(FEA)和計算流體動力學(xué)(CFD)等后處理可視化仿真中有廣泛應(yīng)用。本文中隧道工程數(shù)值模擬的數(shù)據(jù)轉(zhuǎn)換與耦合采用En-Sight10.2版本軟件完成。
EnSight作為一款具有簡單快捷的高性能圖形處理功能的可視化平臺,其數(shù)據(jù)接口豐富,能支持ANSYS、ABAQUS等數(shù)十款力學(xué)分析計算軟件的程序接口和數(shù)據(jù)格式[22]。EnSight中有4個ANSYS讀卡器,其中ANSYS Rrsults閱讀器是EnSight讀取ANSYS結(jié)果文件的主要閱讀器,其具有支持標量、向量和張量變量,包括計算從張量導(dǎo)出的幾個標量變量及局部元素結(jié)果成分的能力。采用EnSight進行可視化與后處理時一般通過零件操作、計算器、繪圖、查詢、視口、注釋、時間、動畫和用戶自定義工具等進行操作,保存的幾何數(shù)據(jù)和變量值可通過En-Sight中的值塊(僅用于3D零件的變量的體繪制)、案例(EnSight Gold)、VRML、簡單客戶端輸出和PLY多邊形文件格式5個內(nèi)部編輯器輸出。利用EnSight對隧道工程數(shù)值模擬結(jié)果進行可視化處理和轉(zhuǎn)換時主要包括ANSYS數(shù)據(jù)讀取、更改變量著色和VRML文件輸出。在工程應(yīng)用中,以EnSight作為數(shù)值模擬數(shù)據(jù)處理和轉(zhuǎn)換程序,主要通過ANSYS Rrsults閱讀器功能讀取ANSYS軟件輸出的“*.rst”格式文件,然后對讀取的文件進行首選項設(shè)置、選擇著色變量、部件位移計算和元素變量著色更改為節(jié)點變量著色等處理,最終保存輸出為VRML文件。
基于ANSYS-VRML耦合的隧道工程數(shù)值模擬三維可視化的技術(shù)流程:通過ANSYS軟件對隧道工程進行建模分析處理后,利用EnSight作為數(shù)據(jù)可視化處理與轉(zhuǎn)換程序,再利用VrmlPad編輯器對讀取的模型進行調(diào)試和編譯,最終輸出VRML格式文件,用戶可直接通過VRML瀏覽器進行三維預(yù)覽,也可采用虛擬現(xiàn)實設(shè)備進行全景互動體驗。技術(shù)流程圖如圖1所示。由于用戶的所有操作都在虛擬場景中完成,所以有效地解決了傳統(tǒng)數(shù)值模擬表現(xiàn)形式單調(diào)且數(shù)值模擬與空間位置對應(yīng)不直觀這一問題。
圖1 技術(shù)流程圖
節(jié)點調(diào)試與編譯是VRML文件構(gòu)建虛擬場景時要解決的首要問題,也是實現(xiàn)隧道工程數(shù)值模擬全景交互的一個關(guān)鍵步驟。在工程應(yīng)用中,隧道工程數(shù)值模擬的基礎(chǔ)模型通過VRML節(jié)點中的面集IndexedFaceSet節(jié)點實現(xiàn),造型外觀屬性通過Appearance節(jié)點實現(xiàn),場景信息通過空間背景Backgroung節(jié)點、視點Viewpoint節(jié)點、導(dǎo)航NavigationInfo節(jié)點和點光源PointLight節(jié)點等實現(xiàn)。其中面集IndexedFaceSet節(jié)點主要由用于設(shè)定模型邊界連接點的坐標位置、模型表面的粘貼紋理、模型中的面是否組成一個實體的coord域、texCoord域及solid域等構(gòu)成;Appearance節(jié)點主要由用于設(shè)定模型外觀材料的顏色、透明度、反光度、發(fā)光度及設(shè)定模型表面紋理貼圖的形態(tài)的material域、texture域等構(gòu)成;空間背景Backgroung節(jié)點主要由用于設(shè)定天空背景上需要著色位置的空間角、天空著色的顏色、地面背景上需要著色位置的空間角、地面背景著色的一系列RGB顏色的skyAngle域、skyColor域、groundAngle域和groundColor域等構(gòu)成;視點Viewpoint節(jié)點主要由用于設(shè)定視點在VRML場景中的空間位置的position域等組成;導(dǎo)航NavigationInfo節(jié)點主要由用于設(shè)定瀏覽者漫游類型的type域等構(gòu)成;點光源PointLight節(jié)點主要由用于設(shè)定點光源在坐標系中的位置的location域等構(gòu)成。
要實現(xiàn)隧道工程數(shù)值模擬的虛擬交互,需通過IndexedFaceSet節(jié)點和Appearance節(jié)點顯示隧道工程數(shù)值模擬的造型和外觀,通過空間背景Backgroung節(jié)點、視點Viewpoint節(jié)點、導(dǎo)航NavigationInfo節(jié)點和點光源PointLight節(jié)點構(gòu)建更為逼真的虛擬場景,關(guān)鍵技術(shù)是為coord域、texCoord域、solid域、material域、texture域、skyAngle域、skyColor域、groundAngle域和groundColor域、position域、type域及l(fā)ocation域等設(shè)定準確的域值。
通過VRML構(gòu)建虛擬場景有2種方式,第一種方式是直接通過VRML編寫造型節(jié)點、點集節(jié)點和面集節(jié)點等建立物體模型,然后添加各類場景節(jié)點從而構(gòu)造出一個虛擬世界;第二種方式是通過三維建模軟件建立模型,而后將其他格式的模型文件轉(zhuǎn)換成VRML格式文件,最終在VRML格式文件中添加所需的場景節(jié)點從而構(gòu)造出一個虛擬世界。由于本文實現(xiàn)的是數(shù)值模擬結(jié)果文件的三維可視化,所以采用第二種方式將隧道工程數(shù)值模擬結(jié)果文件轉(zhuǎn)化為可交互的三維虛擬場景文件。
數(shù)據(jù)轉(zhuǎn)換與處理分為3個步驟:第一步,采用ANSYS軟件對工程案例進行數(shù)值建模和計算,并將結(jié)果輸出為“*.rst”格式文件。第二步,采用科學(xué)工程可視化與后處理軟件EnSight10.2讀取“*.rst”格式文件,并將“*.rst”格式文件轉(zhuǎn)換成實體模型,通過軟件編輯功能對隧道工程數(shù)值模擬模型進行修改處理,然后利用輸出接口程序“幾何實體至VRML”導(dǎo)出處理后的三維結(jié)果模型,生成“*.wrl”格式文件。第三步采用VrmlPad編輯器對“*.wrl”格式文件進行節(jié)點調(diào)試與編譯。
VRML格式文件的展示方式有2種,第一種是通過VRML瀏覽器直接進行全景交互瀏覽,第二種是通過相應(yīng)的虛擬現(xiàn)實設(shè)備進行沉浸式全景交互體驗。采用第一種方式進行瀏覽時,常用的瀏覽器是BS Contact瀏覽器,BS Contact瀏覽器可直接讀取“*.wrl”文件并具有一定的三維立體視覺體驗;采用第二種方式進行沉浸式全景交互體驗時,需要對虛擬現(xiàn)實設(shè)備進行一定的設(shè)置,以HTC設(shè)備為例,需在HTC設(shè)備配套的steam平臺中添加BS Contact瀏覽插件,然后通過BS Contact打開相應(yīng)的“*.wrl”文件即可進行沉浸式全景交互體驗。
以某開挖隧道工程為例,根據(jù)工程實況運用記事本編寫TXT格式命令流,利用ANSYS軟件讀取TXT格式命令流,并將TXT格式數(shù)據(jù)轉(zhuǎn)化為隧道工程數(shù)值模型,通過軟件計算功能對隧道圍巖的變形進行計算分析,得到位移云圖,并將計算結(jié)果輸出為RST格式文件。該位移云圖是由一個二維剖面來表示,不僅表現(xiàn)形式十分單調(diào),還無法展示隧道內(nèi)表面的圍巖變形情況。而技術(shù)人員只能通過這些圖片來研究隧道圍巖變形失穩(wěn)過程,當(dāng)技術(shù)人員讀取數(shù)值模擬結(jié)果時還需想象其對應(yīng)的空間位置,使得整個研究過程十分不便,解決該問題的最好方式是將二維的云圖轉(zhuǎn)化為三維可視化的場景。
為實現(xiàn)隧道工程數(shù)值模擬的三維可視化,可通過En-Sight軟件對ANSYS的結(jié)果文件進行數(shù)據(jù)處理與轉(zhuǎn)換,最終實現(xiàn)ANSYS與VRML的數(shù)據(jù)耦合。利用EnSight軟件讀取“*.rst”格式文件,并將“*.rst”格式文件轉(zhuǎn)換成隧道工程數(shù)值模型,再通過軟件編輯功能將“連續(xù)著色單元變量”設(shè)置為調(diào)色板首選項,著色變量設(shè)置為“Displacement”,元素變量著色更改為節(jié)點變量著色等,然后利用輸出接口程序“幾何實體至VRML”導(dǎo)出處理后的三維結(jié)果模型,并生成“*.wrl”格式文件。
經(jīng)EnSight處理轉(zhuǎn)換后的數(shù)據(jù)雖然已具有三維可視化功能,但其場景還存在缺陷,需通過VrmlPad編輯器對“*.wrl”格式文件進行節(jié)點調(diào)試和編譯后才能進行虛擬交互體驗。根據(jù)隧道工程數(shù)值模型的原點坐標,運用VrmlPad編輯器對VRML場景中視點Viewpoint節(jié)點的position域的域值進行更改,并編寫用于設(shè)置空間背景的Backgroung節(jié)點的skyAngle域、skyColor域、groundAngle域及groundColor域、用于設(shè)定瀏覽者漫游類型的導(dǎo)航NavigationInfo節(jié)點的type域及用于設(shè)定點光源在坐標系中的位置的點光源PointLight節(jié)點的location域,最終形成可交互的隧道工程數(shù)值模擬三維可視化場景。
當(dāng)觀察者戴上VR設(shè)備后,可以身臨其境地進入隧道模型之中,并能在隧道中走動和觀看隧道圍巖變形數(shù)據(jù),不僅彌補了傳統(tǒng)數(shù)值模擬中表現(xiàn)形式單調(diào)、數(shù)值模擬與空間位置對應(yīng)不直觀的缺點,還增強了技術(shù)人員的視覺感受和互動性。
本文基于VRML語言編譯了隧道工程數(shù)值模擬的結(jié)果文件,并將其成功地應(yīng)用到隧道工程數(shù)值模擬的三維可視化中。通過本文的研究,得出以下結(jié)論:
(1)本文提出的基于虛擬現(xiàn)實技術(shù)的隧道工程數(shù)值模擬三維可視化方法,既繼承了數(shù)值模擬提供的位移、應(yīng)力等圍巖信息,又融合了虛擬現(xiàn)實技術(shù)的顯示逼真和互動性強的優(yōu)勢,為隧道工程數(shù)值模擬的虛擬現(xiàn)實展示提供了一條新思路,滿足隧道工程數(shù)值模擬對虛擬現(xiàn)實技術(shù)的需求,具有較強的應(yīng)用推廣價值。
(2)EnSight為隧道工程數(shù)值模擬三維可視化提供了數(shù)據(jù)轉(zhuǎn)換接口,VRML語言為隧道工程數(shù)值模擬三維可視化提供了虛擬場景環(huán)境,將虛擬現(xiàn)實技術(shù)應(yīng)用于隧道工程數(shù)值模擬的條件已經(jīng)非常成熟。
(3)以EnSight作為ANSYS與VRML的數(shù)據(jù)耦合轉(zhuǎn)化接口,便于將虛擬現(xiàn)實技術(shù)與其他數(shù)值模擬軟件(如ABAQUS等)耦合,增強了數(shù)值模擬三維可視化的靈活性。
(4)本文的隧道工程數(shù)值模擬三維可視化數(shù)據(jù)轉(zhuǎn)化接口是通過EnSight軟件手動轉(zhuǎn)換的,在以后的研究中,將改進數(shù)據(jù)轉(zhuǎn)化接口,提高轉(zhuǎn)化效率,同時研究如何實現(xiàn)其他數(shù)值模擬軟件與虛擬現(xiàn)實技術(shù)的耦合。