如何从python输出数组以显示paraview

时间:2016-03-15 00:05:22

标签: python vtk paraview

我有一个2d的坐标数组,在每个坐标上我都有压力值。我想以我以后可以在techplot或paraview中打开它们的方式导出我的数据和坐标集。

我已经在vtk上阅读了很多,但找不到我的问题的解决方案。我知道它应该很容易,但我在这里和开始时都是新手。

谢谢

3 个答案:

答案 0 :(得分:1)

一个简单的解决方案是将您的数据写入CSV文件。

CSV文件包含点的坐标和这些点的变量值。例如,这是我的文件的开头:

"X"          , "Y"          , "Z"          , "R"         
-5.00e+00    , -2.00e+00    , 0.00e+00     , 5.39e+00    
-3.89e+00    , -2.00e+00    , 0.00e+00     , 4.37e+00    
-2.78e+00    , -2.00e+00    , 0.00e+00     , 3.42e+00    
-1.67e+00    , -2.00e+00    , 0.00e+00     , 2.60e+00      

在ParaView中可视化您的数据:

  1. 在ParaView中打开文件。

    导入选项将显示在"属性" pannel(见下文)。检查字段分隔符是否正确,然后按"应用"。

    Property pannel for the CSV reader

  2. 使用表格分数过滤器

    在管道浏览器中选择CSV阅读器(与文件同名的元素)。转到过滤器菜单,在主菜单中,转到"按字母顺序排列",然后查找"表到点"。

    此过滤器的属性面板显示如下。在此面板中,您必须指明哪个列定义点的X,Y和Z坐标。由于您拥有2D数据,因此您可以检查" 2D点"忽略Z列的选项。然后检查"应用"。

    Table To Points property pannel

    如果视图窗口中没有任何内容,请单击管道浏览器中TableToPoints元素旁边的眼睛符号。

  3. 创建多边形数据集

    通过这些操作,您可以将数据可视化为按数量着色的点。例如:

    Visualization of the data at the points

    为了更好的可视化,我建议使用Delaunay 2D过滤器创建一个poloygonal数据集。在管道浏览器中选择TableToPoints元素,然后转到Filters菜单并查找" Delaunay 2D"在过滤器列表中。使用此滤镜,您将获得平滑的插值可视化。以下是我的示例文件的结果:

    Visualization with the delaunay 2D filter

  4. 您可以在the ParaView wiki

    中找到有关CSV文件的其他信息

答案 1 :(得分:0)

请参阅VTK文件格式指南:http://www.vtk.org/wp-content/uploads/2015/04/file-formats.pdf

您需要将文件另存为结构化点,其中n_x和n_y大小(VTK用语中的维度)大于1且n_z维度为1。

您的数据文件应该是

# vtk DataFile Version 2.0
This is a sample data set describing a 2D array of floats with dimensions 128 x 256.
ASCII
DATASET STRUCTURED_POINTS
DIMENSIONS 128 256 1
ORIGIN 0.0 0.0 0.0
SPACING 1.0 1.0 1.0
SCALARS pressure float 1
LOOKUP_TABLE default
1.0
1.0
...
<128*256 total entries>

名称保存扩展名为.vtk的文件,您可以在ParaView中加载它。

答案 2 :(得分:0)

我想补充一下Cory Quammen的回答。 尝试应用他的方法时,导入.vtk文件或Paraview(版本5.8.1)时出现以下错误:

vtkstructuredpointsreader (0x5513c30): unrecognized keyword: scalars

我不确定是什么原因造成的,但是我通过显式定义CELL_DATAPOINT_DATA来解决。就我而言,生成的.vtk如下所示:

# vtk DataFile Version 3.0
Vtk output for binned flow configurations (metric in Ångström)
ASCII
DATASET STRUCTURED_POINTS
DIMENSIONS 65 1 30
ORIGIN 870.6375 0.0 0.0
SPACING 1.996875 25.0 1.9977631578947368
CELL_DATA 1856
POINT_DATA 1950
SCALARS density float 1
LOOKUP_TABLE default
25.206808815618885
36.654412373503654
36.242826782279884
36.50975262319155
35.96262518604988
34.16361654279422
31.625047088384182
30.86263741338999
30.848340565843436
...

我希望这可以帮助遇到同样问题的人们。