湯凱樂,周 萍,馬海博,張 健,李家棟,周 謙,2(.中南大學 能源科學與工程學院,湖南 長沙40083;2.普渡大學 蓋萊默校區(qū)可視化與仿真創(chuàng)新中心,印第安納州哈蒙德 46323)
基于Unity3D虛擬基夫賽特爐的實現(xiàn)
湯凱樂1,周 萍1,馬海博1,張 健1,李家棟1,周 謙1,2
(1.中南大學 能源科學與工程學院,湖南 長沙410083;2.普渡大學 蓋萊默校區(qū)可視化與仿真創(chuàng)新中心,印第安納州哈蒙德 46323)
冶金生產(chǎn)過程操作環(huán)境惡劣,設(shè)備內(nèi)部的相關(guān)信息難以直接獲取,阻礙了操作與自動控制水平的提高。本文以基夫賽特爐為例,提出了計算流體力學(Computational Fluid Dynamics)數(shù)據(jù)與U-nity3D平臺相結(jié)合的方法,通過專業(yè)的后處理軟件對計算數(shù)據(jù)進行了篩選,建立了一套方便快捷的按鈕交互系統(tǒng),同時對控制沉浸式漫游與視角的相關(guān)腳本進行了二次開發(fā),利用Unity3D中的動畫系統(tǒng),對閃速冶煉過程中基夫賽特爐內(nèi)的氣粒兩相流的運動、火焰形狀以及熔體運動進行了全方位立體的展示,最終建立了一個可在PC端運行的沉浸式虛擬基夫賽特爐,可有效提升操作人員對閃速煉鉛過程機理的認知度和把握度。
Unity3D;虛擬現(xiàn)實;計算流體力學;基夫賽特爐;沉浸式漫游
基夫賽特煉鉛法屬于閃速熔煉工藝,具有原料適應(yīng)性強、環(huán)境污染小和能耗低等特點,是較為清潔的直接煉鉛方法[1]。目前,現(xiàn)場操作人員只能通過提取諸如爐壁溫度、冷卻水進出口流量和壓力等信息來間接了解爐內(nèi)的生產(chǎn)狀況,對基夫賽特爐內(nèi)冶金反應(yīng)過程信息缺乏了解,不利于閃速煉鉛工藝生產(chǎn)水平的進步。
隨著計算機技術(shù)的進步,計算流體力學[2](Computational Fluid Dynamics,簡稱CFD)已逐漸成為解決各種流體流動與傳熱問題的強有力工具,被廣泛應(yīng)用于冶金、環(huán)境、流體工程等各種技術(shù)科學領(lǐng)域。然而,其原始的計算數(shù)據(jù)需要依賴于諸如Tecplot 360、Paraview和ANSYS Fluent等專業(yè)的后處理軟件才能得以展示。在復雜的流動和傳熱現(xiàn)象下,脫離生產(chǎn)過程的整體環(huán)境,僅采用其內(nèi)部有限位置的矢量圖或者流線來描述與此相關(guān)的物理化學過程,勢必會遺漏很多重要信息,也不便于研究整體的流動趨勢[3]。
近年來逐漸興起的虛擬現(xiàn)實技術(shù)為解決這些問題提供了幫助。虛擬現(xiàn)實技術(shù)是利用計算機生成一種模擬環(huán)境,實現(xiàn)用戶與該環(huán)境直接進行自然交互的技術(shù),在軍事與航天工業(yè)、醫(yī)療、教育、游戲、室內(nèi)設(shè)計等領(lǐng)域有著廣泛的應(yīng)用[4-7]。
在虛擬現(xiàn)實技術(shù)與數(shù)值計算結(jié)合的方面,目前已經(jīng)有了部分成果。Matthias[8]利用Unity3D與CFD結(jié)合展示了城市氣候的變化,Dong[9-10]等人在高爐煉鐵中將虛擬現(xiàn)實與CFD結(jié)合并取得了許多成果,Zhang[11]開發(fā)出了一個虛擬的鋁電解槽,而對于煉鉛行業(yè),這方面的嘗試還很少。
文中以基夫賽特爐為例,基于計算流體力學的數(shù)值模擬結(jié)果,通過專業(yè)的開源軟件對相關(guān)數(shù)據(jù)進行后處理,利用Unity3D引擎進行二次開發(fā),配合3DMAX搭建的虛擬環(huán)境,建立一個可在PC端運行的沉浸式漫游交互程序,將基夫賽特爐內(nèi)的閃速冶煉過程真實地反映出來,對幫助現(xiàn)場操作人員更加直觀地了解生產(chǎn)過程、優(yōu)化操作具有重要的意義。
1.1 CFD數(shù)據(jù)可視化
基夫賽特爐閃速熔煉過程可視化的主要步驟如圖1所示。首先根據(jù)基夫賽特爐的設(shè)計參數(shù),利用現(xiàn)有的建模軟件,如AutodeskCAD、Pro-E和Solidworks等,建立一個三維的基夫賽特爐模型并進行網(wǎng)格劃分,這一模型將作為后續(xù)冶金反應(yīng)過程數(shù)值仿真的基礎(chǔ)。隨后,使用計算流體力學軟件,如ANSYS Fluent,采用合適的物理化學模型[12],并結(jié)合現(xiàn)場測得的各項物性參數(shù)和邊界條件,對基夫賽特爐內(nèi)的氣粒兩相流動、傳熱以及化學反應(yīng)過程進行數(shù)值模擬。在完成相關(guān)數(shù)值計算之后,可將含有海量信息的結(jié)果文件以*.Inp的格式導出。隨后,運用開源化的后處理軟件,例如ParaView,讀取數(shù)值計算的結(jié)果文件,這類后處理軟件能夠允許用戶根據(jù)自身的需求進行二次開發(fā),使得大量冗余的數(shù)據(jù)在這一步被過濾掉,后處理軟件的當前工作界面就形成了一個包含特定計算結(jié)果的“場景”,用戶需要將這一“場景”完整地導出為Virtual Model(VRML)格式,以便于和虛擬場景進行融合。
圖1 CFD數(shù)據(jù)可視化流程
1.2 虛擬場景構(gòu)建
在虛擬場景的構(gòu)建方面,為了盡可能真實地還原基夫賽特爐及其周邊廠區(qū)的環(huán)境,需要提前實地考察和采集地形圖和區(qū)域分布圖,建立虛擬場景中各個物體單元的紋理庫[13]。在建立紋理庫的時候,為了結(jié)果展示的美觀和準確,可以借助一些圖片處理工具,例如Photoshop,對采集的照片進行一定程度的修理。在虛擬場景構(gòu)建的過程中,除基夫賽特爐外,整個廠區(qū)還存在有大量的冶煉和輔助設(shè)備,由于這一類對象目前不在數(shù)值計算結(jié)果中,必須利用如3ds MAX在內(nèi)的三維動畫渲染和制作軟件重新構(gòu)建這些對象。最后,將3dsMAX建立的模型及流場數(shù)據(jù)模型導出生成*.FBX格式的文件,導入Unity3D中,在Unity3D中整合之前各個步驟的結(jié)果,并最終集成一個包含真實物理模型與CFD計算數(shù)據(jù)的虛擬世界。虛擬場景實現(xiàn)流程如圖2所示。
2.1 圖形界面交互
圖形界面交互是虛擬基夫賽特爐開發(fā)過程中的重要環(huán)節(jié)之一。圖形界面的設(shè)計既要全面、直觀地提供CFD的計算數(shù)據(jù),供用戶閱讀和分析,又要簡潔、清晰地向用戶展示虛擬交互程序的邏輯結(jié)構(gòu)和層次,便于用戶進行操作。然而,直接利用腳本編寫圖形界面交互的方式不夠直觀,編寫的按鈕位置不可見,對于建立含大量按鈕的交互系統(tǒng)十分繁瑣。如浸式漫游。
圖2 虛擬場景構(gòu)建流程
圖3 UI系統(tǒng)示意圖
圖4 沉浸式交互程序的功能實現(xiàn)示意圖
2.2 動畫系統(tǒng)
為了使基夫賽特閃速煉鉛過程更加真實,本程序利用Unity3D中豐富的粒子系統(tǒng),通過編輯粒子軌跡及其材質(zhì),對爐料及焦炭的投入,爐頂部噴嘴的爐料噴吹,燃燒,爐底熔體運動,粗鉛、冰銅、爐渣流圖3所示,Unity3D提供了便捷的圖形界面交互系統(tǒng)建立方式,每一個圖形界面交互元件都可以作為對象,通過點擊和拖拽,就可以確定操作面板和按鈕的位置。
如圖4所示,根據(jù)三維效果的需求,可以在開始界面定義各種功能按鈕,每個功能按鈕對應(yīng)著不同的效果。在基夫賽特爐程序中,開始界面上一共定義了5個功能按鈕,分別為整體概覽、透明度調(diào)節(jié)、三維仿真結(jié)果查看、動畫顯示、幫助。點擊此5個按鈕中的一個,顯示對應(yīng)功能所對應(yīng)的功能按鈕。如在概覽功能部分,針對基夫賽特爐的6個關(guān)鍵部分,提供了這六個部位的視角切換。用戶點擊對應(yīng)的按鈕,可以切換至對應(yīng)的視角。每個視角的攝像機都附著了移動腳本。使用戶可以選擇在不同部位開始進行沉出,以及煙道和煙囪氣體的顯示建立了動畫展示。
2.3 沉浸式漫游
程序最重要功能之一就是沉浸式漫游[14]。為了實現(xiàn)這個功能,本程序選擇了第一人視角,直接在攝像機上附著移動與視角變換代碼,使之可以根據(jù)鍵盤指示移動,及點擊鼠標移動視角。除了利用Unity腳本實現(xiàn)前后左右的移動外,為了使沉浸式漫游更靈活,添加了如下所示的代碼來實現(xiàn)垂直移動:
floatmoveHorizontal = Input.GetAxis (" Horizontal");
floatmoveVertical = Input.GetAxis (" Vertical");
Vector3 movement = new Vector3 (moveHorizontal,0.0f,moveVertical);
transform.Translate(movement*speed*Time.deltaTime);
if(Input.GetKey(KeyCode.E))
transform.position+=Vector3.up* speed*(Time.deltaTime);
else if(Input.GetKey(KeyCode.C))
transform.position += -Vector3. up*speed*(Time.deltaTime);
對于鼠標控制,需要能夠在移動鼠標旋轉(zhuǎn)視角的同時,點擊按鈕實現(xiàn)交互。本程序改進了Unity3D中控制鼠標旋轉(zhuǎn)的代碼,使得用戶在點擊鼠標右鍵的同時可以旋轉(zhuǎn)視角,相應(yīng)的代碼如下:
if(Input.GetMouseButton(1)){
if(axes==RotationAxes.MouseXAndY){
floatrotationX=transform.localEulerAngles.y +Input.GetAxis("Mouse X")*sensitivityX;
rotationY += Input.GetAxis("Mouse Y")*sensitivityY;
rotationY = Mathf.Clamp (rotationY,minimumY,maximumY);
transform.localEulerAngles= new Vector3 (-rotationY,rotationX,0);
}else if(axes==RotationAxes.MouseX){
transform.Rotate(0,Input.GetAxis("Mouse X")*sensitivityX,0);
}else rotationY+=Input.GetAxis("Mouse Y")*sensitivityY;
rotationY = Mathf.Clamp (rotationY,minimumY,maximumY);
transform.localEulerAngles=new Vector3(-rotationY,transform.localEulerAngles.y,0);
}}
本程序主要實現(xiàn)了對三維基夫賽特爐的虛擬漫游及其反應(yīng)塔部分的CFD數(shù)值模擬數(shù)據(jù)展示。其中CFD數(shù)值模擬數(shù)據(jù)計算結(jié)果與現(xiàn)場測試結(jié)果進行對比[15],誤差在可接受范圍之內(nèi)。表明利用程序中數(shù)值模擬的仿真數(shù)據(jù)指導現(xiàn)場生產(chǎn)是可行的。圖5展示了本程序的幾個視角,每個視角都可以通過鍵盤鼠標操作進行自由移動,通過鍵盤WSAD鍵實現(xiàn)上下左右的移動,配合點擊鼠標右鍵并移動鼠標控制移動方向,同時可以點選程序左上角的按鈕進行交互操作。
圖5 程序主要視角
在三維仿真選擇界面,可選擇不同的仿真工況顯示。本程序?qū)肓藘煞N工況的仿真數(shù)據(jù),圖6(a)為閃速爐同時開啟4個噴嘴時候的爐內(nèi)流場形狀,圖6(b)為開啟2個噴嘴時候的爐內(nèi)流場形狀。右上角為速度標尺,隨著顏色的不同展示出速度的大小。其中數(shù)值仿真與虛擬建模都是按照相同比例進行,流線中每個坐標都對應(yīng)于實際基夫賽特爐中的相應(yīng)部位,這樣即使是沒有專業(yè)知識的使用者可以通過點擊按鈕的形式調(diào)出閃速爐內(nèi)流場信息,通過可視化顯示,可以清晰地了解不同工況下流場的形狀、速度分布、回流形式、以及氣流對爐墻的沖刷作用等。
圖6 三維仿真結(jié)果流線示意圖
本程序通過Unity3D發(fā)布,具有多平臺移植性??梢赃\行在Windows平臺,網(wǎng)頁端,及ios、android手機端。在Windows平臺上導出可運行的exe文件,任何人都可以方便的使用。在網(wǎng)頁端最后生成的是一個網(wǎng)頁文件和一個.unity3D文件,通過服務(wù)器上的IIS配置就能輕松實現(xiàn)網(wǎng)絡(luò)發(fā)布。
文中以基夫賽特爐為例,創(chuàng)新性的結(jié)合計算流體力學與Unity3D平臺,建立了一個虛擬的三維基夫賽特爐,形象地展示了閃速冶煉過程中基夫賽特爐內(nèi)的爐料、火焰以及熔漿的動態(tài)變化,為提高閃速煉鉛技術(shù)的操作與優(yōu)化控制水平提供了技術(shù)支撐。同時,開發(fā)的沉浸式漫游交互程序可在任意Windows平臺上運行,具有較強的適應(yīng)性。本文所展示的可視化方法,能夠應(yīng)用在冶金行業(yè)中的各個領(lǐng)域,對應(yīng)指導生產(chǎn)、優(yōu)化設(shè)計以及科研教學具有較為深遠的意義。本程序還只是以虛擬基夫賽特爐作為計算流體力學與虛擬現(xiàn)實結(jié)合的初步探索,對于更加豐富形象的數(shù)據(jù)顯示,更便捷的交互系統(tǒng),還需要進一步研究。
[1]賀菊香.基夫賽特直接煉鉛技術(shù)的應(yīng)用前景[J].湖南有色金屬,2011(6):20-23.
[2]余金偉,馮曉鋒.計算流體力學發(fā)展綜述[J].現(xiàn)代制造技術(shù)與裝備,2013(6):25-26.
[3]周萍,劉維超,夏中衛(wèi),等.閃速煉鉛爐多物理場耦合模擬及可視化分析 [J].熱科學與技術(shù),2014,3 (2):182-187.
[4]字建香,嚴紅平,葉軍濤.一個沉浸式場景漫游系統(tǒng)的構(gòu)建 [J].計算機工程與應(yīng)用,2013,49 (4):192-196.
[5]陳浩磊,鄒湘軍,陳燕,等.虛擬現(xiàn)實技術(shù)的最新發(fā)展與展望[J].中國科技論文,2011,6(1):1-5.
[6]李敏,韓豐.虛擬現(xiàn)實技術(shù)綜述 [J].軟件導刊,2010,9(6):142-144.
[7]Borgers A,Brouwer M,KunenT,et al.A virtual reality toolto measure shoppers’ tenantmix preferences[J].Computers Environment&Urban Systems,2010,34(5):377-388.
[8]Matthias Berger, VerinaCristie.CFD Postprocessing in Unity3D☆ [J].Procedia Computer Science,2015,51:2913-2922.
[9]Fu D,Rahman M T,Chen Y,et al.Application of the blast furnace shaft CFD simulator[C]//寶鋼學術(shù)年會,2013.
[10]Fu D,Wu B,Chen G,et al.Virtual reality visualization of CFD simulation for iron/steelmaking processes[C]//Proceedings of the 14th International Heat Transfer Conference.Washington,USA:2010.
[11]Zhang H,Zhou C Q,Wu B,et al.A virtual aluminum reduction cell[J].The Journal of The Minerals Metals&Materials Society,2013,65(11): 1452-1458.
[12]謝德成.基夫賽特爐鉛熔煉過程數(shù)值仿真研究[D].長沙:中南大學,2014.
[13]王星捷,李春花.基于Unity3D平臺的三維虛擬城市研究與應(yīng)用[J].計算機技術(shù)與發(fā)展,2013,23(4): 241-244.
[14]朱惠娟.基于Unity3D的虛擬漫游系統(tǒng)[J].計算機系統(tǒng)應(yīng)用,2012,21(10):36-39.
[15]張健.基夫賽特爐反應(yīng)塔內(nèi)多場耦合數(shù)值仿真研究[D].長沙:中南大學,2015.
The development of virtual KIVCET furnace based on the Unity3D
TANG Kai-le1,ZHOU Ping1,MA Hai-bo1,ZHANG Jian1,LI Jia-dong1,Chenn Q.Zhou1,2
(1.School of Energy Science and Engineering,Central South University,Changsha 410083,China;2.Center for Innovation through Visualization and Simulation,Purdue University Calumet,Hammond 46323,USA)
The metallurgical processes are usually operated under terrible conditions.The information inside the chemical reactors is unlikely to be obtained directly as well.Those difficulties make the operation and automatic control of the chemical reactors even harder to improve.In order to overcome such defects,the present research focus on the KIVCET furnace and combines computational fluid dynamics and the Unity 3D engine to develop an immersive-interactive application,which can be operated on any standalone installed with Windows system.During the development,several professional post-processing software were applied to filtrate the simulation data.While the interaction system was built up by multiple buttons,and each button corresponds to a unique function.In addition,part of the code in Unity 3D controlling roaming and camera were improved.Eventually,a virtual KIVCET furnace was created,and the phenomena inside the furnace,such as charging material,frame,exhaust gas,and liquid bath,can be visualized,it effectively improve the recognition and acknowledgement of the operators about the flash smelting process of lead.
Unity3D;virtual reality;computational fluid dynamics;KIVCET furnace;immersive roaming
TP302
A
1674-6236(2017)07-0010-05
2016-06-27稿件編號:201606203
國家自然科學創(chuàng)新研究群體科學基金(61321003)
湯凱樂(1991—),男,湖南益陽人,碩士研究生。研究方向:動力工程與工程熱物理。