APP下载

基于Ensight的科学计算结果可视化

2016-04-12薛伟伟程长征

合肥学院学报(综合版) 2016年1期
关键词:可视化

薛伟伟,程长征

(合肥工业大学 土木与水利工程学院,合肥 230009)



基于Ensight的科学计算结果可视化

薛伟伟,程长征

(合肥工业大学 土木与水利工程学院,合肥230009)

摘要:FORTRAN和C等高级语言使用广泛,但计算结果多为数值文本。通过编写数据接口,将FORTRAN边界元法程序的数值计算结果转换成Ensight输入文件,得出计算结果的场图像。这种方法具备视觉效果好、开发工作量低、对硬件图形库有较好支持等特点。同时,利用Ensight的功能,可进行数值观察、添加等值线等操作。

关键词:Ensight;FORTRAN;可视化;科学计算

目前,计算机数值模拟逐渐成为解决工程和科学问题的主要手段。由于计算机处理的问题越来越复杂,科学工作者已经难于从大量的文本计算结果中直接观察出需要的结果[1]。科学数据可视化就是将计算结果以图形图像的方式显示出来。

在科研和工程中FORTRAN或C等语言使用广泛。FORTRAN和C等高级语言与MATLAB、Mathmatica等脚本解析类数学工具相比具有计算效率高的特点,但其结果展示的常见方式是通过文本输出,而后者通过简单的命令即可进行计算结果可视化[2]。虽然开发人员可以通过编写代码直接调用OpenGL等专业图形接口进行图像绘制,但开发难度大,工作量较大,容易让从事理论验证的科研工作者陷入重复性工作中,造成智力资源的浪费。

相比之下,使用成熟的科学可视化平台进行结果显示和二次处理是一种效果好且高效的方式,如使用Ensight或者VTK图形库及其衍生的Paraview等软件进行二维和三维可视化实现[3]。这种开发方式可以对大规模问题进行快速的图形化显示,同时具备视觉效果好,可移植性高,对硬件图形库有较好的支持等优点。这类工具简化和封装了图像绘制的技术细节,并且提供了许多专门用于视觉可视化的算法,开发工作量较低。例如使用Marching Cubes算法绘制三维等值面时,VTK中不要编写代码实现算法,同时也不需要对OpenGL进行显式操作[4],只需要通过调用vtkMarchingCubes类对数据进行操作即可[5]。而在Ensight中这一操作更加简单,仅仅通过菜单选取等值面添加功能并选取参数来源即可完成等值面的添加,同时用户可以通过拖动鼠标完成等值面参数值的设定。

本文对U地埋管温度场问题的FORTRAN边界元法计算结果进行了数据处理,通过MATLAB编写转换接口程序[6],在Ensight中实现了其计算结果可视化。

1数据可视化的基本思路

数据的连续可视化主要包含两个重要环节:(1)离散数据的可视化;(2)图形上离散点的连续化。

1.1数据的离散显示

通常,已知坐标(x,y)表示为平面上的一个离散点,若我们将其显示出来,并通过赋予离散点灰度或直接显示物理量值等方式便可完成初步的可视化工作。图1为一管状温度场的离散显示,每个圆点为采样点,灰度值表示其温度。其在数据验证和纠错等环节已具备一定的实用性,但通常灰度值的连续显示会更加直观,也与物理情形更加吻合。

1.2数据的连续显示

虽然数值模拟中我们得到的结果大都是离散的,但通常离散点不能较好地表现物理场的连续性。为了表现物理场的连续性,有以下两种处理方法。

方法一:使用更多的点对区间进行更细的分割,从而近似表现函数的连续变化。这种方法的优缺点都很明显,优点是绘制的每个点都反映了真实的函数关系;缺点是这种方法为了使图形上的离散点密集到产生连续感,需要的数据点数量很大,从而让系统计算量大大增加。因此在实际中这种方法较少使用。

方法二:在离散点采样的基础上,使用插值的方法模拟计算出离散点之间像素的计算结果,并将其绘出,从而获得连续的显示效果。这种方法优点明显,绘制的数据面有良好的连续感,绘图速度快,计算量小。其缺点是除采样点外,其他绘制值只是真实值的近似[7]。

综合来看,在实际应用中我们往往使用第二种方式实现面和体的数据绘制,其插值算法通常为线性插值或者二次插值,数学原理较为简单易懂[8]。

图2为我们对图1例子中的数据进行线性插值后的结果图。可以看出与图1的展示结果相比,离散的点构成了面。虽然其初始信息相同,但运用插值对平面上色后可视化效果更符合实际情况。

图1 U型槽温度场结果的离散显示

图2 U型槽温度场结果的连续显示

2Ensight接口和转换程序编写

2.1Ensigh简介

Ensight是由CEI公司开发的一款科学数据可视化软件,具有良好的可移植性,能运行于Windows、Linux、Unix等多种平台,其功能丰富,使用简单[9]。其相对MATLAB等高级解析类语言或者Origin等工具进行后处理的优势在于显示效果好,可快速进行丰富的三维操作,同时在计算结果充分的前提下进行等值线、等值面、粒子追踪和流线绘制的操作和使用简单,无需编写代码。

2.2Ensight接口介绍

Ensight作为专用的科学可视化平台,数据接口丰富,其具备AcuSolve、ADINA、Airpak、ABAQUS、 ADAMS、ANASYS等数十款计算力学软件的数据接口。对这些商用程序,我们可以在Ensight中直接读取计算结果,进行图像化操作和数据的二次处理。同时,Ensight具备自己的专有数据接口文件格式: Ensight5、Ensight6和Ensight gold。我们的目标是将FORTRAN或其他高级语言的文本计算结果转化成以上任意一种格式的文件,实现让Ensight进行科学数据可视化。以Ensight6格式为例,它需要的数据文件由以下三类文件组成,

一个案例配置文件(case文件):此文件包含了数据版本申明、几何模型文件和数据文件的配置;

一个几何模型文件(geo文件):文件中给出了所有节点的坐标以及网格和单元类型信息;

数个数据文件:每个物理量单独组成一个数据文件,可以包含各类自定义的计算结果。

2.3接口转换程序的编写

本文使用MATLAB的字符处理功能编写基于Ensight6标准的接口转换程序[6]。为实现算例,编写的代码功能和流程如下。

2.3.1案例文件部分(case文件)编写流程

(1)配置字符串信息,其中包含case文件需要的几何文件和数据文件信息;

(2)生成case文件,并依据配置写入相关信息。

2.3.2几何文件部分(geo文件)

(1)读取FORTRAN计算结果;

(2)提取字符串信息,其中包含geo文件需要的网格和单元配置信息;

(3)对FORTRAN的计算结果进行delaunay网格划分,从而确定合适的面信息,将离散的数据点组合成合适的三角形单元;

(4)生成geo几何文件,以Ensight6格式写入节点和单元信息。

2.3.3数据文件部分

(1)配置字符串信息,其中包含case文件需要的配置信息;

(2)读取FORTRAN计算结果;

(3)生成相应后缀名的数据结果文件,以Ensight6格式写入计算的结果值。

3垂直双U型地埋管换热器算例

本算例通过FORTRAN编写的边界元程序进行计算得到结果, 包含平面内7 472个点的温度数据。其物理情形为一个竖直双地埋管,在管段上截取一水平微元段,建立地埋管的二维传热模型,如图3。土壤外边界温度T=18°C,外边界直径d=8m,管中流体及内壁温度设为 35°C[10]。

图3 双U型地埋管横截面示意图

以下是我们生成的案例文件,其中example.geo为几何文件名,Temperature_2u.Nsca为温度标量数据文件名,Temp_De.Nvec为温度梯度矢量数据文件名。

FORMAT

type: Ensight

GEOMETRY

model: example.geo

VARIABLE

scalar per node: Temperature Temperature_2u.Nsca

vector per node: Potential_derivative Temp_De.Nvec

以下是生成的几何文件,利用了结果文件中的7 472个节点,由14 650个三角形单元组成。

This is the 2nd description line of the Ensight6 geometry example

This is the 1st description line of the Ensight6 geometry example

node id given

element id given

coordinates

7472

1-1.20000e-01-1.20000e-01 0.00000e+00

……

7472 2.50000e-02-1.25000e-02 0.00000e+00

part 1

2D

tria3

14650

1223522342308

2134514171418

……

14650511851915192

以下是生成的温度梯度矢量数据文件,包含7 472个节点的计算数据,温度数据文件与其类似。

Per_node vector values for the Ensight6 geometry example

2.80610e+01 3.23241e+01 0.00000e+00 2.81033e+01 3.31175e+01 0.00000e+0……

2.83082e+01 3.72438e+01 0.00000e+00 2.83476e+01 3.80906e+01 0.00000e+00

生成如上文件后,在Ensight中可以打开案例文件。

打开案例文件进行图像计算,可以获得类似图4的的初步结果演示。

图5是面插值之前的网格,可以看见划分的三角形单元。

图4 Ensight中生成的单元网格演示(温度单位:℃)

图5 Ensight中显示的单元网格细节

图6是面插值并绘制等温线之后的图像,图中我们设置了四个数据探针观察相应坐标的温度。

Ensight中所有的对象均为三维体,如图7,我们可以方便地对FORTRAN生成的二维物理场计算结果进行三维观察。

图6 绘制等温线之后的温度场图像(温度单位: ℃)

图7 三维视角查看对象(温度单位: ℃)

在图8中我们设置了温度剖面,同时将温度映射成模型高度,生成了三维模型。

Ensight可以对物理量梯度进行计算。图9为将温度梯度作为变量进行矢量追踪动画时的截图,箭头方向为温度梯度的指示方向。

图8 U型地热管热场问题的三维展示(温度单位: ℃)

图9 温度场中温度梯度展显示(温度单位: ℃)

4总结

本文使用图像处理工具Ensight实现了FORTRAN计算结果的可视化。借助基于硬件API的专业后处理平台,通过编写可重复使用的接口转换程序,FORTRAN计算结果可以得到更加快捷和全面的展示,计算数据检验也变得更加容易。使用FORTRAN等高级语言获得的文本计算结果编制图像,可以得到不弱于大部分商业计算力学的后处理模块的展示效果。

参考文献:

[1]Singular Paggi M. Hypersingular and Singular Free Electromagnetic Fields at Wedge Tips in Metamaterials[J]. Int J Solids Struct 2010; 47: 2062-2069.

[2]罗正平,江纯伟. 基于Fortran和Matlab混合编程的EAST零场计算可视化[J]. 合肥学院学报:自然科学版,2007(3):22-25.

[3]Ramachandran P, Mayavi Varoquaux G. 3D Visualization of Scientific Data[J]. Computing in Science & Engineering, 2011, 13(2): 40-51.

[4]石琼, 沈春林, 谭皓. 基于OpenGL的三维建模实现方法[J]. 计算机工程与应用,2004(18):122-124.

[5]姚继锋. 科学计算可视化的方法与实现[J].高性能计算, 2012, 72(1): 4-13.

[6]张志涌. 精通MATLABR2011a[M].北京:北京航空航天大学出版社,2011:108.

[7]毕硕本, 张国建, 侯荣涛, 等. 三维建模技术及实现方法对比研究[J].武汉理工大学学报,2010(16):26-30,83.

[8]李建波. 有限元可视化算法的研究与程序开发[D].大连:大连理工大学计算机科学与技术学院,2003.

[9]房俊杰, 陆正刚, 孙效杰. 基于Ensight的轨道车辆运行可视化研究[J]. 内燃机车, 2012(5):23-25,6.

[10] 朱利媛, 牛忠荣, 胡宗军,等. 地源热泵地埋管换热性能的边界元法分析[J].太阳能学报, 2015(4):936-942.

[责任编辑:张永军]

Visualization of Scientific Data Using Ensight

XUE Wei-wei, CHENG Chang-zheng

(School of Civil Engineering, Hefei University of Technology,Hefei 230009,China)

Abstract:FORTRAN and C programs are extensively used as numerical calculation tools by researchers in various fields, and the numerical results are usually output in the text format. A field image can be obtained using Ensight via establishing the data interface of the Ensight software, and converting text results of a FORTRAN boundary element method example into a Ensight input file. The advantages of this technique are good visual effect,low development effort, better graphics library for hardware support and so on. In addition, observing the data and adding the equivalent line can be further accomplished in Ensight.

Key words:Ensight;FORTRAN;visualization; scientific data

中图分类号:TP314

文献标识码:A

文章编号:1673-162X(2016)01-0041-05

作者简介:薛伟伟(1986—),男,安徽芜湖人,合肥工业大学土木与水利工程学院2013级硕士研究生;研究方向:土木工程中的计算力学。

基金项目:国家自然科学基金项目(11372094)资助。

收稿日期:2015-12-10

猜你喜欢

可视化
无锡市“三项举措”探索执法可视化新路径
基于CiteSpace的足三里穴研究可视化分析
自然资源可视化决策系统
三维可视化信息管理系统在选煤生产中的应用
思维可视化
自然资源可视化决策系统
基于CGAL和OpenGL的海底地形三维可视化
可视化阅读:新媒体语境下信息可视化新趋势
“融评”:党媒评论的可视化创新
H5,如何助力新闻可视化