谭德宝,叶 松,黄艳芳,夏 煜
基于Vega Prime的流场三维动态可视化研究
谭德宝1,叶 松1,黄艳芳2,夏 煜1
(1.长江科学院空间信息技术应用研究所,武汉 430010;2.长江勘察规划设计研究院工程数字仿真中心,武汉 430010)
基于数学模型的洪水演进计算输出结果通常表达为数值表示的水位流速场,为了探寻洪水演进的规律,借助可视化的手段将数据进行了基于图像图形的直观表达;同时以虚拟现实平台软件Vega Prime为基础,分析了实现流场动态可视化的技术框架、实现方法,并通过实例对该方法进行了验证。结果表明,该方法能较好地实现流场的可视化表现,可用于超大流量天然河道洪水演进模拟。
三维动态可视化;洪水演进;流场;矢量场;
随着计算水动力学和计算机技术的迅速发展,数学模型已经成为河流动力学与水位水质模型研究中的一个重要工具。数学模型计算往往产生大量的数据,但这些数据本身并不能直观形象地揭示现象的本质特征,如对流场中的特定结构涡核、漩流等。运用可视化技术将计算数据映射为静态或者动态的图形图像,有助于科研人员进行数据分析,寻找数据关联并进行科学推理并得出结论。科学计算可视化(Vi-sualization in Scientific Computing,ViSC)是利用现代计算机强大的图形功能把科学计算中产生的数字信息变成直观的、以图像或图形信息表示的、随时间和空间变化的物理现象或物理量,从而形象直观地反映数据场量的分布情况,并提供处理工具与手段[1]。
1.1 基于粒子跟踪的流场动态可视化方法
流线的生成方法有多种,为了模拟真实流场,采用的是基于粒子跟踪的方法,流场中的一点可看作一个质点,它的迹线由点在不同的时刻t所在场中的位置x(t)组成[2]:
对于运动方程积分得到轨迹方程:
根据式(2),只要选定初始位置,采用数值积分的方法,一步步跟踪下去即可得到粒子的位置随着时间t的变化曲线。积分的方法可以选择Euler方法、Euler修正法、二阶Runge-Kutta法、四阶Runge-Kutta法。基于粒子跟踪的流场可视化的积分参数主要包括:种子点、积分步长、传播时间及积分方向[3,4]。
1.2 算法描述
粒子跟踪的算法描述如下:
寻找包含粒子初始时所在的网格元素
While(粒子在网格内)
{
确定粒子当前位置处的速度;
积分,计算粒子的下一位置;
在新位置绘制粒子;
寻找粒子所在的网格元素;
}
为了增强可视化效果,在可视化图中,以箭头指向表示流向,箭头的长度表示流速的大小,颜色区分不同等级的流速大小。
2.1 平台选型
美国MultiGen-Paradigm公司(以下简称MPI公司)是世界领先的实时三维(Real-time 3D)视景仿真应用解决方案提供商,MPI公司的实时视景仿真渲染软件Vega Prime代表了视景仿真应用程序开发的巨大进步,它使视景仿真应用程序快速准确的开发变得易如反掌,是最具有适应性和可扩展性的商业软件。Vega Prime具有灵活的可定制能力,使用户能根据应用的需要调整程序。
Vega Prime能够逼真地展现三维场景,但是不具备流场数据的三维动态可视化功能,也不直接支持等值线绘制等功能,这需要运用Vega Prime良好的可扩充机制,由于其支持OpenGL扩展,因此只需采用OpenGL加以定制使其具备相关功能。OpenGL是OpenGraphicsLib的缩写,是一套三维图形处理库,也是该领域的工业标准。因此,采用Vega Prime+OpenGL联合开发模式,是最佳开发方式。图1所示为联合开发模式的技术框架。
图1 流场三维动态可视化技术框架Fig.1 Framework of the flow field 3-D dynam ic visualization system
2.2 技术流程
2.2.1 地形建模
收集实验区高精度数字高程模型(DEM)、航空影像,运用三维地形建模工具,对DEM构建三角网,将影像作为地表纹理映射至网格表面,生成实验区的流域三维地形。
2.2.2 流场动态可视化
在流场数据中,由于网格节点的不变性,计算结果实际为流速的欧拉场在各节点的分布。对此,为实现流场动态可视化,需要将欧拉场转换到拉格朗日场,以跟踪流体质点的过程。
由于流速质点的位置已知,且流速由内插得到,就可以进行质点流速场的绘制。各质点流速矢量以箭头表示,箭头的方向表示速度的方向,箭头的长度表示流速的大小。均匀地选择初始显示流体质点,完成质点流速矢量绘制,即实现了一幅初始流场静态图。
初始流体质点取在网格节点上,其分布是比较均匀的,不断跟踪这些流体质点,经过一段时间后,发现有些质点会集中到某一区域,而有些区域的质点却很少,甚至没有。这需要对流速矢量分布进行调整,将图像进行统计分区,每个统计分区包括若干个矩形区域,用于统计该区域内流体质点的个数。
2.2.3 等值线生成
对于含沙量、水位、水下地形等标量场,采用空间插值算法,得到一系列等值点,经进一步加密、光滑处理,连接形成等值线。
2.2.4 查询分析
直接通过对流速场插值得到该空间点的标量值。
3.1 粒子运动迭代快速计算
流场动态可视化的关键问题在于粒子运动轨迹的实时计算。为了获得流畅的运动画面、平滑的粒子运动轨迹,粒子绘制的刷新率应不低于24帧/s。对实时计算要求较高的大量粒子运动轨迹的迭代计算过程而言,中央处理器(CPU)的计算负担较大,因此必须能高效快速计算出粒子的实时轨迹。
一方面通过改进算法,优化数据结构。在本文1.2节算法描述中,涉及到大量的开方、平方浮点运算,通常做法是采用开发平台提供的运行时数学函数库,如开方sqrt、乘方pow,这些函数常规的程序开发已经够用,但一些软件商还提供了快速算法,相比而言,快速算法能显著提高程序的运行效率。
优化的数据结构。描述粒子的结构体定义为:
另一方面,采用多核程序设计技术。当前,芯片技术已发展到多内核处理器。多核处理器(Multi-Core CPU)是在单个处理器内封装了2个或更多的处理器执行单元,多内核处理器的推出使得开发人员可以大幅提高应用程序的性能。对于常规的多核程序设计,即便采用了多进程、多线程技术提高程序的计算效率,但其计算依然局限在某一特定的处理器内核中,只采用了"多核"中的"一核"。为此应充分挖掘多核处理器的潜能,从而提高应用程序的并行性。英特尔C++编译器工具是英特尔公司开发的一款优化的编译器,它能够针对特定的硬件进行最佳的优化应用。
该编译器面向多款操作系统(其中包括Mi-crosoftWindows和Linux)、多种架构(32位英特尔架构、英特尔安腾架构)和采用英特尔64位扩展技术的系统。它符合C和C++语言标准,并与GNU编译器集合(GCC)二进制兼容,其中包括OpenMP和自动并行化。
采用Intel CPU的SSE3指令优化程序,加快迭代计算过程;采用Windows API函数QueryPerfor-manceFrequency精确计时,在Intel Core Dou CPU T7100 1.8 GHz(2CPUs),1 024M RAM的windows xp sp3的计算机上,网格大小为50×500,一共有17 911个粒子,优化前后的计算性能对比如图2所示。
图2 粒子运动迭代计算性能测试Fig.2 The iterative calculation performance of movement of particles
3.2 粒子绘制
Vega Prime不具备流场数据的三维动态可视化功能,这需要运用Vega Prime良好的可扩充机制,由于其支持OpenGL扩展,因此只需采用OpenGL加以定制使其具备相关功能。运用VEGA Prime的订阅机制(Subscriber),在通道(channel)的后绘制(post draw)时订阅EVENT_CHANNAL_POST_DRAW事件,在该事件的Notify中嵌入用户自定义的OpenGL绘制,核心代码如下:
为检验前述方法的流场三维可视化效果,笔者以长江河道某典型江段为例,该江段位于长江中游,最大江面宽度约2 km,河道弯曲迂回,水流状态复杂,河道中间有沙滩及小岛。数学模型计算采用上游某水位站来水流量达28 000 m3/s的洪水演进计算成果为数据源,实现的可视化结果如图3所示。通过实验验证表明,本算法计算速度快,适于不同河道断面形态及大变幅流速,可以比较准确逼真表现水流流态、流速分布、水位及淹没范围的动态变化情况,满足超大流量天然河道洪水演进模拟要求。
图3 基于粒子的流场可视化结果Fig.3 Visual result of flow field based on particle
本文以虚拟现实平台软件Vega Prime为基础,分析了实现流场动态可视化的技术框架、实现方法,并以实例研究对该方法进行验证。结果表明,该方法在将计算结果形象直观地显示出来的同时,使设计人员更快捷地发现并感知到流场数据中隐蔽的、难于发现的细节部分,可以大大缩短海量数据场的探索效率。同时,该方法适合模拟天然河道复杂超大变幅流量条件下的洪水演进的真实过程。
[1] 唐泽圣.三维数据场可视化[M].北京:清华大学出版社,1999.(TANG Ze-sheng.Visualization of 3D Field Data[M].Beijing:Tsinghua University Press,1999.(in Chinese))
[2] 李大美,杨小亭.水力学[M].武汉:武汉大学出版社,2004.(LI Da-mei,YANG Xiao-ting.Hydraulics[M].Wuhan:Wuhan University Press,2004.(in Chi-nese))
[3] 张尚弘.都江堰水资源可持续利用及三维虚拟仿真研究[D].北京:清华大学,2004:1-142.(ZHANG Shang-hong.Study on sustainable utilization of water re-sources and application of 3D simulation in dujiangyan[D].Beijing:Tsinghua University,2004:1-142.(in Chinese))
[4] 郅刚锁,朱 均.油膜流场可视化的实时性研究[J].计算机辅助设计与图形学学报,2004,16(1):116-120.(ZHIGang-suo,ZHU Jun.Investigation of real time issue in visualization of velocity field in oil film[J].Jour-nal of Computer-Aided Design&Computer Graphics,2004,16(1):116-120.(in Chinese))
(编辑:陈绍选)
Study on 3D Visualization of Flow Field Based on Vega Prime
TAN De-bao1,YE Song1,HUANG Yan-fang2,XIA Yu1
(1.Yangtze River Scientific Research Institute,Wuhan 430010,China;2.Changjiang Institute of Survey,Planning,Design and Research,Wuhan 430010,China)
The calculated resultof flood routing based onmathematicalmodel is usually expressed in numerical val-ueswhich indicate water level and flow velocity field.In order to discover the regularity of flood progression,visu-alization tools are used tomake values be expressed impressively by graphics.In this paper,the dynamic visualiza-tion of flood is based on Vega Prime softwarewhich is a virtual reality platform.Technical framework and realization ofmethods about dynamic visualization are researched and tested by an illustration.The results show that thismeth-od can achieve a better visual expression of the flow field.
3-D visualization;flood progression;flow field;vector field
TP312;TP391.9
A
1001-5485(2010)01-0001-03
2009-06-10
中央级公益性科研院所基本科研业务专项“洪水演进的三维可视化研究”(YWF0720/KJ03)
谭德宝(1966-),男,湖北巴东人,教授级高级工程师,主要从事空间信息技术应用研究工作,(电话)027-82820076(电子信箱)tandb@cjw.com.cn。