我有一些像这样的数据
i j Rho ux vy
1 1 1.0 0 1.5
2 1 1.0 0.1 1
...
这些数字是单元格坐标(i和j)的中心以及该单元格的其他属性值。所有细胞大小相同,呈正方形。如何保存我的数据,以便Paraview可以读取?感谢您的关注。
解决方案如下
我认为您可以开发一个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)。