APP下载

基于Unity3D虚拟基夫赛特炉的实现

2017-05-09汤凯乐马海博李家栋中南大学能源科学与工程学院湖南长沙40083普渡大学盖莱默校区可视化与仿真创新中心印第安纳州哈蒙德46323

电子设计工程 2017年7期
关键词:赛特漫游鼠标

汤凯乐,周 萍,马海博,张 健,李家栋,周 谦,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.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 主要功能与实现方法

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);

}}

3 虚拟基夫赛特炉展示

本程序主要实现了对三维基夫赛特炉的虚拟漫游及其反应塔部分的CFD数值模拟数据展示。其中CFD数值模拟数据计算结果与现场测试结果进行对比[15],误差在可接受范围之内。表明利用程序中数值模拟的仿真数据指导现场生产是可行的。图5展示了本程序的几个视角,每个视角都可以通过键盘鼠标操作进行自由移动,通过键盘WSAD键实现上下左右的移动,配合点击鼠标右键并移动鼠标控制移动方向,同时可以点选程序左上角的按钮进行交互操作。

图5 程序主要视角

在三维仿真选择界面,可选择不同的仿真工况显示。本程序导入了两种工况的仿真数据,图6(a)为闪速炉同时开启4个喷嘴时候的炉内流场形状,图6(b)为开启2个喷嘴时候的炉内流场形状。右上角为速度标尺,随着颜色的不同展示出速度的大小。其中数值仿真与虚拟建模都是按照相同比例进行,流线中每个坐标都对应于实际基夫赛特炉中的相应部位,这样即使是没有专业知识的使用者可以通过点击按钮的形式调出闪速炉内流场信息,通过可视化显示,可以清晰地了解不同工况下流场的形状、速度分布、回流形式、以及气流对炉墙的冲刷作用等。

图6 三维仿真结果流线示意图

4 多平台部署与使用

本程序通过Unity3D发布,具有多平台移植性。可以运行在Windows平台,网页端,及ios、android手机端。在Windows平台上导出可运行的exe文件,任何人都可以方便的使用。在网页端最后生成的是一个网页文件和一个.unity3D文件,通过服务器上的IIS配置就能轻松实现网络发布。

5 结束语

文中以基夫赛特炉为例,创新性的结合计算流体力学与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—),男,湖南益阳人,硕士研究生。研究方向:动力工程与工程热物理。

猜你喜欢

赛特漫游鼠标
Progress in Neural NLP: Modeling, Learning, and Reasoning
霹雳漫游堂
赛特 低调直销路
赛特斯SDN经验谈
NASA漫游记
基夫赛特直接炼铅技术在国内首次应用实践
边走边看:漫游海底 梦想成真
45岁的鼠标
超能力鼠标
鼠标也可以是这样的