[Paraview] XDMF Reader

D Haley mycae at gmx.com
Wed Sep 6 14:06:21 EDT 2017


Hi David,

Thanks for the very rapid response. This does indeed work.

I initially had troubles - it does not work under the XDMF reader, if
the voxel sizes are of unequal dimension. I had to select XDMF3 to
succesfully load the data.

Thanks very much for your help!

For any future readers, I had this inside the temporal collection:
<Grid GridType="Collection" CollectionType="Temporal">
	...

	<!-- nth grid-->
     <Grid GridType="Collection" CollectionType="Spatial">

                <Time Value="4"/>
                <Grid Name="Data" GridType="Uniform">
                <Topology TopologyType="3DCORECTMesh" Dimensions="31 31
31"/>
                <Geometry GeometryType="ORIGIN_DXDYDZ">
                <DataItem Name="Origin" Dimensions="3"
NumberType="Float" Precision="4" Format="XML">-0.6 -0.6 -0.6</DataItem>
                <DataItem Name="Spacing" Dimensions="3"
NumberType="Float" Precision="4" Format="XML">0.04 0.04 0.04</DataItem>
                </Geometry>
                <Attribute Name="second 0" AttributeType="Scalar"
Center="Node">
                <DataItem Format="HDF" NumberType="Float" Precision="4"
Dimensions="31 31 31">ls-84.hdf:/voxels</DataItem></Attribute>
                </Grid>
        </Grid>
</Grid>


On 06/09/17 18:00, David E DeMarle wrote:
> On Wed, Sep 6, 2017 at 12:47 PM, D Haley <mycae at gmx.com> wrote:
> ...
> 
>> Does paraview support CollectionType="Temporal"? [1]. If it is
> 
> important, I am using paraview 5.4.0
>>
>>
> Yes.
> 
> Try putting the spatial collection inside the temporal one. Promote <Time=
> Value="x"/> to the spatial collection.
> 
> <Xdmf>
>   <Domain Name="Data">
>      <Grid GridType="Collection" CollectionType="Tempoal">
>        <Grid GridType="Collection" CollectionType="Spatial">
>           <Time = 0>
>           <Grid ... your existing temporal grid here >
>        </Grid>
>        <Grid GridType="Collection" CollectionType="Spatial">
>           <Time = 1>
>           <Grid ... your existing temporal grid here >
>        </Grid>
>        ...
>      </Grid>
>   </Domain>
> </Xdmf>
> 
> 
>>
>> Thanks!
>>
>> [1]
>> http://xdmf.org/index.php/XDMF_Model_and_Format#Uniform.
>> 2C_Collection.2C_and_Tree
>>
>> On 06/09/17 14:18, David E DeMarle wrote:
>>> Please reply-all to keep the mailing list on the thread so everyone can
>>> contribute to the discussion and benefit from it.
>>>
>>> To make a multiblock from xdmf, enclose your grid inside of an
>>> xdmfgridcollection like so:
>>> <Xdmf>
>>>   <Domain Name="Data">
>>>      <Grid GridType="Collection" CollectionType="Spatial">
>>>         <Grid ... your existing temporal grid here >
>>>      </Grid>
>>>   </Domain>
>>> </Xdmf>
>>>
>>>
>>> David E DeMarle
>>> Kitware, Inc.
>>> Principal Engineer
>>> 21 Corporate Drive
>>> Clifton Park, NY 12065-8662
>>> Phone: 518-881-4909
>>>
>>> On Wed, Sep 6, 2017 at 9:05 AM, D Haley <mycae at gmx.com> wrote:
>>>
>>>> Hello,
>>>>
>>>> Thanks very much for the pointer. I'm looking around for multiblock file
>>>> specifications - does such a thing exist, particularly for an XDMF+HDF5
>>>> wrapper?
>>>>
>>>> I've found an example for .vtp [1], but I can't seem to find any
>>>> specifications on what constitutes a .vtmb file. Subsequently I'm having
>>>> trouble fully understanding what is and is not permitted.
>>>>
>>>>
>>>> Thanks!
>>>>
>>>> [1] https://public.kitware.com/pipermail/paraview/2009-April/
>> 011847.html
>>>>
>>>> On 06/09/17 10:44, David E DeMarle wrote:
>>>>> Put the co-rect-mesh (image data) inside a grid collection
>> (multiblock).
>>>>>
>>>>> Paraview's pipeline doesn't deal well with image data that changes
>>>>> dimensions over time. This is not limited to xdmf. When inside a
>>>>> multiblock, a different pipeline layer takes over and it works out.
>>>>>
>>>>> On Sep 6, 2017 5:09 AM, "D Haley" <mycae at gmx.com> wrote:
>>>>>
>>>>>>
>>>>>> Dear Paraview List,
>>>>>>
>>>>>> I'm trying to read some HDF files, which contain dense voxel data. In
>> my
>>>>>> calculations, I write out the HDF and wrapper XDMF data to store
>>>>>> timestep and other metadata.
>>>>>>
>>>>>> This all works fine, until I want to have 2 different voxel sizes at 2
>>>>>> different timesteps (different number of voxels in each dimension).
>>>>>>
>>>>>> When loading up the data as a series of time-steps, everything works
>>>>>> until I reach the first set of data from the new size. When loading
>> the
>>>>>> data, the values in the voxels seem to become invalid, and the
>> bounding
>>>>>> box around the data starts moving in the direction of (1,1,1).
>>>>>>
>>>>>> I can load each timestep individually correctly, it is just when I try
>>>>>> to load the entire timeseries that it fails.
>>>>>>
>>>>>> Does anyone know a solution for this? I have raw voxel grids in the
>>>>>> program that generates the data, so I need to wrap them in something
>> to
>>>>>> provide a timestep. I'd rather avoid having to interface with VTK, as
>>>>>> the code I am working on does not have a VTK dependency - I'm just
>>>>>> post-processing with paraview.
>>>>>>
>>>>>> I'm opening the series via:
>>>>>> File->Open, then select the tree item data-..xmdf
>>>>>>
>>>>>> each file is written as:
>>>>>>
>>>>>> data-1.hdf.xmdf
>>>>>> data-2.hdf.xmdf
>>>>>> ....
>>>>>>
>>>>>> The XMDF files contain something like this
>>>>>>
>>>>>> Before problem timestep:
>>>>>> ==========
>>>>>> <?xml version="1.0" ?>
>>>>>> <!DOCTYPE Xdmf SYSTEM "Xdmf.dtd" []>
>>>>>> <Xdmf xmlns:xi="http://www.w3.org/2003/XInclude" Version="2.2">
>>>>>> <Domain>
>>>>>> <Grid Name="Data" GridType="Uniform">
>>>>>> <Topology TopologyType="3DCORECTMesh" Dimensions="39 39 39"/>
>>>>>> <Geometry GeometryType="ORIGIN_DXDYDZ">
>>>>>> <DataItem Name="Origin" Dimensions="3" NumberType="Float"
>> Precision="4"
>>>>>> Format="XML">-1.26667 -1.26667 -1.26667</DataItem>
>>>>>> <DataItem Name="Spacing" Dimensions="3" NumberType="Float"
>> Precision="4"
>>>>>> Format="XML">0.0666667 0.0666667 0.0666667</DataItem>
>>>>>> </Geometry>
>>>>>> <Attribute Name="second 0" AttributeType="Scalar" Center="Node">
>>>>>> <DataItem Format="HDF" NumberType="Float" Precision="4" Dimensions="39
>>>>>> 39 39">data-59.hdf:/voxels</DataItem></Attribute>
>>>>>> </Grid>
>>>>>> </Domain>
>>>>>> </Xdmf>
>>>>>> ==========
>>>>>>
>>>>>> After problem timestep:
>>>>>> ==========
>>>>>> <?xml version="1.0" ?>
>>>>>> <!DOCTYPE Xdmf SYSTEM "Xdmf.dtd" []>
>>>>>> <Xdmf xmlns:xi="http://www.w3.org/2003/XInclude" Version="2.2">
>>>>>> <Domain>
>>>>>> <Grid Name="Data" GridType="Uniform">
>>>>>> <Topology TopologyType="3DCORECTMesh" Dimensions="31 31 31"/>
>>>>>> <Geometry GeometryType="ORIGIN_DXDYDZ">
>>>>>> <DataItem Name="Origin" Dimensions="3" NumberType="Float"
>> Precision="4"
>>>>>> Format="XML">-1 -1 -1</DataItem>
>>>>>> <DataItem Name="Spacing" Dimensions="3" NumberType="Float"
>> Precision="4"
>>>>>> Format="XML">0.0666667 0.0666667 0.0666667</DataItem>
>>>>>> </Geometry>
>>>>>> <Attribute Name="second 0" AttributeType="Scalar" Center="Node">
>>>>>> <DataItem Format="HDF" NumberType="Float" Precision="4" Dimensions="31
>>>>>> 31 31">data-60.hdf:/voxels</DataItem></Attribute>
>>>>>> </Grid>
>>>>>> </Domain>
>>>>>> </Xdmf>
>>>>>> ==========
>>>>>>
>>>>>>
>>>>>> Thanks!
>>>>>> _______________________________________________
>>>>>> 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
>>>>>>
>>>>>> Search the list archives at: http://markmail.org/search/?q=ParaView
>>>>>>
>>>>>> Follow this link to subscribe/unsubscribe:
>>>>>> http://public.kitware.com/mailman/listinfo/paraview
>>>>>>
>>>>>
>>>>
>>>>
>>>
>>
>>
> 



More information about the ParaView mailing list