我正在尝试使用 Paraview 的 xdmf 文件从 hdf5 文件中获取数据。
我在包含 2 个值的数组中有一个变量,我需要使用第一个。为此,我尝试使用函数,但不知道如何使用它。
所以如果我这样做:

<Attribute Name="rho" Center="Cell" AttributeType="Scalar">
    <DataItem Format="HDF" Precision="8" Dimensions="2">
        test.h5:/variables/rho_cell
    </DataItem>
</Attribute>

Paraview 给出了一个警告,我有一个包含 2 个值的数组,而我只有一个单元格(这个警告是预期的)。
所以我添加了一个这样的函数:
<Attribute Name="rho" Center="Cell" AttributeType="Scalar">
    <DataItem ItemType="Function" Function="$0[1:2]" Dimensions="1">
        <DataItem Format="HDF" Precision="8" Dimensions="2">
            test.h5:/variables/rho_cell
        </DataItem>
    </DataItem>
</Attribute>

随着 Paraview 崩溃(没有错误消息)。
老实说,我什至不确定数组索引是否像在 python 中一样(从 0 开始,0:1 意味着只有第一个元素)......我找不到任何帮助。我尝试了几乎任何参数组合,但似乎没有任何效果。

为了确保我的函数语法不是完全错误,我已经尝试过:
<Attribute Name="rho" Center="Cell" AttributeType="Scalar">
    <DataItem ItemType="Function" Function="$0 + 1.5" Dimensions="2">
        <DataItem Format="HDF" Precision="8" Dimensions="2">
            test.h5:/variables/rho_cell
        </DataItem>
    </DataItem>
</Attribute>

它有效,但显然仍然给出有关单元格数量的警告。

最佳答案

您是否尝试过使用坐标数据项?

<Attribute Name="rho" Center="Cell" AttributeType="Scalar">
    <DataItem ItemType="Coordinates" Dimensions="2" Type="Coordinates">
        <DataItem Format="XML" Dimensions="1">
            0
        </DataItem>
        <DataItem Format="HDF" Precision="8" Dimensions="2">
            test.h5:/variables/rho_cell
        </DataItem>
    </DataItem>
</Attribute>

关于xml - 用于 Paraview 的 Xdmf : select elements from a DataItem,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/32321356/

10-12 04:20