如何将时间从c ++代码包含到parav动画的ASCII vtk文件中

时间:2016-09-15 11:07:01

标签: c++ time vtk paraview

我在每个时间步骤将数据从C / C ++模拟代码打印到vtk文件。我创建了编号的数据文件(例如data.000.vtk,data.001.vtk,...)。

我无法在这些包含结构化网格数据的vtk文件中包含每个计算步骤的时间,以便我可以在动画期间通过paraView查看时间(秒)。

这有可能吗?非常感谢您的帮助。

1 个答案:

答案 0 :(得分:1)

遗憾的是,无法以传统的VTK文件格式记录模拟时间。因此,如果您想将时间从模拟传递到ParaView,则需要使用不同的文件格式。

我认为记录模拟时间的最简单方法是使用ParaView数据(PVD)文件。 PVD文件是一个简单的XML文件,用于捕获有关一组数据文件的元数据,时间值信息是可以捕获的内容之一。 http://www.paraview.org/Wiki/ParaView/Data_formats#PVD_File_Format给出了PVD格式的简要说明。该页面上的示例具有“timestep”值,这些值是从0开始的整数,但您可以使用任何浮点数序列替换它们。

PVD文件本身不保存数据本身。相反,它指向具有实际数据的其他文件。它指向的数据文件必须采用较新的基于XML的VTK文件格式(vti,vtr或vts,具体取决于结构化数据的性质)。基于XML的VTK文件格式也记录在http://www.vtk.org/VTK/img/file-formats.pdf中(在传统VTK格式的文档之后)。