首页/文章/ 详情

ParaView数据文件(pvd)的格式与读写

10月前浏览1968

ParaView是一款功能丰富且开源的三维数据可视化工具。用户可以快速构建可视化信息来分析数据,支持 3D 交互、和批处理等功能。同时支持各种类型电脑与集群的数据可视化分析。在科学计算领域尤其是后处理方面,有大量实际的应用。

ParaView支持了大量不同格式的输入文件,有我们常见的CGNS,UNV,NetCDF,VTK,TecPlot等格式,也有分子动力学软件LAMMPS结果等格式。对于有限元、有限体积这类工程仿真计算结果数据,笔者认为通用性和效率最好的是其自家的ParaView Data (pvd)格式,所以也在最近的WelSim版本中支持了pvd格式的结果数据导出。pvd文件本质是多个数据子文件的入口文件,在工程仿真领域常用的附属子文件是pvtu和vtu文件。

vtu文件是存储网格与结果数据的主要文件,支持ASCII和二进制的方式。这里的u表示是unstructured的非结构网格。WelSim几年前就已经支持了vtu格式的结果导出功能。在vtu文件格式基础上,VTK提供了基于并行机制pvtu格式,对于并行状态下的文件读写,利用多核机制提高文件处理效率。这个功能对于大型仿真项目是非常有意义的。所以,笔者认为目前通用性与效率最好的结果文件解决方案是pvd+pvtu+vtu的方式。WelSim也在最新的版本中支持了pvd结果数据的导出,对于复杂的瞬态分析结果,用户可以方便快捷地将结果导出到ParaView进行后续的分析与报告生成。数据格式pvd, pvtu, vtu三者之间的关系如图所示:

ParaView数据文件格式

ParaView数据文件(pvd)是建立在VTK体系之上的一个xml文件。其中,最主要是定义了每个子文件的时间,可用于在后处理中正确显示一个结果的时间。这点对于瞬态分析结果是非常有必要的。

每个属性的定义如下:

Type: 类型为Collection, 表示此文件还含有一组数据文件。

Version:版本,目前默认0.1。

Byte_order: 对于二进制存储形式,需要设置“BigEndian”或“LittleEndian”。具体取决于写入此文件的平台的字节顺序。大多数商品笔记本电脑和台式机使用小端字节序;旧的集群和超级计算机可能使用大端。

Compressor: 可选项。设置压缩方式,如“vtkZLibDataCompressor”。 

Timestep: 浮点值。用于瞬态数据集的时间点。 

Group: 可选。列出了创建此数据集的源、阅读器或过滤器的唯一分配标识符。

Part: 当前数据集这部分的标识号。是一个大于或等于 0 的整数值。

File: 此数据集中的子文件名。相对路径。

如图所示,下图是由WELSIM生成的pvd文件。包含了一个瞬态分析结果中的9个时间步。

pvtu文件是基于vtu文件的一个并行读写的拓展。当只有一个节点进行文件读写时,pvtu只会含有一个vtu文件。当有多个节点进行写入文件时,会有多个vtu文件生成,每个vtu文件中的节点与单元信息都不相同。将所有vtu文件的网格信息整合起来就是完整的分析场域。pvtu会定义一些头文件信息,比如节点,单元,结果信息。而详细的数据还是会存储在vtu中。

如图所示,下图是由WELSIM生成的pvtu文件。

vtu是数据存储的核心文件,包含节点,单元,结果数值的全部信息。可以是以二进制存储,以节省读写资源。也可以是ASCII存储,便于使用者阅读数据内容。下图是由WELSIM生成的二进制vtu文件。

WELSIM导出结果文件

在WELSIM导出pvd文件是很容易的。只需要在计算完成后。选择 Answer节点,点击右键,会显示“导出全部结果选项“。

选择Export All Results后,会提示输入文件名,同时可以选择导出格式为ASCII还是二进制格式。

之后就能看到所生成的结果文件了。

总结

ParaView数据格式pvd是一个通用性很好的网格与结果文件格式。在VTK和ParaView开源社区的支持下,也逐渐地被科学计算与工程仿真人员接受并大量使用。WelSim会保持对pvd结果文件导出功能的维护与增强。

WelSim不隶属于ParaView,VTK。和ParaView,VTK的开发者没有直接关系。这里引用ParaView,VTK仅用作技术博客文章与软件使用的参考。

来源:WELSIM
通用WELSIM分子动力学LAMMPSParaView
著作权归作者所有,欢迎分享,未经许可,不得转载
首次发布时间:2023-06-24
最近编辑:10月前
WELSIM
一枚搞仿真的老员工
获赞 17粉丝 40文章 249课程 0
点赞
收藏
未登录
还没有评论

课程
培训
服务
行家

VIP会员 学习 福利任务 兑换礼品
下载APP
联系我们
帮助与反馈