湯凱樂,周 萍,馬海博,張 健,李家棟,周 謙,2(.中南大學(xué) 能源科學(xué)與工程學(xué)院,湖南 長沙40083;2.普渡大學(xué) 蓋萊默校區(qū)可視化與仿真創(chuàng)新中心,印第安納州哈蒙德 46323)
基于Unity3D虛擬基夫賽特爐的實(shí)現(xiàn)
湯凱樂1,周 萍1,馬海博1,張 健1,李家棟1,周 謙1,2
(1.中南大學(xué) 能源科學(xué)與工程學(xué)院,湖南 長沙410083;2.普渡大學(xué) 蓋萊默校區(qū)可視化與仿真創(chuàng)新中心,印第安納州哈蒙德 46323)
冶金生產(chǎn)過程操作環(huán)境惡劣,設(shè)備內(nèi)部的相關(guān)信息難以直接獲取,阻礙了操作與自動(dòng)控制水平的提高。本文以基夫賽特爐為例,提出了計(jì)算流體力學(xué)(Computational Fluid Dynamics)數(shù)據(jù)與U-nity3D平臺(tái)相結(jié)合的方法,通過專業(yè)的后處理軟件對(duì)計(jì)算數(shù)據(jù)進(jìn)行了篩選,建立了一套方便快捷的按鈕交互系統(tǒng),同時(shí)對(duì)控制沉浸式漫游與視角的相關(guān)腳本進(jìn)行了二次開發(fā),利用Unity3D中的動(dòng)畫系統(tǒng),對(duì)閃速冶煉過程中基夫賽特爐內(nèi)的氣粒兩相流的運(yùn)動(dòng)、火焰形狀以及熔體運(yùn)動(dòng)進(jìn)行了全方位立體的展示,最終建立了一個(gè)可在PC端運(yùn)行的沉浸式虛擬基夫賽特爐,可有效提升操作人員對(duì)閃速煉鉛過程機(jī)理的認(rèn)知度和把握度。
Unity3D;虛擬現(xiàn)實(shí);計(jì)算流體力學(xué);基夫賽特爐;沉浸式漫游
基夫賽特?zé)掋U法屬于閃速熔煉工藝,具有原料適應(yīng)性強(qiáng)、環(huán)境污染小和能耗低等特點(diǎn),是較為清潔的直接煉鉛方法[1]。目前,現(xiàn)場操作人員只能通過提取諸如爐壁溫度、冷卻水進(jìn)出口流量和壓力等信息來間接了解爐內(nèi)的生產(chǎn)狀況,對(duì)基夫賽特爐內(nèi)冶金反應(yīng)過程信息缺乏了解,不利于閃速煉鉛工藝生產(chǎn)水平的進(jìn)步。
隨著計(jì)算機(jī)技術(shù)的進(jìn)步,計(jì)算流體力學(xué)[2](Computational Fluid Dynamics,簡稱CFD)已逐漸成為解決各種流體流動(dòng)與傳熱問題的強(qiáng)有力工具,被廣泛應(yīng)用于冶金、環(huán)境、流體工程等各種技術(shù)科學(xué)領(lǐng)域。然而,其原始的計(jì)算數(shù)據(jù)需要依賴于諸如Tecplot 360、Paraview和ANSYS Fluent等專業(yè)的后處理軟件才能得以展示。在復(fù)雜的流動(dòng)和傳熱現(xiàn)象下,脫離生產(chǎn)過程的整體環(huán)境,僅采用其內(nèi)部有限位置的矢量圖或者流線來描述與此相關(guān)的物理化學(xué)過程,勢必會(huì)遺漏很多重要信息,也不便于研究整體的流動(dòng)趨勢[3]。
近年來逐漸興起的虛擬現(xiàn)實(shí)技術(shù)為解決這些問題提供了幫助。虛擬現(xiàn)實(shí)技術(shù)是利用計(jì)算機(jī)生成一種模擬環(huán)境,實(shí)現(xiàn)用戶與該環(huán)境直接進(jìn)行自然交互的技術(shù),在軍事與航天工業(yè)、醫(yī)療、教育、游戲、室內(nèi)設(shè)計(jì)等領(lǐng)域有著廣泛的應(yīng)用[4-7]。
在虛擬現(xiàn)實(shí)技術(shù)與數(shù)值計(jì)算結(jié)合的方面,目前已經(jīng)有了部分成果。Matthias[8]利用Unity3D與CFD結(jié)合展示了城市氣候的變化,Dong[9-10]等人在高爐煉鐵中將虛擬現(xiàn)實(shí)與CFD結(jié)合并取得了許多成果,Zhang[11]開發(fā)出了一個(gè)虛擬的鋁電解槽,而對(duì)于煉鉛行業(yè),這方面的嘗試還很少。
文中以基夫賽特爐為例,基于計(jì)算流體力學(xué)的數(shù)值模擬結(jié)果,通過專業(yè)的開源軟件對(duì)相關(guān)數(shù)據(jù)進(jìn)行后處理,利用Unity3D引擎進(jìn)行二次開發(fā),配合3DMAX搭建的虛擬環(huán)境,建立一個(gè)可在PC端運(yùn)行的沉浸式漫游交互程序,將基夫賽特爐內(nèi)的閃速冶煉過程真實(shí)地反映出來,對(duì)幫助現(xiàn)場操作人員更加直觀地了解生產(chǎn)過程、優(yōu)化操作具有重要的意義。
1.1 CFD數(shù)據(jù)可視化
基夫賽特爐閃速熔煉過程可視化的主要步驟如圖1所示。首先根據(jù)基夫賽特爐的設(shè)計(jì)參數(shù),利用現(xiàn)有的建模軟件,如AutodeskCAD、Pro-E和Solidworks等,建立一個(gè)三維的基夫賽特爐模型并進(jìn)行網(wǎng)格劃分,這一模型將作為后續(xù)冶金反應(yīng)過程數(shù)值仿真的基礎(chǔ)。隨后,使用計(jì)算流體力學(xué)軟件,如ANSYS Fluent,采用合適的物理化學(xué)模型[12],并結(jié)合現(xiàn)場測得的各項(xiàng)物性參數(shù)和邊界條件,對(duì)基夫賽特爐內(nèi)的氣粒兩相流動(dòng)、傳熱以及化學(xué)反應(yīng)過程進(jìn)行數(shù)值模擬。在完成相關(guān)數(shù)值計(jì)算之后,可將含有海量信息的結(jié)果文件以*.Inp的格式導(dǎo)出。隨后,運(yùn)用開源化的后處理軟件,例如ParaView,讀取數(shù)值計(jì)算的結(jié)果文件,這類后處理軟件能夠允許用戶根據(jù)自身的需求進(jìn)行二次開發(fā),使得大量冗余的數(shù)據(jù)在這一步被過濾掉,后處理軟件的當(dāng)前工作界面就形成了一個(gè)包含特定計(jì)算結(jié)果的“場景”,用戶需要將這一“場景”完整地導(dǎo)出為Virtual Model(VRML)格式,以便于和虛擬場景進(jìn)行融合。
圖1 CFD數(shù)據(jù)可視化流程
1.2 虛擬場景構(gòu)建
在虛擬場景的構(gòu)建方面,為了盡可能真實(shí)地還原基夫賽特爐及其周邊廠區(qū)的環(huán)境,需要提前實(shí)地考察和采集地形圖和區(qū)域分布圖,建立虛擬場景中各個(gè)物體單元的紋理庫[13]。在建立紋理庫的時(shí)候,為了結(jié)果展示的美觀和準(zhǔn)確,可以借助一些圖片處理工具,例如Photoshop,對(duì)采集的照片進(jìn)行一定程度的修理。在虛擬場景構(gòu)建的過程中,除基夫賽特爐外,整個(gè)廠區(qū)還存在有大量的冶煉和輔助設(shè)備,由于這一類對(duì)象目前不在數(shù)值計(jì)算結(jié)果中,必須利用如3ds MAX在內(nèi)的三維動(dòng)畫渲染和制作軟件重新構(gòu)建這些對(duì)象。最后,將3dsMAX建立的模型及流場數(shù)據(jù)模型導(dǎo)出生成*.FBX格式的文件,導(dǎo)入U(xiǎn)nity3D中,在Unity3D中整合之前各個(gè)步驟的結(jié)果,并最終集成一個(gè)包含真實(shí)物理模型與CFD計(jì)算數(shù)據(jù)的虛擬世界。虛擬場景實(shí)現(xiàn)流程如圖2所示。
2.1 圖形界面交互
圖形界面交互是虛擬基夫賽特爐開發(fā)過程中的重要環(huán)節(jié)之一。圖形界面的設(shè)計(jì)既要全面、直觀地提供CFD的計(jì)算數(shù)據(jù),供用戶閱讀和分析,又要簡潔、清晰地向用戶展示虛擬交互程序的邏輯結(jié)構(gòu)和層次,便于用戶進(jìn)行操作。然而,直接利用腳本編寫圖形界面交互的方式不夠直觀,編寫的按鈕位置不可見,對(duì)于建立含大量按鈕的交互系統(tǒng)十分繁瑣。如浸式漫游。
圖2 虛擬場景構(gòu)建流程
圖3 UI系統(tǒng)示意圖
圖4 沉浸式交互程序的功能實(shí)現(xiàn)示意圖
2.2 動(dòng)畫系統(tǒng)
為了使基夫賽特閃速煉鉛過程更加真實(shí),本程序利用Unity3D中豐富的粒子系統(tǒng),通過編輯粒子軌跡及其材質(zhì),對(duì)爐料及焦炭的投入,爐頂部噴嘴的爐料噴吹,燃燒,爐底熔體運(yùn)動(dòng),粗鉛、冰銅、爐渣流圖3所示,Unity3D提供了便捷的圖形界面交互系統(tǒng)建立方式,每一個(gè)圖形界面交互元件都可以作為對(duì)象,通過點(diǎn)擊和拖拽,就可以確定操作面板和按鈕的位置。
如圖4所示,根據(jù)三維效果的需求,可以在開始界面定義各種功能按鈕,每個(gè)功能按鈕對(duì)應(yīng)著不同的效果。在基夫賽特爐程序中,開始界面上一共定義了5個(gè)功能按鈕,分別為整體概覽、透明度調(diào)節(jié)、三維仿真結(jié)果查看、動(dòng)畫顯示、幫助。點(diǎn)擊此5個(gè)按鈕中的一個(gè),顯示對(duì)應(yīng)功能所對(duì)應(yīng)的功能按鈕。如在概覽功能部分,針對(duì)基夫賽特爐的6個(gè)關(guān)鍵部分,提供了這六個(gè)部位的視角切換。用戶點(diǎn)擊對(duì)應(yīng)的按鈕,可以切換至對(duì)應(yīng)的視角。每個(gè)視角的攝像機(jī)都附著了移動(dòng)腳本。使用戶可以選擇在不同部位開始進(jìn)行沉出,以及煙道和煙囪氣體的顯示建立了動(dòng)畫展示。
2.3 沉浸式漫游
程序最重要功能之一就是沉浸式漫游[14]。為了實(shí)現(xiàn)這個(gè)功能,本程序選擇了第一人視角,直接在攝像機(jī)上附著移動(dòng)與視角變換代碼,使之可以根據(jù)鍵盤指示移動(dòng),及點(diǎn)擊鼠標(biāo)移動(dòng)視角。除了利用Unity腳本實(shí)現(xiàn)前后左右的移動(dòng)外,為了使沉浸式漫游更靈活,添加了如下所示的代碼來實(shí)現(xiàn)垂直移動(dòng):
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);
對(duì)于鼠標(biāo)控制,需要能夠在移動(dòng)鼠標(biāo)旋轉(zhuǎn)視角的同時(shí),點(diǎn)擊按鈕實(shí)現(xiàn)交互。本程序改進(jìn)了Unity3D中控制鼠標(biāo)旋轉(zhuǎn)的代碼,使得用戶在點(diǎn)擊鼠標(biāo)右鍵的同時(shí)可以旋轉(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);
}}
本程序主要實(shí)現(xiàn)了對(duì)三維基夫賽特爐的虛擬漫游及其反應(yīng)塔部分的CFD數(shù)值模擬數(shù)據(jù)展示。其中CFD數(shù)值模擬數(shù)據(jù)計(jì)算結(jié)果與現(xiàn)場測試結(jié)果進(jìn)行對(duì)比[15],誤差在可接受范圍之內(nèi)。表明利用程序中數(shù)值模擬的仿真數(shù)據(jù)指導(dǎo)現(xiàn)場生產(chǎn)是可行的。圖5展示了本程序的幾個(gè)視角,每個(gè)視角都可以通過鍵盤鼠標(biāo)操作進(jìn)行自由移動(dòng),通過鍵盤WSAD鍵實(shí)現(xiàn)上下左右的移動(dòng),配合點(diǎn)擊鼠標(biāo)右鍵并移動(dòng)鼠標(biāo)控制移動(dòng)方向,同時(shí)可以點(diǎn)選程序左上角的按鈕進(jìn)行交互操作。
圖5 程序主要視角
在三維仿真選擇界面,可選擇不同的仿真工況顯示。本程序?qū)肓藘煞N工況的仿真數(shù)據(jù),圖6(a)為閃速爐同時(shí)開啟4個(gè)噴嘴時(shí)候的爐內(nèi)流場形狀,圖6(b)為開啟2個(gè)噴嘴時(shí)候的爐內(nèi)流場形狀。右上角為速度標(biāo)尺,隨著顏色的不同展示出速度的大小。其中數(shù)值仿真與虛擬建模都是按照相同比例進(jìn)行,流線中每個(gè)坐標(biāo)都對(duì)應(yīng)于實(shí)際基夫賽特爐中的相應(yīng)部位,這樣即使是沒有專業(yè)知識(shí)的使用者可以通過點(diǎn)擊按鈕的形式調(diào)出閃速爐內(nèi)流場信息,通過可視化顯示,可以清晰地了解不同工況下流場的形狀、速度分布、回流形式、以及氣流對(duì)爐墻的沖刷作用等。
圖6 三維仿真結(jié)果流線示意圖
本程序通過Unity3D發(fā)布,具有多平臺(tái)移植性??梢赃\(yùn)行在Windows平臺(tái),網(wǎng)頁端,及ios、android手機(jī)端。在Windows平臺(tái)上導(dǎo)出可運(yùn)行的exe文件,任何人都可以方便的使用。在網(wǎng)頁端最后生成的是一個(gè)網(wǎng)頁文件和一個(gè).unity3D文件,通過服務(wù)器上的IIS配置就能輕松實(shí)現(xiàn)網(wǎng)絡(luò)發(fā)布。
文中以基夫賽特爐為例,創(chuàng)新性的結(jié)合計(jì)算流體力學(xué)與Unity3D平臺(tái),建立了一個(gè)虛擬的三維基夫賽特爐,形象地展示了閃速冶煉過程中基夫賽特爐內(nèi)的爐料、火焰以及熔漿的動(dòng)態(tài)變化,為提高閃速煉鉛技術(shù)的操作與優(yōu)化控制水平提供了技術(shù)支撐。同時(shí),開發(fā)的沉浸式漫游交互程序可在任意Windows平臺(tái)上運(yùn)行,具有較強(qiáng)的適應(yīng)性。本文所展示的可視化方法,能夠應(yīng)用在冶金行業(yè)中的各個(gè)領(lǐng)域,對(duì)應(yīng)指導(dǎo)生產(chǎn)、優(yōu)化設(shè)計(jì)以及科研教學(xué)具有較為深遠(yuǎn)的意義。本程序還只是以虛擬基夫賽特爐作為計(jì)算流體力學(xué)與虛擬現(xiàn)實(shí)結(jié)合的初步探索,對(duì)于更加豐富形象的數(shù)據(jù)顯示,更便捷的交互系統(tǒng),還需要進(jìn)一步研究。
[1]賀菊香.基夫賽特直接煉鉛技術(shù)的應(yīng)用前景[J].湖南有色金屬,2011(6):20-23.
[2]余金偉,馮曉鋒.計(jì)算流體力學(xué)發(fā)展綜述[J].現(xiàn)代制造技術(shù)與裝備,2013(6):25-26.
[3]周萍,劉維超,夏中衛(wèi),等.閃速煉鉛爐多物理場耦合模擬及可視化分析 [J].熱科學(xué)與技術(shù),2014,3 (2):182-187.
[4]字建香,嚴(yán)紅平,葉軍濤.一個(gè)沉浸式場景漫游系統(tǒng)的構(gòu)建 [J].計(jì)算機(jī)工程與應(yīng)用,2013,49 (4):192-196.
[5]陳浩磊,鄒湘軍,陳燕,等.虛擬現(xiàn)實(shí)技術(shù)的最新發(fā)展與展望[J].中國科技論文,2011,6(1):1-5.
[6]李敏,韓豐.虛擬現(xiàn)實(shí)技術(shù)綜述 [J].軟件導(dǎo)刊,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]//寶鋼學(xué)術(shù)年會(huì),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].長沙:中南大學(xué),2014.
[13]王星捷,李春花.基于Unity3D平臺(tái)的三維虛擬城市研究與應(yīng)用[J].計(jì)算機(jī)技術(shù)與發(fā)展,2013,23(4): 241-244.
[14]朱惠娟.基于Unity3D的虛擬漫游系統(tǒng)[J].計(jì)算機(jī)系統(tǒng)應(yīng)用,2012,21(10):36-39.
[15]張健.基夫賽特爐反應(yīng)塔內(nèi)多場耦合數(shù)值仿真研究[D].長沙:中南大學(xué),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稿件編號(hào):201606203
國家自然科學(xué)創(chuàng)新研究群體科學(xué)基金(61321003)
湯凱樂(1991—),男,湖南益陽人,碩士研究生。研究方向:動(dòng)力工程與工程熱物理。