湯凱樂,周 萍,馬海博,張 健,李家棟,周 謙,2(.中南大學 能源科學與工程學院,湖南 長沙40083;2.普渡大學 蓋萊默校區可視化與仿真創新中心,印第安納州哈蒙德 46323)
基于Unity3D虛擬基夫賽特爐的實現
湯凱樂1,周 萍1,馬海博1,張 健1,李家棟1,周 謙1,2
(1.中南大學 能源科學與工程學院,湖南 長沙410083;2.普渡大學 蓋萊默校區可視化與仿真創新中心,印第安納州哈蒙德 46323)
冶金生產過程操作環境惡劣,設備內部的相關信息難以直接獲取,阻礙了操作與自動控制水平的提高。本文以基夫賽特爐為例,提出了計算流體力學(Computational Fluid Dynamics)數據與U-nity3D平臺相結合的方法,通過專業的后處理軟件對計算數據進行了篩選,建立了一套方便快捷的按鈕交互系統,同時對控制沉浸式漫游與視角的相關腳本進行了二次開發,利用Unity3D中的動畫系統,對閃速冶煉過程中基夫賽特爐內的氣粒兩相流的運動、火焰形狀以及熔體運動進行了全方位立體的展示,最終建立了一個可在PC端運行的沉浸式虛擬基夫賽特爐,可有效提升操作人員對閃速煉鉛過程機理的認知度和把握度。
Unity3D;虛擬現實;計算流體力學;基夫賽特爐;沉浸式漫游
基夫賽特煉鉛法屬于閃速熔煉工藝,具有原料適應性強、環境污染小和能耗低等特點,是較為清潔的直接煉鉛方法[1]。目前,現場操作人員只能通過提取諸如爐壁溫度、冷卻水進出口流量和壓力等信息來間接了解爐內的生產狀況,對基夫賽特爐內冶金反應過程信息缺乏了解,不利于閃速煉鉛工藝生產水平的進步。
隨著計算機技術的進步,計算流體力學[2](Computational Fluid Dynamics,簡稱CFD)已逐漸成為解決各種流體流動與傳熱問題的強有力工具,被廣泛應用于冶金、環境、流體工程等各種技術科學領域。然而,其原始的計算數據需要依賴于諸如Tecplot 360、Paraview和ANSYS Fluent等專業的后處理軟件才能得以展示。在復雜的流動和傳熱現象下,脫離生產過程的整體環境,僅采用其內部有限位置的矢量圖或者流線來描述與此相關的物理化學過程,勢必會遺漏很多重要信息,也不便于研究整體的流動趨勢[3]。
近年來逐漸興起的虛擬現實技術為解決這些問題提供了幫助。虛擬現實技術是利用計算機生成一種模擬環境,實現用戶與該環境直接進行自然交互的技術,在軍事與航天工業、醫療、教育、游戲、室內設計等領域有著廣泛的應用[4-7]。
在虛擬現實技術與數值計算結合的方面,目前已經有了部分成果。Matthias[8]利用Unity3D與CFD結合展示了城市氣候的變化,Dong[9-10]等人在高爐煉鐵中將虛擬現實與CFD結合并取得了許多成果,Zhang[11]開發出了一個虛擬的鋁電解槽,而對于煉鉛行業,這方面的嘗試還很少。
文中以基夫賽特爐為例,基于計算流體力學的數值模擬結果,通過專業的開源軟件對相關數據進行后處理,利用Unity3D引擎進行二次開發,配合3DMAX搭建的虛擬環境,建立一個可在PC端運行的沉浸式漫游交互程序,將基夫賽特爐內的閃速冶煉過程真實地反映出來,對幫助現場操作人員更加直觀地了解生產過程、優化操作具有重要的意義。
1.1 CFD數據可視化
基夫賽特爐閃速熔煉過程可視化的主要步驟如圖1所示。首先根據基夫賽特爐的設計參數,利用現有的建模軟件,如AutodeskCAD、Pro-E和Solidworks等,建立一個三維的基夫賽特爐模型并進行網格劃分,這一模型將作為后續冶金反應過程數值仿真的基礎。隨后,使用計算流體力學軟件,如ANSYS Fluent,采用合適的物理化學模型[12],并結合現場測得的各項物性參數和邊界條件,對基夫賽特爐內的氣粒兩相流動、傳熱以及化學反應過程進行數值模擬。在完成相關數值計算之后,可將含有海量信息的結果文件以*.Inp的格式導出。隨后,運用開源化的后處理軟件,例如ParaView,讀取數值計算的結果文件,這類后處理軟件能夠允許用戶根據自身的需求進行二次開發,使得大量冗余的數據在這一步被過濾掉,后處理軟件的當前工作界面就形成了一個包含特定計算結果的“場景”,用戶需要將這一“場景”完整地導出為Virtual Model(VRML)格式,以便于和虛擬場景進行融合。

圖1 CFD數據可視化流程
1.2 虛擬場景構建
在虛擬場景的構建方面,為了盡可能真實地還原基夫賽特爐及其周邊廠區的環境,需要提前實地考察和采集地形圖和區域分布圖,建立虛擬場景中各個物體單元的紋理庫[13]。在建立紋理庫的時候,為了結果展示的美觀和準確,可以借助一些圖片處理工具,例如Photoshop,對采集的照片進行一定程度的修理。在虛擬場景構建的過程中,除基夫賽特爐外,整個廠區還存在有大量的冶煉和輔助設備,由于這一類對象目前不在數值計算結果中,必須利用如3ds MAX在內的三維動畫渲染和制作軟件重新構建這些對象。最后,將3dsMAX建立的模型及流場數據模型導出生成*.FBX格式的文件,導入Unity3D中,在Unity3D中整合之前各個步驟的結果,并最終集成一個包含真實物理模型與CFD計算數據的虛擬世界。虛擬場景實現流程如圖2所示。
2.1 圖形界面交互
圖形界面交互是虛擬基夫賽特爐開發過程中的重要環節之一。圖形界面的設計既要全面、直觀地提供CFD的計算數據,供用戶閱讀和分析,又要簡潔、清晰地向用戶展示虛擬交互程序的邏輯結構和層次,便于用戶進行操作。然而,直接利用腳本編寫圖形界面交互的方式不夠直觀,編寫的按鈕位置不可見,對于建立含大量按鈕的交互系統十分繁瑣。如浸式漫游。

圖2 虛擬場景構建流程

圖3 UI系統示意圖

圖4 沉浸式交互程序的功能實現示意圖
2.2 動畫系統
為了使基夫賽特閃速煉鉛過程更加真實,本程序利用Unity3D中豐富的粒子系統,通過編輯粒子軌跡及其材質,對爐料及焦炭的投入,爐頂部噴嘴的爐料噴吹,燃燒,爐底熔體運動,粗鉛、冰銅、爐渣流圖3所示,Unity3D提供了便捷的圖形界面交互系統建立方式,每一個圖形界面交互元件都可以作為對象,通過點擊和拖拽,就可以確定操作面板和按鈕的位置。
如圖4所示,根據三維效果的需求,可以在開始界面定義各種功能按鈕,每個功能按鈕對應著不同的效果。在基夫賽特爐程序中,開始界面上一共定義了5個功能按鈕,分別為整體概覽、透明度調節、三維仿真結果查看、動畫顯示、幫助。點擊此5個按鈕中的一個,顯示對應功能所對應的功能按鈕。如在概覽功能部分,針對基夫賽特爐的6個關鍵部分,提供了這六個部位的視角切換。用戶點擊對應的按鈕,可以切換至對應的視角。每個視角的攝像機都附著了移動腳本。使用戶可以選擇在不同部位開始進行沉出,以及煙道和煙囪氣體的顯示建立了動畫展示。
2.3 沉浸式漫游
程序最重要功能之一就是沉浸式漫游[14]。為了實現這個功能,本程序選擇了第一人視角,直接在攝像機上附著移動與視角變換代碼,使之可以根據鍵盤指示移動,及點擊鼠標移動視角。除了利用Unity腳本實現前后左右的移動外,為了使沉浸式漫游更靈活,添加了如下所示的代碼來實現垂直移動:
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);
對于鼠標控制,需要能夠在移動鼠標旋轉視角的同時,點擊按鈕實現交互。本程序改進了Unity3D中控制鼠標旋轉的代碼,使得用戶在點擊鼠標右鍵的同時可以旋轉視角,相應的代碼如下:
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);
}}
本程序主要實現了對三維基夫賽特爐的虛擬漫游及其反應塔部分的CFD數值模擬數據展示。其中CFD數值模擬數據計算結果與現場測試結果進行對比[15],誤差在可接受范圍之內。表明利用程序中數值模擬的仿真數據指導現場生產是可行的。圖5展示了本程序的幾個視角,每個視角都可以通過鍵盤鼠標操作進行自由移動,通過鍵盤WSAD鍵實現上下左右的移動,配合點擊鼠標右鍵并移動鼠標控制移動方向,同時可以點選程序左上角的按鈕進行交互操作。

圖5 程序主要視角
在三維仿真選擇界面,可選擇不同的仿真工況顯示。本程序導入了兩種工況的仿真數據,圖6(a)為閃速爐同時開啟4個噴嘴時候的爐內流場形狀,圖6(b)為開啟2個噴嘴時候的爐內流場形狀。右上角為速度標尺,隨著顏色的不同展示出速度的大小。其中數值仿真與虛擬建模都是按照相同比例進行,流線中每個坐標都對應于實際基夫賽特爐中的相應部位,這樣即使是沒有專業知識的使用者可以通過點擊按鈕的形式調出閃速爐內流場信息,通過可視化顯示,可以清晰地了解不同工況下流場的形狀、速度分布、回流形式、以及氣流對爐墻的沖刷作用等。

圖6 三維仿真結果流線示意圖
本程序通過Unity3D發布,具有多平臺移植性。可以運行在Windows平臺,網頁端,及ios、android手機端。在Windows平臺上導出可運行的exe文件,任何人都可以方便的使用。在網頁端最后生成的是一個網頁文件和一個.unity3D文件,通過服務器上的IIS配置就能輕松實現網絡發布。
文中以基夫賽特爐為例,創新性的結合計算流體力學與Unity3D平臺,建立了一個虛擬的三維基夫賽特爐,形象地展示了閃速冶煉過程中基夫賽特爐內的爐料、火焰以及熔漿的動態變化,為提高閃速煉鉛技術的操作與優化控制水平提供了技術支撐。同時,開發的沉浸式漫游交互程序可在任意Windows平臺上運行,具有較強的適應性。本文所展示的可視化方法,能夠應用在冶金行業中的各個領域,對應指導生產、優化設計以及科研教學具有較為深遠的意義。本程序還只是以虛擬基夫賽特爐作為計算流體力學與虛擬現實結合的初步探索,對于更加豐富形象的數據顯示,更便捷的交互系統,還需要進一步研究。
[1]賀菊香.基夫賽特直接煉鉛技術的應用前景[J].湖南有色金屬,2011(6):20-23.
[2]余金偉,馮曉鋒.計算流體力學發展綜述[J].現代制造技術與裝備,2013(6):25-26.
[3]周萍,劉維超,夏中衛,等.閃速煉鉛爐多物理場耦合模擬及可視化分析 [J].熱科學與技術,2014,3 (2):182-187.
[4]字建香,嚴紅平,葉軍濤.一個沉浸式場景漫游系統的構建 [J].計算機工程與應用,2013,49 (4):192-196.
[5]陳浩磊,鄒湘軍,陳燕,等.虛擬現實技術的最新發展與展望[J].中國科技論文,2011,6(1):1-5.
[6]李敏,韓豐.虛擬現實技術綜述 [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]//寶鋼學術年會,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]謝德成.基夫賽特爐鉛熔煉過程數值仿真研究[D].長沙:中南大學,2014.
[13]王星捷,李春花.基于Unity3D平臺的三維虛擬城市研究與應用[J].計算機技術與發展,2013,23(4): 241-244.
[14]朱惠娟.基于Unity3D的虛擬漫游系統[J].計算機系統應用,2012,21(10):36-39.
[15]張健.基夫賽特爐反應塔內多場耦合數值仿真研究[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
國家自然科學創新研究群體科學基金(61321003)
湯凱樂(1991—),男,湖南益陽人,碩士研究生。研究方向:動力工程與工程熱物理。