使用 Python 为每个单元格从 VTK(vtu) 文件中提取矢量数据,

我有大量(约 200 个)VTK(VTU) XML 文件,其中包含一些矢量数据作为沿 X、Y 和 Z 方向的组件。它采用某种base64编码。我正在尝试编写一个简单的python代码来一个一个读取这些VTU(xml)文件并提取向量信息,并以某种形式存储它。我是编程新手,我搜索了很多,但找不到任何关于此的教程或文档。任何人都可以通过建议一种从 VTU 文件中提取特定矢量信息的方法来帮助我吗?我的 VTU 文件看起来像这样。


    <?xml version="1.0"?>

<VTKFile type="UnstructuredGrid" version="0.1" byte_order="LittleEndian" header_type="UInt32" compressor="vtkZLibDataCompressor">

  <UnstructuredGrid>

    <FieldData>

      <DataArray type="Float64" Name="timeInPs" NumberOfTuples="1" format="appended" RangeMin="3830100.0073"         RangeMax="3830100.0073"         offset="0"                   />

    </FieldData>

    <Piece NumberOfPoints="611"                  NumberOfCells="2379"                >

      <PointData Scalars="Material" Vectors="Magnetization">

        <DataArray type="Float64" Name="Magnetization" NumberOfComponents="3" format="appended" RangeMin="1"                    RangeMax="1"                    offset="48"                  />

        <DataArray type="Int32" Name="Material" format="appended" RangeMin="0"                    RangeMax="0"                    offset="16484"               />

      </PointData>

      <CellData>

      </CellData>

      <Points>

        <DataArray type="Float32" Name="Points" NumberOfComponents="3" format="appended" RangeMin="1.6616296724e-15"     RangeMax="5.000000259"          offset="16544"               >

          <InformationKey name="L2_NORM_RANGE" location="vtkDataArray" length="2">

            <Value index="0">

              1.6616296724e-15

            </Value>

            <Value index="1">

              5.000000259

            </Value>

          </InformationKey>

        </DataArray>

      </Points>



梦里花落0921
浏览 641回答 1
1回答
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python