[Paraview] XDMF help

Jerry Clarke clarke at arl.army.mil
Mon Aug 24 12:16:01 EDT 2009


Christine,

You need to add dimensions to <Topology>. Something like :

        <Topology TopologyType="3DRectMesh" Dimensions="10 20 30" />
        <Geometry GeometryType="XYZ" >
          <DataItem Dimensions="11254149 3" NumberType="Float" 
Precision="8"
  Format="HDF">examplefile.h5:/dark/position</DataItem>
        </Geometry>

Obviously it's not 10x20x30 .....

Also, you'll want NumberType="Float" in the DataItem of the Geometry and 
GeometryType="XYZ" in Geometry.
Eventhough those are the default, it's still a good idea.


Jerry Clarke

Christine Corbett Moran wrote:
> Hi,
> 
> I have an existing HDF5 file (which I did not personally create so am 
> not familiar with other than the info I get from h5dump/h5ls) I'd like 
> to read in with Paraview. I'm first trying to create the most basic xmf 
> file possible which allows Paraview to read in the position array from 
> the HDF5 file (based on the documentation here: 
> http://www.xdmf.org/index.php/XDMF_Model_and_Format). Right now whatever 
> I try either causes a segfault or reads in data nonsensically. Could 
> anyone point me in the right direction--e.g. based on the info below are 
> my data dimensions just off?--or to better documentation? Thanks in 
> advance, it's hopefully something simple I just missed from the 
> documentation.
> 
> More information about the file and what I have tried is below.
> 
> *After reading a bit and playing around with the parameters, my current 
> .xmf attempt segfaults shortly after the server prints "Done Parsing." 
> If I change TopologyType to 3DSMesh it doesn't segfault but what it 
> manages to read in (only a single point) is nonsensical. Any of the 
> other TopologyTypes listed in the documentation I have found likewise 
> produce a segfault. I also tried various permutations of the Dimensions 
> argument ("11254149 3", "3 11254149", "3751383 3", "3751383 3"*), *with 
> each possible 3D Topology, these likewise manage to read in either just 
> a single point or segfault. I didn't try modifying the precision 
> argument as hd5ls tells me the position array should be of doubles. This 
> is my current attempt:*
> *<?xml version="1.0" ?>
> <!DOCTYPE Xdmf SYSTEM "Xdmf.dtd" []>
> <Xdmf xmlns:xi="http://www.w3.org/2003/XInclude" Version="2.2">
>   <Domain>
>     <Grid>
>       <Topology TopologyType="3DRectMesh"/>
>       <Geometry>
>         <DataItem Dimensions="11254149 3" Precision="8" 
> Format="HDF">examplefile.h5:/dark/position</DataItem>
>       </Geometry>
>     </Grid>
>   </Domain>
> </Xdmf>
> 
> *About the portion of the file I am trying to read in:
> % h5ls -rv examplefile.h5
> 
> Opened "examplefile.h5" with sec2 driver.
> 
> /dark                    Group
>     Attribute: iOrder    {1}
> 
>         Type:      native unsigned long
>         Data:  0
> 
>     Location:  0:1:0:2552
>     Links:     1
> 
> ...
> /dark/position           Dataset {11254149/Inf, 3/3}
> 
>     Location:  0:1:0:2600
>     Links:     1
> 
>     Modified:  2008-07-31 04:12:06 CEST
>     Chunks:    {32768, 1} 262144 bytes
> 
>     Storage:   270099576 logical bytes, 270536736 allocated bytes, 99.84% utilization
>     Filter-0:  fletcher32-3  {}
> 
>     Type:      native double
> ...
> 
> *More information about the portion of the file I am trying to read in obtained from h5dump
> 
> %h5dump -x examplefile.h5 > examplefile.xml 
> %grep -A 30 position examplefile.xml
> 
>       <hdf5:Dataset Name="position" OBJ-XID="xid_2600-0" H5Path= "/dark/position" Parents="xid_2552-0" H5ParentPaths="/dark">
> 
>          <hdf5:StorageLayout>
>             <hdf5:ChunkedLayout Ndims="2">
> 
>                <hdf5:ChunkDimension DimSize="32768" />
>                <hdf5:ChunkDimension DimSize="1" />
> 
>                <hdf5:RequiredFilter>
>                      <hdf5:Fletcher32 />               </hdf5:RequiredFilter>
> 
>             </hdf5:ChunkedLayout>
>          </hdf5:StorageLayout>
> 
>          <hdf5:FillValueInfo FillTime="FillIfSet" AllocationTime="Incremental">
>             <hdf5:FillValue>
> 
>                   <hdf5:NoFill/>
>             </hdf5:FillValue>
> 
>          </hdf5:FillValueInfo>
>          <hdf5:Dataspace>
> 
>             <hdf5:SimpleDataspace Ndims="2">
>                <hdf5:Dimension  DimSize="11254149" MaxDimSize="UNLIMITED"/>
> 
>                <hdf5:Dimension  DimSize="3" MaxDimSize="3"/>
>             </hdf5:SimpleDataspace>
> 
>          </hdf5:Dataspace>
>          <hdf5:DataType>
> 
>             <hdf5:AtomicType>
>                <hdf5:FloatType ByteOrder="LE" Size="8" SignBitLocation="63" ExponentBits="11" ExponentLocation="52" MantissaBits="52" MantissaLocation="0" />
> 
>             </hdf5:AtomicType>
>          </hdf5:DataType>
> 
>          <hdf5:Data>
>             <hdf5:DataFromFile>
> 
>             -0.0117184 -0.00222114 -0.0762903
>             -0.0111324 -0.00176135 -0.0765049
> 
>             -0.0106262 -0.00136187 -0.0765845
>             -0.0112606 -0.00112936 -0.0766193
> 
> ...
> 
> 
> ------------------------------------------------------------------------
> 
> _______________________________________________
> Powered by www.kitware.com
> 
> Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html
> 
> Please keep messages on-topic and check the ParaView Wiki at: http://paraview.org/Wiki/ParaView
> 
> Follow this link to subscribe/unsubscribe:
> http://www.paraview.org/mailman/listinfo/paraview



More information about the ParaView mailing list