我正在尝试保存对应于相同的结构栅格(速度,湍流强度和速度波动的标准偏差)的三组矢量批量。理想情况下,我希望他们成为同一个vtk文件的一部分,但到目前为止,我只能在这样的文件中获得其中一个:

sg = tvtk.StructuredGrid(dimensions=x.shape, points=pts)
sg.point_data.vectors = U
sg.point_data.vectors.name = 'U'
write_data(sg, 'vtktestWake.vtk')
.

我已经花了几个小时搜索了如何添加更多的一个矢量或标量字段,但却失败,所以想到我在这里问。任何指导都将最受欢迎。

谢谢,

artur

有帮助吗?

解决方案

在一些挖掘之后,我发现基于这个这个示例。您必须使用add_array方法添加其他数据字段:

from tvtk.api import tvtk, write_data
import numpy as np

data = np.random.random((3,3,3))
data2 = np.random.random((3,3,3))

i = tvtk.ImageData(spacing=(1, 1, 1), origin=(0, 0, 0))
i.point_data.scalars = data.ravel()
i.point_data.scalars.name = 'scalars'
i.dimensions = data.shape
# add second point data field
i.point_data.add_array(data2.ravel())
i.point_data.get_array(1).name = 'field2'
i.point_data.update()

write_data(i, 'vtktest.vtk')
.

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top