如何存储适合于paraview的结构化方格数据?

时间:2017-12-03 14:11:50

标签: paraview

我有一些像这样的数据

i  j  Rho  ux   vy
1  1  1.0  0    1.5
2  1  1.0  0.1  1
...

这些数字是单元格坐标(i和j)的中心以及该单元格的其他属性值。 所有细胞大小相同,呈正方形。 如何保存我的数据,以便Paraview可以读取? 谢谢你的关注。

2 个答案:

答案 0 :(得分:1)

我认为您可以开发一个ParaView编写器,将您的数据转换为VTK兼容格式。关于您拥有的单元格类型,我建议使用.vti格式专门用于vtkImageData

第一步是将细胞中心的坐标转换为点的坐标。假设s是单元格的大小,(i,j)是其中心的坐标:

// using d for visiblity
d = s/2

// the embedding is in the plane, the value of z is arbitrary
z = 0

// list of points for one cell
p0 = (i-d, j-d, z)
p1 = (i-d, j+d, z)
p2 = (i+d, j-d, z)
p3 = (i+d, j+d, z)

我使用伪代码,因为你没有特别指定语言。通过这种转换,请记住,您应该避免重复点,因为连接的单元格共享公共点。

然后第二步是将属性值添加为与单元格相关联的标量或矢量字段(请参阅vtkDataArray)。(参见vtkCellData)。

答案 1 :(得分:0)

解决方案如下

  • 将数据集作为表格读取,假设它是csv文件。
  • 添加TableToPoints过滤器并正确设置I和J.
  • 添加ResampleWithImageData过滤器以生成点周围的单元格。