我正在尝试使用 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/