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

问题描述 投票:1回答:2

我有一些像这样的数据

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

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

paraview
2个回答
0
投票

解决方案如下

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

1
投票

我认为您可以开发一个ParaView编写器,将您的数据转换为VTK兼容格式。关于你所拥有的细胞种类,我建议使用专门用于.vtivtkImageData格式。

第一步是将细胞中心的坐标转换为点的坐标。假设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)。

© www.soinside.com 2019 - 2024. All rights reserved.