在Unity3D中的CFD后处理外文翻译资料

 2022-11-05 11:43:57

英语原文共 10 页,剩余内容已隐藏,支付完成后下载完整资料


在Unity3D中的CFD后处理

摘要

在建筑和城市的设计中,城市气候是一个强大的评估室外温度的舒适性跟建筑的节能性能设计标准。一方面通过当地气候评估对建筑物的影响,另一方面是通过计算流体动力学(CFD)方法。CFD的结果通常是通过后处理软件密切相关的预处理和仿真软件可视化来完成的。其内置的功能是为了工程师设计的,因此,它对于建筑师在现实中进行探究不太友好。为了弥合建筑师和工程师之间的差别问题,我们提出了对其基于游戏引擎技术的可视化。本文演示了在Unity3D中实施CFD转换和天气数据的可视化。

关键词:CFD后处理,Unity3D,城市气候、城市设计,可视化

1、介绍

正如ETH Zuuml;rich的未来城市实验室,新加坡宜居城市实验室或英国未来城市实验室所展现出来的,城市规划不仅仅是一个单一领域可以搞定的问题,而是一个需要跨领域进行交流一起研究的的一个项目,而可视化和模型就自然而然的成为了建筑学中为了交流而最终选择依靠的的渠道。随着来自公民,工程师,政治家和其他专家等跨学科的人才进入到这个领域,这种依靠视觉来达成跨学科共识的有效方法就变得非常可靠了(Grecirc;t-Regamey et al., 2013; Pettit et al., 2012).

总而言之城市规划是来自计算科学,工程和城市气候研究的共同努力:在过去的二十年中,随着中尺度观测达到500m-25km分辨率,微尺度观测达到0cm–10m的分辨率,以及运算成本的降低与计算能力的进步,使计算流体动力学(CFD)方法进入城市气候研究(Ashie and Kono, 2011; Mochida et al., 1997).由于计算时间较少,在资源有限的中尺度观测中,这种偏向于等温格子玻尔兹曼方法,重点在风流过的复杂湍流模型存在着上限(Miao and Shen, 2014).

现有市面上的可视化工具如ParaView,Tecplot 360 ,或ANSYS Fluent,对于一些入门的人来说不太友好。建议是以用户的体验为中心焦点来实现游戏环境(Greenwood et al., 2009), 或直接采用游戏引擎比如Unity3D(Indraprastha and Shinozaki, 2008, 2009; Stojanovic et al., 2014). 可视化的处理对象是多维数据,并且Donalek 等人认为它的突出点是他并不涉及到原始数据或者大数据。他说:lsquo;这是一种很好的去发现和理解隐藏在数据中的那些有意义的东西的模式。rsquo;(2014) .在交互式可视化的方法中有一种不同截然不同的的方法我们称之为计算机辅助绘图,而这种协同工作的能力对于我们来说是一个挑战(Pauwels, 2014),股东们利用他们的工具可以去了解科学方面复杂的问题(Berger, 2012; Grecirc;t-Regamey et al., 2013) ,而这也有利于研究人员去研究股东们(Prendinger et al., 2013) ,总而言之,好处是相互的,双方都能得到相应的东西。我们的目的是在专业的工程软件中利用CFD的原理模拟出现实的状况并且产生可以为我们所用的的结果并且将它归结成一个可视化的工具称为cfd to unity3d。这个工具我们要为了建筑师而制作从而在视觉方面的附带现象上区别于普通的可视化工具,就像在专家组受到他们的的培养促进自己的能力或者是像Hillier的空间句法框架那样的结构(Hillier and Hanson, 1984).

Unity3D这个软件拥有几个CFD后处理软件的独有优点:1、它不需要任何许可证明就可以直接进行处理。2、它是一个独立的平台不与任何其他软件冲突 3、它可以使用网络进行操作,并且可以在平板电脑上使用4、它在视觉方面进行了优化,可以进行更深一步的渲染使人视觉感受更好5、它对于新手入门的人来说更友好,不需要太多的专业知识以及操作技能就可以使用。因此,它对于各种利益相关者来说都是开放式的,使用起来不会有任何的困难或者问题,并且它可以在很多种仪器上使用,非常的方便。另一方面,分析CFD的特点来说,这是一个从零到一的突破,使得建立在后处理软件上的结果可以适用于unity3d以及编码。

在Unity3D产生的的结果的精确度相比于后处理软件是差的很远的,但如果是建筑师、城市设计师和规划师的话就可以从中获得更多定性的数据和结论从而能发现一个具体的设计性能参数。而我们在模拟中确定了任何一个点之后就不需要担心的参数(风速,温度等)的不确定性的因素。

由于CFD广泛的计算处理数据的能力,在真正的设计周期中,我们可以将不实时同步的数据也进行可视化处理。不管怎样,CFD to unity3d将促成一种快速分析设计周期的产生(Birch et al., 2013) .然而在实际情况的数值模拟中,一般来说,CFD的后处理过程是非常复杂的,尤其是对于产生流线的风的流动特性的可视化处理(McLoughlin etal., 2010) .在McLoughlin 等人的优秀评论论文中,他们强调了很多关系计算时间和数据方面的不规则网格,以及视觉上的被杂波和遮挡物干扰的时候三维可视化的处理问题。

  1. 方法

2.1可视化工作流程

首先,我们的的工作是输入数据,包括三维建筑模型和它的CFD模拟,三维建筑模型是在3DSMAX或者Rhino 软件中编辑好之后导入Unity3D的,需要使用.obj或FBX格式。接着,从ANSYS Fluent导出CFD模拟结果,导出的结果为文本格式(.txt或.csv)。温度、湿度和压力数据在这里被处理成三维空间数据结构,这样一来这些数据可可以更容易的被使用在互动探索的过程中。Unity3D最后通过渲染之后得到的场景会被显示在显示器(S)上,同时,使用者则能够通过使用一个控制器来控制和浏览环境。

2.2预处理和渲染

预处理

ANSYS Fluent从每个不同的网格和节点互相产生不规则的模拟空间距离,而在模拟的空间里有接近建筑几何形状的节点数量相比那些没有像天空或者角落形状的节点数量要多,在我们的研究中,我们利用现有的创建塔大学城校园内的新加坡航空摄影测量激光雷达产生的CFD模拟和三维模型,这个CFD扩展的模拟空间有2times;1.2times;0.3公里规模,其中约有1400万个节点。它采用了最小只有5cm的单元尺寸六面体网格的结构。与Realizable k-epsilon模型相结合的稳定RANS方程被应用于解释湍流流体模型,而在新加坡,四个这种模型被用于执行不同的特定的风向。用对数表示的风速廓线被用于在16米高度的3.5米/秒的风速的风。

图1:CFD数据可视化流程图。在红色的输入端所展现出来的是场景,而绿色的输入端所展现出来的是CFD模拟的数值结果,蓝色代表在Unity3D游戏引擎中处理的过程。橙色是可视化与用户之间的一个交互的过程。

预处理是将节点数据又重新划分成最初的那些空间数据结构,使我们访问这些信息,比如温度,压力和湿度这些参数,在给定的空间中找到对应的位置变得更容易。最简单易懂的方法就是把空间划分成我们日常用的长宽高的的规则网格状态,而网格分辨率则决定了每个单元的大小。假设给定我们一个特定的位置,那么如果我们想知道这个特点位置具体的温度,压力,湿度值,那么我们可以把它用在每个网格分辨率上,这样就可以得出其X,Y和Z轴指数。网格分辨率就按照这样的对应条件对应各自的细节层次,如果网格分辨率太大,那么这些单元将会缺少细节,即相当于每个细胞包含一个太大的空间,里面的内容会很少。反过来而言,如果网格分辨率太小,我们在对比大小的情况下将会有大量的细节内容,这样会消耗大量的计算机内存,并且会降低程序互动的帧数和频率。不难理解的是,在这些单元中,有很多的单元格会是空的单元格,于是在转换过程中,对于在空间中网格中的节点分布不均匀的情况,我们采用线性平均的方法,从周围的数据点拿出一部分来填补空单元格。这些网格被存储在C #的三维阵列结构里面。

我们决定推出第二种八叉树数据结构(Meagher, 1980). 八叉树数据结构允许空间细分成八个正规的子空间。这意味着我们能在没有很多节点的地方使用更大的八叉树结构,而在建筑物的附近使用较小的八叉树(细分之后的八叉树),因为自然树结构是XML,所以在我们现实中,预处理之后我们将八叉树结构存储为XML格式,这样可以使我们便于阅读。使用者必须定义的最小的八叉树大小,而一般来说这对于正常程序来说是相反的过程。每个级别下,我们将增加细胞大小因子数量为二(或细胞体积因子数量为八),而我们需要做的事情是找到的最大节点的大小,并且使其可以包围住整个仿真空间。如果需要的话,空的空间被填充到可以适合模拟空间的尺寸,然后从CFD得到空间的整数值。一旦这些操作都完成没有问题的话,我们就可以开始给定的数据然后开始构建我们的八叉树了。我们每个处理的八叉树的细胞包含的信息中心,水平,温度,压力和湿度这些参数。

渲染和光照贴图

与其他的游戏引擎类似,Unity3D一方面还能够支持光照和渲染系统,另一方面Unity3D还提供图形类和渲染器类并且软件自带线网类的可视化。我们能够使用GL类提供的底层图形库发出类似于OpenGL的命令。有了这些原始文本数据,我们就可以根据它们构建三角形和平面并且对他们进行可视化处理。Unity3D提供的update()函数可以使每个点不断更新只要动画达到一定的帧率。因为建筑是静态的,我们预先在处理并存储了统一的光源使它在运行时不消耗计算机资源,因此支持交互性的帧速率是可以实现的。我们与他人不同,明确不使用建筑物跟地形的纹理(Piga et al.,2013; Wang et al., 2010) ,这样可以保持清晰的视图的模拟结果。

2.3GUI和相互作用

导航

为了达到互动探索的目的,我们让使用者体验两种导航方式:人物漫游模式(见图5)和直升机模式(见图左5)。在人物漫游模式中,我们有四种自由漫游的模式:1、左右运动2、前后运动3、向左右转动(偏离原始路线)4、向上下俯卧。而直升机模式则是一种自由度较高的模式,允许在很大的程度上运动观察。

地图功能

同时,我们还将提供地图功能,其中使用者可以对整体建筑有一个整体的视觉上的感受。(如图2)。而使用者的位置在地图上的用一个红色箭头标记。在屏幕的右上角有一个小地图显示,这可以让使用者意识到周围的环境与靠近的事物。周围物体的缩放的大小级别可以在设置面板中自行进行调整。如果想要有一个整体的视觉感官,使用者可以选择最大化地图。而整个屏幕的上下视图也可以在全屏显示(见图2右)。在这个屏幕上,使用者可以执行两个操作:1、传送,使用者可以立即访问想重点观察的任何地方,2、测量,这样使用者可以知道他们所看到的实际距离。此外,我们还提供屏幕中心的光标位置,以便用户能够测量建筑物的实际高度。方法是通过使用从相机中心的光线投射到屏幕中心,从而可以得到光线击中建筑物的位置,最后可以计算出高度。

背景

使用者也可以在想用的设置面板上选择某些选项或可视化模式(见图2左侧)。

-缩放面板,使实际数据值对应于可视化中所显示的颜色

-位置数据标签,以提供使用者当前位置的风速、温度、湿度和压力值的信息

-选择显示数据可视化的视觉效果的类型(风简化/温度/湿度/压力),而一次只能看到一个数据类型,播放风流动时动画与其他可视化选项,静态密度水平流线可视化也可以调整

-导航和控制面板,为用户提供导航键和控制信息,一旦使用者像使用钥匙一样熟练之后,他们可以禁用这些面板

-自上而下查看可视化的地图面板数据并剔除遮罩显示

-没有使用地点的限制,可以使用多个显示器来显示

-全局设置使用后,所有显示器的配置参数相同

  1. 结果

简化风管

风管和风的流线动画是基于风简化后的数据处理计算得到的(streamline ID, Position, Time, and Speed as in Fig. 1). 该管道是静态管道(see Fig. 3 left) 并且不包含时间参数。使用某种网格生成方法一行一行的生成3D管状网格。该管的半径不能太小,应该避免流线头发一样细小,同时也不能太大,否则会导致线路互相重叠和遮挡。我们要创建管,首先要创建圆管的中心,因为那是流线的位置,并且垂直于流方向。当各点的流线产生了圆,外点相邻的圆连接成三角形,从而创建了管子表面。

风的流线动画

风的位置需要建立在动画中每个时间点给定的离散数据的动态计算的基础上(见图3),考虑到风的曲线性质,我们数据点间进行插值获取中间风位置。Catmull-Rom样条是用来提供立方样条的平滑切线(Catmull and Rom, 1974) .这样可以使简单的动画中风速和风向存在于每一个时间点上。

使用者也可以通过设置波形的数量来建立可视化。这些波在时间的间隔中产生,而流线的动画效果是在每个新的波形中从起点开始运作。设置数量更多的波形可以使我们更加了解风在整个模拟领域的运动情况。风的痕迹是用Unity3D 中的linerenderer功能生成的。蓝色透明纹理代表了通过对于linerenderer的设置来影响风的运动情况。

风的波前动画

风的波前动画(见图4)使用相同的点所产生的风的流线动画。然而,我们并没有画出轨迹,取而代之的是一个网状的平面。风的初始点流线来自风在模拟区的一端,而它将穿越这片区域到达另一端。尽管风的流线来自相同的初始平面,但是对于给定的风的流线却没有任何的规律可言。因此,我们需要确定初始点。Delaunay三角(Delaunay, 1934) 的应用可以让我们

剩余内容已隐藏,支付完成后下载完整资料


资料编号:[139906],资料为PDF文档或Word文档,PDF文档可免费转换为Word

原文和译文剩余内容已隐藏,您需要先支付 30元 才能查看原文和译文全部内容!立即支付

以上是毕业论文外文翻译,课题毕业论文、任务书、文献综述、开题报告、程序设计、图纸设计等资料可联系客服协助查找。