基于AVS/Express的CFD数据可视化设计及应用
2010-10-22蒋定国
蒋定国 曹 刚
(河海大学水利水电学院,南京 210098)
流体流动现象大量存在于自然界及多种工程领域中,所有这些过程都受质量守恒、动量守恒和能量守恒等基本物理定律的支配,因此流体运动的规律可由质量、动量和能量守恒方程来描述.计算机没有发明前,对方程经过大量简化后能够得到一些线性问题解析解,但实际的流动问题大都是复杂的强非线性问题,无法求得精确的解析解.计算机的出现以及计算技术的迅速发展使人们直接求解控制方程组的梦想逐步得到实现,从而催生了计算流体力学(CFD)这门交叉学科[1-4].随着CFD的研究不断深入,目前对于各种水流条件下的水力计算程序和软件层出无穷.但在计算结果得出后,往往难以直观地看出这些海量数据蕴含着何种规律,于是,不断有学者尝试将计算成果与可视化软件联系起来[5-8],构成数据的后处理系统,其中最常见的就是Depht 3D、Tecplot等软件.AVS/Express是一个可在各种操作系统下运行可视化应用程序的开发平台[9],可通过封装用户自己开发的模块,生成一个可以实现用户特殊要求的运行程序.
1 程序开发的基本思路
1.1 产生AVS可识别的数据域
AVS/Express可识别的数据格式被称为数据域其在可视化系统中具有举足轻重的作用.
目前对水流及其输运方程的求解多采用有限体积法和有限元法,其要义就是将计算区域剖分成离散的网格,求解网格节点上的函数值,来代替连续函数的表达式.由于有限元的选取方式不同,计算产生的数据结果也会有不同的格式.而AVS提供的数据读入模块,对数据的格式有一定的规范.所以,要实现数据的可视化,首要的任务就是将原始数据转换成AVS可以识别的数据域.
数据域是由网络和数据组成,其中Mesh由网格和元胞信息组成,网格定义节点在空间坐标中的位置,由 x、y、z 3个维度的坐标来实现;元胞信息是针对非结构化网格而言的,它提供给系统关于元胞的信息,如每个元胞由多少节点组成,各节点的连接方式如何,在均匀网格中,这项信息可以忽略.图1简单地表明了数据域的组成关系.
图1 AVS/Express数据域的组成
点数据和元胞数据既可以是一个或多个标量值,也可以是一个或者多个矢量值,AVS/Express可识别的网络结构分为4种类型,有限体积法用到的Rectilinear Mesh和Uniform Mesh,而有限元法的则为Unstructured Mesh和Structured Mesh两种类型.
一个完整的数据域文件,包括 *.fld文件和*.dat文件,前者是对数据进行描述;后者是数据的实体,是一组按照*.fld中描述的顺序排列而成的数据系列.
1.2 读入数据并对数据域进行过滤
AVS/Express提供的数据读入模块保存在Main库页的DataIO子库页中,可以针对不同的数据保存格式选择不同的模块.鉴于本文的实例是由Fortran语言算出的结果,数据保存文件格式为.txt,所以用到的模块是Rd_Txt_Columns,图2为此模块的实例化和网络简图.
图2 模块网络结构简图
在对数据处理的过程中,往往只需要研究计算区域的局部性质,比如只需要了解回流区的含沙量分布,只需要观察粘性底层的流场结构等.因此需要对数据域进行过滤.
1.3 添加几何图形和图像显示
AVS/Express提供了几百个模块[10],一般情况下,用户可以借助这些模块来完成程序开发.但是,有些模块还是需要用户自行研发,而模块的开发是一个难点,图3为模块的内部组成结构.
图3 模块Echoreader的内部组成结构
下面为本文封装的C程序代码:
2 溃坝洪水演进计算结果的显示
本工程实例采用的数据是滩坑水电站溃坝洪水风险评估计算数据.滩坑水电站位于瓯江右岸的最大支流——小溪的中游河段,溃坝洪水采用的计算方法见文献[11],本例选取了溃坝后4 h的淹没数据为研究对象.其网络结构图、水深云图、流速分量图、流速矢量图、流线图分别见图4~7.
3 结 论
用AVS/Express作为平台来开发CFD数据后处理应用程序,可以利用其面向对象的特点,用其自带的各库类模块,也可以简便灵活地新建自己的工程来添加用户自己开发的模块.同时,其强大的可视化功能,使得以前在编程语言中无法表达的物理现象和规律跃然纸上,在分析数据时具有事半功倍的特效.但是,如果要求运用Animator等模块制作动画,动态地显示水流的过程,除了数据文件的处理过程较为冗长外,对计算机的配置要求也很高,这是它的局限性.尽管如此,AVS/Express仍不失为一个很好的开发平台.
[1]龚光彩.CFD技术在暖通空调制冷工程中的应用[J].暖通空调,1999(6):25-27.
[2]谭洪卫.计算流体动力学在建筑环境工程上的应用[J].暖通空调,1999(4):33-38.
[3]沈 俊,傅立敏,黎妹红等.CFD软件及其在汽车领域的应用[J].汽车研究与开发,2000(5):26-28,43.
[4]张扬军,吕振华,徐石安等.汽车空气动力学数值仿真研究进展[J].汽车工程,2001(2):82-91.
[5]刘晓强.科学可视化的研究现状与发展趋势[J].工程图学学报,1997(Z1):128-134.
[6]雷 勇,魏 涛,柳共青.CFD可视化研究与进展[J].航空计算技术,1999(1):8-11,19.
[7]刘晓波,华祖林,何国建.计算流体力学的科学计算可视化研究进展[J].水动力学研究与进展(A辑),2004(1):120-125.
[8]吴 杰,黄春生,范绪箕.基于OpenGL的CFD设计平台中的流场可视化技术及其实现[J].工程图学学报,2004(2):65-72.
[9]周剑虹.AVS——先进的可视化软件系统[J].中国图像图形学报,1998(9):879-881.
[10]AVS/EXPRESS入门[M].美国洛杉矶地球物理公司北京办事处,1999.
[11]谢作涛,张小峰等.溃坝洪水数值模拟[J].水利水运工程学报,2005,6(2):9-17.