馬軍旗,周林豪,周 永,陳軍程,張志增
(1.中電建路橋集團玉溪市江通高速公路有限公司,云南 玉溪 653100;2.中原工學院 建筑工程學院,鄭州 450007)
隧道工程目前是我國各類工程中人員傷亡率最高的工程項目之一,采用數值模擬技術分析隧道圍巖穩定性問題已被廣泛應用。目前隧道工程中常用的數值模擬方法有離散單元法[1]、有限單元法[2]、有限差分法[3]和非連續變形分析法等[4-5],一般運用數值模擬軟件ANSYS、FLAC3D、MIDAS、RFPA等[6]對隧道工程進行建模分析,但數值模擬的結果通常是由多個二維剖面的云圖來表示,出圖效率低且表現形式單調,并且當技術人員看到數值模擬結果時還需想象其對應的空間位置,這些導致了數值模擬結果的可讀性差。
為解決數值模擬結果在展示方面的不足,許多學者已經做了大量研究。李云等[7]通過VrMap2.0 SDK平臺開發了一套大型行蓄洪區防洪減災決策支持系統軟件,實現了洪水演進數值模擬的可視化展示;王海燕等[8]通過CFD技術與虛擬現實技術的耦合,實現了礦井火災數值模擬的虛擬場景展示;毛軍等[9]實現了地鐵火災煙氣流動數值模擬在虛擬仿真平臺的展示;歐耿鑫等[10]通過Visualization Toolkit開發了地下水數值建模與計算的可視化方法;邱流潮等[11]通過有限元和離散元耦合的數值方法對巴西圓盤實驗進行數值計算,實現了巖石破碎過程數值模擬的可視化;耿敬等[12]通過將Mike21數值模擬結果與地形模型耦合,實現了洪水淹沒數值模擬的可視化展示;蘇關東等[13]開發了用于教學的滲流力學虛擬仿真實驗平臺,使學生可在虛擬場景中進行實驗和數值模擬計算。縱觀已有研究,尚未有隧道工程數值模擬結果的虛擬現實交互展示的報道。
虛擬現實技術(Virtual Reality,簡稱VR)是近年來發展最為迅速的一門交叉技術前沿學科,擁有強大的三維立體圖形展示功能和人機交互功能。虛擬現實技術中的虛擬現實建模語言(Virtual Reality Modeling Language,簡稱VRML)不僅能夠和各類工程建模軟件相融合,還能構建各類虛擬場景,為隧道工程數值模擬結果的虛擬現實展示提供了可行的解決方案[14]。本文利用數值模擬軟件ANSYS對隧道工程進行建模分析處理,然后運用科學工程可視化與后處理軟件EnSight10.2進行數據轉換與耦合,最后采用VRML實現隧道工程數值模擬結果的三維可視化[15]。
VRML虛擬現實建模語言是一種可以直接建立現實模型或者構建虛擬場景的建模語言,具有較強的三維場景刻畫功能和人機交互功能,能夠創建可參與的三維互動虛擬世界[16]。其主要目的是構建一個立體的三維場景,將平面轉化為三維立體世界,然后通過其強大的人機交互功能解決用戶目前在三維圖形中交互的局限性。由于VRML可根據實際情況創建不同級別的應用,所以其在虛擬現實、工程應用及可視化、教育領域等具有廣泛的應用前景[17]。
VRML文件是一種文本文件格式,可通過各類文本編輯器進行編寫,目前VRML文件的編輯軟件有VrmlPad、Cosmo World及V-Realm Builder等[18]。其中VrmlPad是VRML文件專用編輯器,具有VRML代碼讀取、編輯和調試等功能,是一款功能強大又簡單快捷的VRML源代碼編輯器。
VRML文件主要由文件頭、節點、路由、事件和腳本組成,其中節點是VRML構建場景的基本要素,VRML語言可通過節點構建出各類三維模型和交互環境[19-20]。在VRML構建場景時,一般通過造型Shape節點、點集PointSet節點、線集IndexedLineSet節點、面集Indexed-FaceSet節點、海拔柵格ElevationGrid節點及擠出造型Extrusion節點等先構建出簡單的物體模型,再通過空間背景Backgroung節點、視點Viewpoint節點、導航NavigationInfo節點及點光源PointLight節點等構建出虛擬場景,然后通過路由將各事件連接一起,最終實現人機交互的虛擬場景。
本文數值模擬三維可視化的實現選擇VRML語言構建虛擬場景,VrmlPad為文件編輯器。
20世紀70年代由美國ANSYS,Inc.公司開發的ANSYS程序通過有限元法(Finite Element Method,簡稱FEM)進行求解分析,在巖土工程數值計算分析中得到廣泛應用[21]。本文的隧道工程數值模擬采用ANSYS軟件進行計算分析。
ANSYS是集結構分析、流體分析、電磁場分析及聲場分析于一體的工程仿真模擬分析軟件,主要優點有:第一,能夠實現電子設備的互聯;第二,能對各類結構材料進行仿真;第三,能簡化復雜的流體動力學問題。ANSYS軟件可通過結構靜力分析、結構動力學分析、結構非線性分析、動力學分析、熱分析、電磁場分析、流體動力學分析、聲場分析和壓電分析等對相應的工程進行數值計算分析。其在巖土工程數值計算分析中的應用和研究非常廣泛,主要通過結構靜力分析和結構動力學分析來求解因外荷載產生的位移、應力及隨時間變化的荷載對結構的影響等,使用ANSYS進行數值建模分析時主要通過前處理、分析求解和后處理3個模塊進行。在工程應用中,以ANSYS作為數值建模和計算軟件,根據隧道工程地質情況建立幾何模型,設置模型材料、邊界條件等,然后對模型施加荷載并計算求解,最終輸出計算結果。
ANSYS讀取的數據是通過記事本編寫的“*.TXT”格式的命令流,文件主要內容包括Preferences、Element Type、Real Constants、Material Props、modeling、meshing及Solution等參數,表明了建立模型的單元類型、材料、施加約束與荷載等信息。通過ANSYS軟件的計算與求解,最終可將結果文件輸出為“*.rst”格式文件。
EnSight(Engineering Insight,對工程的洞察力)是由美國CEI公司開發的一款功能強大且操作簡便的科學工程可視化與后處理軟件,在有限元分析(FEA)和計算流體動力學(CFD)等后處理可視化仿真中有廣泛應用。本文中隧道工程數值模擬的數據轉換與耦合采用En-Sight10.2版本軟件完成。
EnSight作為一款具有簡單快捷的高性能圖形處理功能的可視化平臺,其數據接口豐富,能支持ANSYS、ABAQUS等數十款力學分析計算軟件的程序接口和數據格式[22]。EnSight中有4個ANSYS讀卡器,其中ANSYS Rrsults閱讀器是EnSight讀取ANSYS結果文件的主要閱讀器,其具有支持標量、向量和張量變量,包括計算從張量導出的幾個標量變量及局部元素結果成分的能力。采用EnSight進行可視化與后處理時一般通過零件操作、計算器、繪圖、查詢、視口、注釋、時間、動畫和用戶自定義工具等進行操作,保存的幾何數據和變量值可通過En-Sight中的值塊(僅用于3D零件的變量的體繪制)、案例(EnSight Gold)、VRML、簡單客戶端輸出和PLY多邊形文件格式5個內部編輯器輸出。利用EnSight對隧道工程數值模擬結果進行可視化處理和轉換時主要包括ANSYS數據讀取、更改變量著色和VRML文件輸出。在工程應用中,以EnSight作為數值模擬數據處理和轉換程序,主要通過ANSYS Rrsults閱讀器功能讀取ANSYS軟件輸出的“*.rst”格式文件,然后對讀取的文件進行首選項設置、選擇著色變量、部件位移計算和元素變量著色更改為節點變量著色等處理,最終保存輸出為VRML文件。
基于ANSYS-VRML耦合的隧道工程數值模擬三維可視化的技術流程:通過ANSYS軟件對隧道工程進行建模分析處理后,利用EnSight作為數據可視化處理與轉換程序,再利用VrmlPad編輯器對讀取的模型進行調試和編譯,最終輸出VRML格式文件,用戶可直接通過VRML瀏覽器進行三維預覽,也可采用虛擬現實設備進行全景互動體驗。技術流程圖如圖1所示。由于用戶的所有操作都在虛擬場景中完成,所以有效地解決了傳統數值模擬表現形式單調且數值模擬與空間位置對應不直觀這一問題。

圖1 技術流程圖
節點調試與編譯是VRML文件構建虛擬場景時要解決的首要問題,也是實現隧道工程數值模擬全景交互的一個關鍵步驟。在工程應用中,隧道工程數值模擬的基礎模型通過VRML節點中的面集IndexedFaceSet節點實現,造型外觀屬性通過Appearance節點實現,場景信息通過空間背景Backgroung節點、視點Viewpoint節點、導航NavigationInfo節點和點光源PointLight節點等實現。其中面集IndexedFaceSet節點主要由用于設定模型邊界連接點的坐標位置、模型表面的粘貼紋理、模型中的面是否組成一個實體的coord域、texCoord域及solid域等構成;Appearance節點主要由用于設定模型外觀材料的顏色、透明度、反光度、發光度及設定模型表面紋理貼圖的形態的material域、texture域等構成;空間背景Backgroung節點主要由用于設定天空背景上需要著色位置的空間角、天空著色的顏色、地面背景上需要著色位置的空間角、地面背景著色的一系列RGB顏色的skyAngle域、skyColor域、groundAngle域和groundColor域等構成;視點Viewpoint節點主要由用于設定視點在VRML場景中的空間位置的position域等組成;導航NavigationInfo節點主要由用于設定瀏覽者漫游類型的type域等構成;點光源PointLight節點主要由用于設定點光源在坐標系中的位置的location域等構成。
要實現隧道工程數值模擬的虛擬交互,需通過IndexedFaceSet節點和Appearance節點顯示隧道工程數值模擬的造型和外觀,通過空間背景Backgroung節點、視點Viewpoint節點、導航NavigationInfo節點和點光源PointLight節點構建更為逼真的虛擬場景,關鍵技術是為coord域、texCoord域、solid域、material域、texture域、skyAngle域、skyColor域、groundAngle域和groundColor域、position域、type域及location域等設定準確的域值。
通過VRML構建虛擬場景有2種方式,第一種方式是直接通過VRML編寫造型節點、點集節點和面集節點等建立物體模型,然后添加各類場景節點從而構造出一個虛擬世界;第二種方式是通過三維建模軟件建立模型,而后將其他格式的模型文件轉換成VRML格式文件,最終在VRML格式文件中添加所需的場景節點從而構造出一個虛擬世界。由于本文實現的是數值模擬結果文件的三維可視化,所以采用第二種方式將隧道工程數值模擬結果文件轉化為可交互的三維虛擬場景文件。
數據轉換與處理分為3個步驟:第一步,采用ANSYS軟件對工程案例進行數值建模和計算,并將結果輸出為“*.rst”格式文件。第二步,采用科學工程可視化與后處理軟件EnSight10.2讀取“*.rst”格式文件,并將“*.rst”格式文件轉換成實體模型,通過軟件編輯功能對隧道工程數值模擬模型進行修改處理,然后利用輸出接口程序“幾何實體至VRML”導出處理后的三維結果模型,生成“*.wrl”格式文件。第三步采用VrmlPad編輯器對“*.wrl”格式文件進行節點調試與編譯。
VRML格式文件的展示方式有2種,第一種是通過VRML瀏覽器直接進行全景交互瀏覽,第二種是通過相應的虛擬現實設備進行沉浸式全景交互體驗。采用第一種方式進行瀏覽時,常用的瀏覽器是BS Contact瀏覽器,BS Contact瀏覽器可直接讀取“*.wrl”文件并具有一定的三維立體視覺體驗;采用第二種方式進行沉浸式全景交互體驗時,需要對虛擬現實設備進行一定的設置,以HTC設備為例,需在HTC設備配套的steam平臺中添加BS Contact瀏覽插件,然后通過BS Contact打開相應的“*.wrl”文件即可進行沉浸式全景交互體驗。
以某開挖隧道工程為例,根據工程實況運用記事本編寫TXT格式命令流,利用ANSYS軟件讀取TXT格式命令流,并將TXT格式數據轉化為隧道工程數值模型,通過軟件計算功能對隧道圍巖的變形進行計算分析,得到位移云圖,并將計算結果輸出為RST格式文件。該位移云圖是由一個二維剖面來表示,不僅表現形式十分單調,還無法展示隧道內表面的圍巖變形情況。而技術人員只能通過這些圖片來研究隧道圍巖變形失穩過程,當技術人員讀取數值模擬結果時還需想象其對應的空間位置,使得整個研究過程十分不便,解決該問題的最好方式是將二維的云圖轉化為三維可視化的場景。
為實現隧道工程數值模擬的三維可視化,可通過En-Sight軟件對ANSYS的結果文件進行數據處理與轉換,最終實現ANSYS與VRML的數據耦合。利用EnSight軟件讀取“*.rst”格式文件,并將“*.rst”格式文件轉換成隧道工程數值模型,再通過軟件編輯功能將“連續著色單元變量”設置為調色板首選項,著色變量設置為“Displacement”,元素變量著色更改為節點變量著色等,然后利用輸出接口程序“幾何實體至VRML”導出處理后的三維結果模型,并生成“*.wrl”格式文件。
經EnSight處理轉換后的數據雖然已具有三維可視化功能,但其場景還存在缺陷,需通過VrmlPad編輯器對“*.wrl”格式文件進行節點調試和編譯后才能進行虛擬交互體驗。根據隧道工程數值模型的原點坐標,運用VrmlPad編輯器對VRML場景中視點Viewpoint節點的position域的域值進行更改,并編寫用于設置空間背景的Backgroung節點的skyAngle域、skyColor域、groundAngle域及groundColor域、用于設定瀏覽者漫游類型的導航NavigationInfo節點的type域及用于設定點光源在坐標系中的位置的點光源PointLight節點的location域,最終形成可交互的隧道工程數值模擬三維可視化場景。
當觀察者戴上VR設備后,可以身臨其境地進入隧道模型之中,并能在隧道中走動和觀看隧道圍巖變形數據,不僅彌補了傳統數值模擬中表現形式單調、數值模擬與空間位置對應不直觀的缺點,還增強了技術人員的視覺感受和互動性。
本文基于VRML語言編譯了隧道工程數值模擬的結果文件,并將其成功地應用到隧道工程數值模擬的三維可視化中。通過本文的研究,得出以下結論:
(1)本文提出的基于虛擬現實技術的隧道工程數值模擬三維可視化方法,既繼承了數值模擬提供的位移、應力等圍巖信息,又融合了虛擬現實技術的顯示逼真和互動性強的優勢,為隧道工程數值模擬的虛擬現實展示提供了一條新思路,滿足隧道工程數值模擬對虛擬現實技術的需求,具有較強的應用推廣價值。
(2)EnSight為隧道工程數值模擬三維可視化提供了數據轉換接口,VRML語言為隧道工程數值模擬三維可視化提供了虛擬場景環境,將虛擬現實技術應用于隧道工程數值模擬的條件已經非常成熟。
(3)以EnSight作為ANSYS與VRML的數據耦合轉化接口,便于將虛擬現實技術與其他數值模擬軟件(如ABAQUS等)耦合,增強了數值模擬三維可視化的靈活性。
(4)本文的隧道工程數值模擬三維可視化數據轉化接口是通過EnSight軟件手動轉換的,在以后的研究中,將改進數據轉化接口,提高轉化效率,同時研究如何實現其他數值模擬軟件與虛擬現實技術的耦合。