陈呈,赵丹,王岳青,邓亮,杨超,苏铖宇,王昉,*
1. 中国空气动力研究与发展中心 空气动力学国家重点实验室,绵阳 621000
2. 中国空气动力研究与发展中心 计算空气动力研究所,绵阳 621000
3. 西南科技大学 计算机科学与技术学院,绵阳 621000
计算流体力学(CFD)应用日益广泛[1-3]。借助高性能计算机系统,可以计算、存储规模具大复杂度高的CFD流场数据,但如何对数据进行准确的表达,一直是业界的难题之一[4]。流场可视化应用计算图形学相关方法和图形处理与显示技术,将数值模拟仿真获得的大量离散数据转换为图形图像或动画的形式,形象地将CFD仿真结果显示出来,从而能够直观、准确地展示数据内部的特性与本质,帮助科研人员分析其中的规律[5]。然而,随着CFD数值模拟技术的不断发展,求解问题的规模与复杂度不断提高,数据产出类型复杂、规模巨大[6],因此需要提供与CFD数据产出相适应的可视分析工具。而高效可视分析工具要求数据可视化的周期短,数据分析的精准程度高,同时要求交互体验好,交互手段多样化。已有的可视化和可视分析工具难以同时满足以上需求,主要体现在以下几个方面:① 由于功耗的限制,微处理器性能的提高主要来自于片上处理器核数量的增加,计算机性能的发挥将依赖于多核并行软件的发展,然而并行可视化计算软件发展缓慢,与多核处理器的发展不匹配;② 流场数据中往往含有多种典型复杂物理特征,这些特征在洞察数据背后的科学规律方面发挥着至关重要的作用,已有的可视分析工具采用传统算法从海量数据中提取可视特征,提取时间长且精度低;③ 可视化软件交互性强,领域专家往往需要对流场进行交互式探索才能发掘关键信息,已有的流场可视化显示和交互方式单一,无法提供更加便捷的交互方式和体验;④ 尚没有自主可控、功能完备的可视化软件。
针对以上问题,中国空气动力研究与发展中心在国家数值风洞(NNW)工程支持下,研制了1套CFD流场可视分析系统NNW-TopViz(简称TopViz),主要具备以下几个特点:
1)根据流场数据结构和可视化算法特点,实现了线程级并行优化,在Windows桌面环境下,Intel i5 处理器4核运行加速比达到2.4。
2)实现了基于卷积神经网络的流场旋涡特征提取方法;测试表明,与现有算法相比,大幅提升了特征提取准确率和效率。
3)支持沉浸式三维虚拟显示和多通道交互,基于头戴式显示设备和体感控制器构建了沉浸式虚拟显示与交互平台,实现了手势和眼球凝视2种交互方法。
4)采用层次式软件架构设计并开发了具有对流场进行数据预处理、特征提取、流线绘制、体绘制、几何图形绘制、纹理绘制等可视化与交互功能的软件系统。
论文结构介绍:第1节对国内外相关工作进行综述,第2节分析了软件的技术细节,第3节给出了软件实现方法,第4节为性能测试,第5节为总结。
应对海量复杂流场数据带来的可视化挑战,欧美、日本等数值模拟技术领先的国家率先开展了高效可视化技术的研究。美国以三大实验室为代表的研究机构和公司开展了大规模可视化技术研究和软件研制工作,相继推出VisIt[7]、ParaView[8]、EnSight®、Tecplot®等多款软件。日本专门成立了高度计算表现方法研究小组,研究能够容易理解并能表现精密计算的可视化方法和能够有效处理大规模数据的可视化系统[9]。在中国,北京应用物理与计算数学研究所面向实际应用中的大规模复杂数值模拟,成功推出并行可视分析软件平台[10]。具体到本文开展的各项研究内容,国内外的现状如下所述。
随着模拟精度的不断增长,计算网格规模不断扩大,CFD后处理采用并行技术是海量流场数据实时处理的必然需求。实现流场数据的高效可视化并行计算,需要从可视化算法的特性出发,结合体系结构的发展,开发可视化算法的并行度和可扩展性[11]。Chen和Fujishiro通过对流场特征的分析,提出了一种最优化的动态数据划分策略[12],减少并行流线计算过程中数据块间的通信与同步开销。Maximo等设计实现了基于GPU加速的VF-Ray体绘制算法[13],该算法具有内存使用率高的特点,能将内存的占用情况降低为原来算法的1/3~1/10,为海量数据可视化处理提供了潜在发展空间。Camp等主要研究了在混合并行体系结构下流线的计算效率与可扩展性,分析了传统基于进程并行方法的不足,提出在多核处理器体系结构下采用分布与共享式内存的混合编程方法[14]。随着多核桌面系统的不断普及,为充分挖掘可视化计算在多核系统的计算性能,需要开发不同层次细粒度并行性,通过多核并行优化来加速CFD数据可视化,提高计算效率。
特征可视化可以提取用户感兴趣的特征,能用较少的信息表示流场中的重要数据,因此得到了广泛的关注和应用。然而由于很多流场特征没有准确的定义,现有的特征提取算法准确率较低、适应性较差。随着深度学习等机器学习理论和实验技术的突破,人工智能已发展成为特别适合进行特征复杂、规模庞大的信息理解的有效工具。Girshick等提出了目标检测区域卷积神经网络[15],使用yolo网络结构将目标检测与涡旋识别和提取相结合的方法。Ströfer等利用循环神经网络识别翼体连接处三维流动中的马蹄涡,将深度神经网络使用在三维流场中[16],该方法相较于传统的流体力学数值计算更加准确快捷。Franz等将卷积神经网络的特征学习与已有图像处理工具特征跟踪器相结合, 提出了一个基于深度学习的涡检测和跟踪框架[17]。总的来说,上述方法都是利用已有的特征提取方法获得训练集,训练集本身并不完全准确;评价准确率时,也是和得到训练集的特征提取方法相比,准确率评价不够严谨。
与传统显示方式下的流场可视化相比,沉浸式分析以虚拟现实为交互平台,在空间沉浸感、用户参与度、多维感知等方面具有分析优势。随着沉浸式虚拟现实、人机交互技术的发展,在虚拟现实环境下对流场数据进行可视化并实现多通道交互的方法被广泛运用。Holden和Keane采用散点图矩阵、平行坐标、拓扑映射等降维方式展现高维飞行器设计空间和拓扑结构[18]。Brandon等在带涡襟翼的F-106B飞行报告中引入表面和空间流场可视化技术展示了三维涡流和不同攻击角情况的流场结果[19]。Klein等在虚拟现实环境中采用直接接触式交互技术,通过非重叠的交互姿势支持多种交互操作提高了流场分析效率[20]。Tong等将直接交互技术引入到流线可视化变形与探索中[21]。Gu和Wang针对时变数据集构建状态层次结构,实现一种无遮挡、可控和自适应的分析手段[22],能够有效观察和跟踪时变数据的演化过程的可视映射方式。然而,已有工作在虚拟显示过程中没有结合多视图、多角度信息,使用户观察的结果出现偏差。此外,已有的交互手段仍然是单一交互,没有充分利用多通道信息,因此用户的交互体验仍不够好。
针对CFD对流场数据高效可视化的迫切需求和挑战,NNW工程在可视化技术方面通过关键技术攻关解决软件研发中的高效可视化技术问题,并基于关键技术研究成果开发了1套低耦合高内聚的软件模块库,最后形成可视化软件系统。TopViz具备并行可视化、可视特征智能提取和沉浸式三维虚拟可视化与交互分析能力。
并行技术能够有效利用当前主流的并行计算机系统解决大规模数据的高效可视化问题。本节基于对流场网格数据的组成分析,根据CFD模拟产生的流场数据组织方式,采用对流场数据中的不同网格区域(Block)进行并行计算的方式,实现了线程并行。
2.1.1 流场数据可视化计算并行性分析
现有CFD软件基本上都是基于区域分解,即将整个计算域的网格划分为不同的网格子块, 在每个网格子块上执行相应的计算,并适当处理各个网格子块间的数据依赖[23]。处理过程是首先将复杂流场或复杂外形分解成多个形状简单的区块(Block),然后继续分解为多个更小的网格单元(Cell)。如图1所示,某飞行器主要部件包括融合体机身、机翼、垂尾、边条翼、进气口匝道等部件,物面网格计算区域包含6个Blocks;而且在计算过程中,空间流场也会根据其物理特性进行不同程度的划分。
图1 网格区域划分样例Fig.1 An example of grid area division
在流场可视化后处理过程中,可以充分利用流场数据多块网格的组织方式,对各个分区之间使用数据并行策略进行并发计算,尤其是对于等值面计算、等值线计算、特征提取、镜像等标量可视化算法,在计算过程中各个区域之间没有数据依赖,能够充分挖掘计算任务中的并行性。
2.1.2 并行可视化设计与实现
在可视化计算中,计算流程如图2(a)所示,首先,数据输入模块将流场数据从磁盘读入内存;然后,在可视化计算过程中如等值面计算等算法,对原始数据应用过滤器,形成新的计算结果;最后,将过滤器的计算结果绘制为图像进行显示。在串行执行状态下,过滤器计算时需要依次遍历当前所有的Block,此时所有Block共享同一个过滤器。根据2.1.1节并行性分析,可以将计算流程进行并行优化,得到如图2(b)所示新的执行流程,此时为每个Block创建一个过虑器,程序在遍历网格块编号前使用OpenMP的Fork机制创建一个以自己为主线程的线程组,每个线程动态分配计算任务,当网格块循环遍历完毕后,通过Join机制,完成线程间同步操作后主线程继续执行而其他线程挂起。计算完成后,主线程对多块数据执行图像绘制等其他操作。
图2 并行运行机制Fig.2 Parallel execution design
针对现有机器学习方法在旋涡提取中存在的训练集本身并不完全准确和准确率评价不够严谨的问题,提出基于全卷积分割网络的旋涡提取方法[24-27],用于检测流场数据中的旋涡结构。
CFD数值模拟能够产生海量数据,但其中包含旋涡结构的数据较少,为得到足够多的训练数据,本方法首先运行大量CFD模拟程序,并使用传统的全局方法(IVD)对所有流场数据进行检测,得到包含旋涡结构的流场数据。在此基础上,请领域专家进一步判断和甄别,剔除一些假旋涡和噪声,最终得到干净的训练数据。
由于CFD计算与网格规模紧密相关,网格的大小一般不一样,如果直接将整个流场数据作为输入,则方法无法适配不同规模的网格。为解决该问题,本方法使用了分块策略,对任意大小的流场,均将其拆分为多个固定大小的小块,并以小块作为模型输入,对小块中所有网格点进行计算,计算完成后将小块拼接为原始流场大小,得到整个流场的旋涡结构。
如图3所示,基于全卷积分割网络的流场旋涡提取方法主要包含前处理、分割网络和后处理3个部分。前处理部分主要是向网络提供输入,包括网格转换和随机采样2部分。网格转换通过将包含速度大小(u、v、w分别表示速度在空间中3个方向的分量)的物理网格拉伸到笛卡儿坐标系,实现了从物理网格到计算网格的转换;随机采样得到流场内的随机小块用于训练。后处理将所有局部标记块进行合并,从而获得整个流场中的旋涡结构预测结果。如图4所示,旋涡分割网络包括卷积层、特征拼接层、降采样层、反向卷积层。
图3 基于全卷积分割网络的流场旋涡提取方法架构Fig.3 Vortex extraction architecture of flow field based on full convolution segmentation network
该网络通过全卷积网络及层间跳连抛弃了完全连接的层,并采用完全卷积的网络来减少参数的数量并提升了网络精度,通过输入训练得到一个分割卷积神经网络(CNN)模型。
随着流场数据的属性特征和空间结构复杂度不断增加,数据属性之间的关联关系和时空变化造成探究和分析其内在特征困难。为提供多视图、多角度流场探测方式,并提高交互体验,开展了沉浸式三维虚拟显示技术和多通道交互技术研究。
2.3.1 沉浸式三维虚拟显示
沉浸式三维虚拟显示技术方面,以多变量模拟时变数据作为分析对象,实现了流场数据在沉浸式三维环境下的虚拟显示方法,设计流场特征分析的可视化方案。总体方案设计如图5所示,其中可视化管线用以解决沉浸式三维虚拟环境下的数据读取、分块与映射问题,实现了流场原始数据的分块映射显示;渲染引擎实现了对流场数据标量和矢量的渲染;交互界面设计提供了沉浸式环境下用户操作与系统响应的接口。
图5 沉浸式三维虚拟显示总体框架设计Fig.5 Overall framework of immersive 3D virtual display
采用开源工具包VTK和OpenVR构建三维虚拟显示系统的可视化管线,流场数据通过VTK管线流的处理,生成可绘制几何体。针对流场原始数据类型读取问题,通过继承重写多块数据类以及TopViz数据读取类,实现对流场原始数据的读取。针对流场原始数据按块存储、数据读取显示问题,采用多个对象存储,创建不同种类的过滤器分块过滤原始数据,最后通过映射器实现对流场原始数据的分块映射显示。针对流场数据类型问题,采用不同的拾取子类接收对应类型的流场数据,实现对流场数据标量和矢量的渲染。针对沉浸式流场数据渲染问题,采用VTK在沉浸式环境下的渲染方式,将用于VTK桌面渲染引擎替换为对应沉浸式环境下的渲染引擎,实现在沉浸式环境下流场数据的渲染。
2.3.2 沉浸式多通道交互
在多通道交互方面,基于头戴式显示设备和手势传感器构建了沉浸式虚拟显示与交互平台,实现了手势交互和眼球凝视2种交互方法,并构建了沉浸式环境下的交互界面,用户在界面上可以有效运用多通道交互技术实现对可视化图形的参数配置。
手势交互是通过人体信息的自然输入实现的人机交互方式,具有自然、直观、灵活的特点,借助针对手势的体感设备,用户可以在沉浸式环境中直接通过双手操作虚拟空间中的三维图像,降低了交互的复杂度和学习门槛。如图6所示,手势交互的实现主要包括手势建模、手势定义、手势识别、交互事件4个部分。根据可视化图形场景和用户需求预定义手势姿态及含义,根据预定义手势姿态所对应的手势状态特征制定识别算法;根据用户交互需求定义交互事件,把交互事件与交互手势进行合理的绑定;通过Leap Motion传感器获取实时手势状态信息,通过手势识别算法完成手势识别,识别特定的交互手势触发相应的交互事件。
图6 手势交互流程Fig.6 Process of gesture interaction
凝视作为一种表示用户注意力的自然交互技术,其主要优点是不依赖用户手势等肢体动作,提供的参考方向准确性高稳定性好,交互手段便捷,能够解放用户的双手去完成其他交互任务,同时,凝视交互配合手势交互可以完成系统交互输入。
由于主相机是虚拟现实头盔在沉浸式环境中的虚拟载体,因此以主相机的视角方向移动作为界面选择移动的依据。在实现时,把主相机所在位置作为起点,将主相机位置朝向视点位置的向量作为凝视交互方向,发出射线与交互界面进行交互。
2.3.3 交互界面
流场数据可视化结果类型复杂、涉及物理量种类多样并且数据规模巨大,需要通过交互界面进行各种复杂参数的修改配置从而便于用户进行数据观察分析。沉浸式环境下的交互界面在设计上除了要完成参数配置功能,还需要适应沉浸式环境的特点,符合沉浸式环境下的交互体验,与多通道交互技术要相互适应。
根据用户的交互需求通过应用程序开发框架(Qt)构建初始交互界面,将初始交互界面转换保存为图像数据。在沉浸式环境中初始化生成一块有限大小平面,将该图像数据作为平面的纹理贴图,实现交互界面在沉浸式环境下的显示。根据沉浸式环境的特点,为了避免其他物体的遮挡,交互界面的显示优先级设置为最高;显示方位要保持始终朝向用户。采用视线交互作为选择交互工具,计算视线方向射线与交互平面的交点坐标,通过转换公式转换为Qt界面坐标从而完成选择交互。采用手势交互作为点击交互工具,做出预定义的点击手势完成点击交互。
为满足CFD领域专家对流场数据的探索式交互需求,需要集成众多可视化技术,形成一个功能完备的软件系统。因此,TopViz采用了层次式软件架构,以保持系统的可扩展性。本节介绍了TopViz的软件整体架构和系统详细设计,阐述了系统模型和系统功能。
TopViz系统的层次化总体功能结构如图7所示,自底而上分为4层。
图7 TopViz软件架构Fig.7 Architecture of TopViz software
1) 基础库层,主要是第三方基础库,包括可视化基础库VTK、cgns和tecplot数据格式基础库以及Qt库等。
2) 业务模块层,软件系统的功能模块,包括数据I/O、等值面等可视功能。
3) 连接层,作为业务模块层和表现层的中间连接,包括软件对话框、子窗口以及交互Widget管理,包含对业务模块层的任务模块调度等功能。
4) 表现层,分为TopViz-PC版和TopViz-VR版2个版本实现,包括显示模式控制视图显示方式和交互控制,以及软件工具菜单等工具,部件窗口用于展示原始流程文件组织方式以及可视计算结果显示控制等。
3.2.1 系统模型
采用以数据为中心的数据流模型,其流程如图8所示。数据输入指系统能导入多种格式的数据文件并实现它们之间的相互转化。数据过滤包括等值面提取、智能特征提取等可视化功能。可视化映射是构造数据的几何表示,即如何用颜色、光亮、形状以及其他属性来突出表示出人们对数据中感兴趣的性质和特征。图像绘制是将数据的几何图元和属性转换为可被显示的特定的图像信息,包括在VR(Virtual Reality)环境中的显示。图形显示是将图像动态输出,包括屏幕显示、VR环境显示、视频/图像输出等。
图8 TopViz系统模型Fig.8 System model of TopViz
3.2.2 系统功能
数据I/O和管理:实现对tecplot、cgns、PLOT3D等主流格式的流场数据的数据读取功能,并提供对这些数据的高效组织和管理方法。
流场显示:将可视化绘制的图片在绘制窗口中显示,显示方式包括面、点、网格3种方式,支持对显示的三维图形进行旋转、缩放等操作。
几何可视化:根据客户端提供的参数完成等值线、等值面、流线、剪切、云图等几何可视化计算。
特征可视化:根据客户端提供的参数完成涡特征的智能可视计算。
体可视化:根据客户端提供的参数完成体可视化计算。
纹理可视化:根据客户端提供的参数完成纹理可视化计算。
人机界面:向用户提供进行人机交互的界面,主要由菜单和工具栏、部件和信息窗口、绘图窗口等几个模块构成。用户通过界面可以选择所要使用的可视化功能,查询数据信息,观察所绘制图片并进行相关的交互操作。
显示控制:获取用户对绘制的参数调整并传递给同步模块,包括控制数据的显示和隐藏、对数据进行着色和透明度调整、在当前绘图窗口中拾取所需数据等。
本节介绍了TopViz系统PC版和VR版软件交互界面和系统性能,并对线程并行效率与扩展性、智能特征提取进行测试分析。
TopViz-PC版主界面如图9所示,主要分为5个部分:工具菜单栏、状态栏、部件选择子窗口、信息显示子窗口、绘制子窗口。工具菜单栏包含数据I/O、可视化功能、显示方式、Widget显示隐藏等工具;部件子窗口显示当前流场数据的Zone分区数据以及通过可视化功能生成的数据,信息窗口显示在部件中选中的数据的网格量、数据大小等基础信息;绘制子窗口为网格显示以及交互控制区域。
图9 TopViz-PC版软件主界面Fig.9 Main interface of TopViz-PC version
TopViz-VR版交互界面如图10所示,该版本功能与PC版一致,通过硬件环境HTC VIVE PRO头盔、定位器系统和Leap Motion传感器,以及软件环境VTK8.0+SteamVR1.7.15+OpenVR+Leap Motion3.2.1,实现了沉浸式环境下的显示与多通道交互。与PC版不同的是,在完成原始数据的读取显示后,VR版显示管线树界面会生成一个以当前数据为根节点的树。以计算流线为例,在添加流线后,该流场部件显示为子节点并进入流线显示功能,完成流线参数和种子点生成区域的配置,所有参数及种子点生成区域配置完成后,进行流线显示绘制,显示结果如图11所示。
图10 TopViz-VR版软件交互界面Fig.10 Interactive interface of TopViz-VR version
图11 TopViz-VR版流线绘制结果Fig.11 Streamline results of TopViz-VR version
基于VS2015+Qt5+VTK 8.0开发环境,在配置为Intel(R)Core(TM)i5-7400 @3.0 GHz处理器(16 GB)内存和NVIDA Geforce GTX1050显卡(4 G 显存)的计算机上测试实现TopViz业务模块并行扩展性。为验证本系统的实验效果,采用多类数据集测试系统。具体测试数据集如表1 所示,数据涵盖了多种数据格式、数据类型和数据大小的测试集。测试过程分为2步,第1步测试串行实现的软件功能的运行实现,作为并行优化的基准测试,第2步测试优化后的功能在多线程环境下的运行时间,由于常用桌面系统(配置i5/i7处理器)硬件核心为4核,本实验分别测试了2个线程和4个线程的运行性能。
表1 并行效率测试数据集Table 1 Test datasets of parallel efficiency
图12给出了TopViz软件功能在不同数据集上的并行加速比统计结果。从图中可以发现:首先,软件各个功能在多线程运行时能够获得明显的性能加速,验证了线程并行的有效性;其次,对比加速比随OpenMP线程数增加的情况,对于D1和D2这2个数据集,软件的加速器随着线程数据增加而增大,而对于D3和D4这2个数据集,线程数从2增加到4,加速比基本不变;最后,运行4个线程时,能够获得的最大加速比为2.4(D1数据等值线计算)。
图12 TopViz 并行性能加速效果Fig.12 Parallel performance speedup effect of TopViz
TopViz根据CFD流场文件多块数据(Multi block)的组织方式,将多块数据的计算分配给多线程并行执行,因此能够获得的加速效果依赖于流场数据的具体组织方式。对于D3和D4这2个数据集,空间流场数据由2个Block组成,共占用数据约95%的网格单元数和点数,因此从串行执行到2个线程并行执行时能获得明显的加速,而继续扩大线程数,性能不再提升,可视计算耗时由负责单元数最大的线程确定,此时受限于线程间负载不均衡。同时,对于D1和D2基本获得了线性的并行可扩展性,这是由于这2个数据集的网格分块相对均匀;但是由于各个数据块间网格不是完全相等,存在线程间负载不均衡的情况,并行效率难以达到理论效果。
下一步,TopViz将继续发掘蕴含在网格块中的细粒度并行性,采用基于Cell的并行策略,以进一步提升软件的可视计算效率。总的来说,经过多线程并行优化,极大地提高了TopViz可视计算效率,能够有效满足用户的实时交互需求。
在多个二维和三维流动情况下,对TopViz业务模块中的基于全卷积分割的旋涡识别方法进行了测试评价。所有的数据集都是对不同流场的时变模拟的结果,而时变模拟将产生许多反映旋涡随时间变化的时变数据集。由于该方法及其比较算法只适用于单个时间步长数据集,所以选择每个数据集中最具代表性的时间步长进行旋涡流提取和可视化。训练和测试算例具体情况如表2所示。
利用6个二维流场对分割网络进行训练,分别为:网格尺寸为101×761和101×381圆柱流场的第5 000个时间步模拟数据,网格尺寸为101×381 圆柱流场的第50 000个时间步模拟数据,网格尺寸为101×761和101×381的平板流场的第5 000个时间步模拟数据,网格尺寸为101×381平板流场的第50 000个时间步模拟数据。在这6个流场上随机抽取贴片,得到2.0×105个标签块。然后,丢弃那些不包含涡的标签块,使用剩余的标签块来训练分割网络。对于三维数据集,在网格尺寸为81×81×81的SV-81-1000的第1 000个时间步数据上随机抽取3.0×105个标签块,用于训练分割网络。
在三角形、正方形和翼型等3种二维不同外形上的测试结果如表3和表4(表中α为攻角)所示。结果显示提出的方法与阈值无关,与现有的方法相比,基于本文提出的旋涡分割网络特征提取方法可以达到更高的精度和召回率,并且耗时少。表3显示了所有方法的性能,将该方法与其他方法进行了比较,分割网络比其他方法更准确和有效。表4显示了在二维测试下,分割网络平均只需1 s就可以识别出所有涡结构,且平均分类准确率为96.4%,召回率为84.9%。相比之下,IVD方法平均需要240.2 s。
表3 不同方法在二维三角形和方形数据中的测试结果
表4 不同方法在机翼流场不同攻角情况下测试结果
图13显示了SV-161上所有方法在压力(p)着色时的结果。激波和旋涡是空气动力学中的2种基本结构,它们之间的相互干扰是超声速剪切层、超声速射流和燃烧中常见的现象。从图13可以发现,所有方法都可以识别激波后的涡环,大多数方法都可以识别涡破裂尾部的四股螺旋结构,同时,分割网络的可视化结果更接近真实情况。
图13 161×81×81正方形激波/旋涡干扰流场不同方法的可视化结果Fig.13 Visual results for different methods in 161×81×81 square shockwave vortex interaction flow field
图14显示了在双三角翼上压力(p)着色时所有方法的可视化结果。在双三角翼情况下,有2种主要的旋涡,即边条旋涡和机翼旋涡。虽然在旋涡破裂区,各种方法都会产生不同程度的误检和漏检,但是与其他方法相比,基于分割网络方法得到的结果更可靠。
图14 301×101×201双三角翼不同方法的可视化结果Fig.14 Visual results for different methods in 301×101×201 double delta wing
实测表明,基于全卷积分割网络的流场旋涡提取方法与其他相关工作相比,计算速度更快,检测精度更高,可以适配不同尺度的流场作为输入。
本文基于CFD流场数据可视分析需求,开发了可视分析系统TopViz,为CFD后置处理提供特征结构、流动机理的精确提取方法和可视表达工具,以适应数值仿真系统数据产出的持续发展趋势,满足武器装备和国民经济领域的数字化发展和数据可视分析需求。该系统具有以下特点:计算效率高,支持线程并行;智能化程度高,实现了基于卷积神经网络的旋涡特征提取方法;用户体验好,提供了PC和VR这2个软件版本,具备Windows桌面环境和沉浸式三维虚拟可视化与多通道交互分析的能力,提供多视图、多角度流场探测方式;可视化功能齐全,具备特征提取、体绘制、等值面提取、流线绘制等基础功能,并基于层次式和模块化开发方法,实现了可扩展软件架构,可以有效地展现流场数据中的特征信息,帮助用户理解分析复杂流场物理现象。
下一步,将针对更大规模的海量流场数据,开发高性能计算机分布式环境下的并行流场系统,实现处理器级并行;同时为满足数值模拟与可视化处理紧密结合、协同工作的需求,开发原位可视功能,实现对计算结果数据在原位直接进行可视化处理。