xml - XDMF - 使用 Hyperslab 从矢量场中提取分量
问题描述
我正在尝试加载存储在文件中的矢量场的单个组件uvw_000001.bin
。
我正在使用下面的 XDMF 文件,它将字段值加载到变量中q
就好了,即我可以在 Paraview 中查看它的组件。
u
我尝试提取矢量场的第一个分量的第二个变量在 Paraview 中不可用。
我究竟做错了什么?
<?xml version="1.0" ?>
<!DOCTYPE Xdmf SYSTEM "Xdmf.dtd" []>
<Xdmf Version="3.0">
<Domain>
<Grid Name="staggered_east" GridType="Uniform">
<Topology TopologyType="3DRectMesh" NumberOfElements="34 34 34"/>
<Geometry GeometryType="VXVYVZ">
<DataItem Dimensions="34" NumberType="Float" Precision="4" Format="XML">
0.0000000000000000 0.10000000000000001 0.20000000000000001 0.30000000000000004 0.40000000000000002 0.50000000000000000 0.60000000000000020 0.70000000000000007 0.80000000000000004 0.90000000000000002 1.0000000000000000 1.1000000000000001 1.2000000000000002 1.3000000000000000 1.4000000000000001 1.5000000000000000 1.6000000000000001 1.7000000000000002 1.8000000000000000 1.9000000000000001 2.0000000000000000 2.1000000000000001 2.2000000000000002 2.3000000000000003 2.4000000000000004 2.5000000000000000 2.6000000000000001 2.7000000000000002 2.8000000000000003 2.9000000000000004 3.0000000000000000 3.1000000000000001 3.2000000000000002 3.3000000000000003
</DataItem>
<DataItem Dimensions="34" NumberType="Float" Precision="4" Format="XML">
-5.0000000000000003E-002 5.0000000000000003E-002 0.15000000000000002 0.25000000000000000 0.35000000000000003 0.45000000000000001 0.55000000000000004 0.65000000000000013 0.75000000000000000 0.85000000000000009 0.94999999999999996 1.0500000000000000 1.1500000000000001 1.2500000000000000 1.3500000000000001 1.4500000000000002 1.5500000000000000 1.6500000000000001 1.7500000000000000 1.8500000000000001 1.9500000000000002 2.0499999999999998 2.1500000000000004 2.2500000000000000 2.3500000000000005 2.4500000000000002 2.5499999999999998 2.6500000000000004 2.7500000000000000 2.8500000000000005 2.9500000000000002 3.0499999999999998 3.1500000000000004 3.2500000000000000
</DataItem>
<DataItem Dimensions="34" NumberType="Float" Precision="4" Format="XML">
-5.0000000000000003E-002 5.0000000000000003E-002 0.15000000000000002 0.25000000000000000 0.35000000000000003 0.45000000000000001 0.55000000000000004 0.65000000000000013 0.75000000000000000 0.85000000000000009 0.94999999999999996 1.0500000000000000 1.1500000000000001 1.2500000000000000 1.3500000000000001 1.4500000000000002 1.5500000000000000 1.6500000000000001 1.7500000000000000 1.8500000000000001 1.9500000000000002 2.0499999999999998 2.1500000000000004 2.2500000000000000 2.3500000000000005 2.4500000000000002 2.5499999999999998 2.6500000000000004 2.7500000000000000 2.8500000000000005 2.9500000000000002 3.0499999999999998 3.1500000000000004 3.2500000000000000
</DataItem>
</Geometry>
<Attribute Name="q" AttributeType="Scalar" Center="Node">
<DataItem
ItemType="Uniform"
Name="uvw_s"
Format="Binary"
Dimensions="34 34 34 3"
DataType="Float" Precision="8" Endian="Big" Seek="8"
>
uvw_000001.bin
</DataItem>
</Attribute>
<Attribute Name="u" AttributeType="Scalar" Center="Node">
<DataItem
ItemType="HyperSlab"
Dimensions="34 34 34"
Type="HyperSlab">
<DataItem
Dimensions="3 4"
Format="XML">
0 0 0 0
1 1 1 1
34 34 34 1
</DataItem>
<DataItem
ItemType="Uniform"
Name="uvw"
Format="Binary"
Dimensions="34 34 34 3"
DataType="Float" Precision="8" Endian="Big" Seek="8"
>
uvw_000001.bin
</DataItem>
</DataItem>
</Attribute>
</Grid>
</Domain>
</Xdmf>
更新 我现在意识到,当使用 Paraview 的 xdmf 阅读器而不是 xdmf3 时,代码实际上可以工作。后者是默认设置。
有没有办法用 xdmf3 阅读器实现相同的结果?
解决方案
推荐阅读
- html - Bootstrap 自定义导航栏折叠按钮未显示
- c - 如何正确使用 .bss 内存部分(用于全局变量)进行汇编(armv8)程序?
- r - 给定日期范围和相应的 ID,查找具有重叠日期的 ID 组
- javascript - 我如何从另一个函数中获取对象
- r - Shiny App中的生存功能问题
- ember.js - 无法运行 ember 测试
- r - 如何在 R 中的多个 word 文件上运行 for 循环
- botframework - ChatBot 在 Web Emulator 中不起作用,但在 Local Bot Framework 仿真器中运行良好
- ruby - 检查文本文件是否以特定方式格式化
- node.js - 在 heroku 上部署 express 项目时出错