[Paraview] [Xdmf] Problem when loading parallel data (SOS and XDMF)
Jerry Clarke
clarke at arl.army.mil
Wed Jul 30 16:15:17 EDT 2008
Renato,
I have a temporary work around while I'm investigating.
It seems that "spatial" collection of "temporal" grids is
problematic. But a "temporal" collection of "spatial" grids
works fine. I re-wrote your collection file with a little more
xpointer magic and this will animate correctly in paraview.
I left your individual files intact but I had to move the
time element into the spatial collection grid for paraview
to read it correctly.
Here's the xml (xpointer indexes are 1 based)
-----------------------
<?xml version="1.0" ?>
<Xdmf xmlns:xi="http://www.w3.org/2001/XInclude" Version="2.0">
<Domain>
<Grid Name="cav_000_collection" GridType="Collection"
CollectionType="Temporal">
<Grid Name="cav1" GridType="Collection" CollectionType="Spatial">
<Time Type="Single" Value=" 0.0"/>
<xi:include href="cav_4_000.xmf"
xpointer="xpointer(//Xdmf/Domain/Grid/Grid[1])" />
<xi:include href="cav_4_001.xmf"
xpointer="xpointer(//Xdmf/Domain/Grid/Grid[1])" />
<xi:include href="cav_4_002.xmf"
xpointer="xpointer(//Xdmf/Domain/Grid/Grid[1])" />
<xi:include href="cav_4_003.xmf"
xpointer="xpointer(//Xdmf/Domain/Grid/Grid[1])" />
</Grid>
<Grid Name="cav2" GridType="Collection" CollectionType="Spatial">
<Time Type="Single" Value=" 0.1"/>
<xi:include href="cav_4_000.xmf"
xpointer="xpointer(//Xdmf/Domain/Grid/Grid[2])" />
<xi:include href="cav_4_001.xmf"
xpointer="xpointer(//Xdmf/Domain/Grid/Grid[2])" />
<xi:include href="cav_4_002.xmf"
xpointer="xpointer(//Xdmf/Domain/Grid/Grid[2])" />
<xi:include href="cav_4_003.xmf"
xpointer="xpointer(//Xdmf/Domain/Grid/Grid[2])" />
</Grid>
<Grid Name="cav3" GridType="Collection" CollectionType="Spatial">
<Time Type="Single" Value=" 1.1"/>
<xi:include href="cav_4_000.xmf"
xpointer="xpointer(//Xdmf/Domain/Grid/Grid[3])" />
<xi:include href="cav_4_001.xmf"
xpointer="xpointer(//Xdmf/Domain/Grid/Grid[3])" />
<xi:include href="cav_4_002.xmf"
xpointer="xpointer(//Xdmf/Domain/Grid/Grid[3])" />
<xi:include href="cav_4_003.xmf"
xpointer="xpointer(//Xdmf/Domain/Grid/Grid[3])" />
</Grid>
</Grid>
</Domain>
</Xdmf>
I'm still investigating what's going wrong with "spatial" collections of
"temporal" grids.
Jerry
Jerry Clarke wrote:
> Renato,
>
> OK, first mystery is solved. cav_4_full.xmf had wrong dimensions in
> grids cav_00[1,2,3]. I copied the first grid from each individual file
> and it worked. Also XDMF_TET should have been "Tetrahedron" like it was
> in the individual files.
>
> Now on to the XInclude file .....
>
> Here is new car_4_full.xmf that works in Paraview 3.3
> --------------------------------------------------------
> <?xml version="1.0" ?>
> <!-- <!DOCTYPE Xdmf SYSTEM "Xdmf.dtd" []> -->
> <Xdmf xmlns:xi="http://www.w3.org/2001/XInclude" Version="2.0">
> <Domain>
> <Grid Name= "cav" GridType="Collection" CollectionType="Spatial">
> <Grid Name="cav_000" Type="Uniform">
> <Time Type="Single" Value=" 0.00000000"/>
> <Topology Type="Tetrahedron" NumberOfElements=" 27215 "
> BaseOffset="1">
> <DataItem Dimensions=" 108860 " NumberType="Int"
> Format="HDF">cav_4_000_00000.h5:/incid</DataItem>
> </Topology>
> <Geometry Type="XYZ">
> <DataItem Dimensions=" 18726" NumberType="Float"
> Precision="8" Format="HDF">cav_4_000_00000.h5:/coords</DataItem>
> </Geometry>
> <Attribute Name="velocity" AttributeType="Vector"
> Center="Node">
> <DataItem Dimensions=" 18726" NumberType="Float"
> Precision="8" Format="HDF">cav_4_000_00000.h5:/velocity</DataItem>
> </Attribute>
> <Attribute Name="pressure" AttributeType="Scalar"
> Center="Node">
> <DataItem Dimensions=" 6242" NumberType="Float"
> Precision="8" Format="HDF">cav_4_000_00000.h5:/pressure</DataItem>
> </Attribute>
> </Grid>
>
> <Grid Name="cav_001" Type="Uniform">
> <Time Type="Single" Value=" 0.00000000"/>
> <Topology Type="Tetrahedron" NumberOfElements=" 26616 "
> BaseOffset="1">
> <DataItem Dimensions=" 106464 " NumberType="Int"
> Format="HDF">cav_4_001_00000.h5:/incid</DataItem>
> </Topology>
> <Geometry Type="XYZ">
> <DataItem Dimensions=" 18510" NumberType="Float"
> Precision="8" Format="HDF">cav_4_001_00000.h5:/coords</DataItem>
> </Geometry>
> <Attribute Name="velocity" AttributeType="Vector"
> Center="Node">
> <DataItem Dimensions=" 18510" NumberType="Float"
> Precision="8" Format="HDF">cav_4_001_00000.h5:/velocity</DataItem>
> </Attribute>
> <Attribute Name="pressure" AttributeType="Scalar"
> Center="Node">
> <DataItem Dimensions=" 6170" NumberType="Float"
> Precision="8" Format="HDF">cav_4_001_00000.h5:/pressure</DataItem>
> </Attribute>
> </Grid>
>
> <Grid Name="cav_002" Type="Uniform">
> <Time Type="Single" Value=" 0.00000000"/>
> <Topology Type="Tetrahedron" NumberOfElements=" 27709 "
> BaseOffset="1">
> <DataItem Dimensions=" 110836 " NumberType="Int"
> Format="HDF">cav_4_002_00000.h5:/incid</DataItem>
> </Topology>
> <Geometry Type="XYZ">
> <DataItem Dimensions=" 18849" NumberType="Float"
> Precision="8" Format="HDF">cav_4_002_00000.h5:/coords</DataItem>
> </Geometry>
> <Attribute Name="velocity" AttributeType="Vector"
> Center="Node">
> <DataItem Dimensions=" 18849" NumberType="Float"
> Precision="8" Format="HDF">cav_4_002_00000.h5:/velocity</DataItem>
> </Attribute>
> <Attribute Name="pressure" AttributeType="Scalar"
> Center="Node">
> <DataItem Dimensions=" 6283" NumberType="Float"
> Precision="8" Format="HDF">cav_4_002_00000.h5:/pressure</DataItem>
> </Attribute>
> </Grid>
>
>
> <Grid Name="cav_003" Type="Uniform">
> <Time Type="Single" Value=" 0.00000000"/>
> <Topology Type="Tetrahedron" NumberOfElements=" 26564 "
> BaseOffset="1">
> <DataItem Dimensions=" 106256 " NumberType="Int"
> Format="HDF">cav_4_003_00000.h5:/incid</DataItem>
> </Topology>
> <Geometry Type="XYZ">
> <DataItem Dimensions=" 18498" NumberType="Float"
> Precision="8" Format="HDF">cav_4_003_00000.h5:/coords</DataItem>
> </Geometry>
> <Attribute Name="velocity" AttributeType="Vector"
> Center="Node">
> <DataItem Dimensions=" 18498" NumberType="Float"
> Precision="8" Format="HDF">cav_4_003_00000.h5:/velocity</DataItem>
> </Attribute>
> <Attribute Name="pressure" AttributeType="Scalar"
> Center="Node">
> <DataItem Dimensions=" 6166" NumberType="Float"
> Precision="8" Format="HDF">cav_4_003_00000.h5:/pressure</DataItem>
> </Attribute>
> </Grid>
>
>
> </Grid>
> </Domain>
> </Xdmf>
>
>
> Renato N. Elias wrote:
>> Some progress here...
>>
>> Ok, I named all grids with different names and tested with and without
>> the XInclude clause.
>>
>> *Without XInclude* I've got a catastrophic error and PV closed MPI
>> connection. The output message was:
>> ERROR: In ..\..\..\ParaView3_CVS\Servers\Common\vtkServerConnection.cxx,
>> line 67
>>
>> vtkServerConnection (07981BF0): Server Connection Closed!
>>
>> ERROR: In
>> ..\..\..\ParaView3_CVS\Servers\ServerManager\vtkSMArraySelectionInformationHelper.cxx,
>> line 79
>>
>> vtkSMArraySelectionInformationHelper (07804578): Error getting array
>> settings from server.
>>
>> ERROR: In
>> ..\..\..\ParaView3_CVS\Servers\ServerManager\vtkSMXDMFInformationHelper.cxx,
>> line 135
>>
>> vtkSMXDMFInformationHelper (07C7BBD8): Error getting domains from server.
>>
>> (and much more...)
>>
>>
>> *Using XInclude* I've got:
>> XDMF Error in
>> ..\..\..\..\ParaView3_CVS\Utilities\Xdmf2\vtk\vtkXdmfReader.cxx line
>> 2129 (Unknown Topology Type = 0)
>> XDMF Error in
>> ..\..\..\..\ParaView3_CVS\Utilities\Xdmf2\vtk\vtkXdmfReader.cxx line
>> 2129 (Unknown Topology Type = 0)
>> XDMF Error in
>> ..\..\..\..\ParaView3_CVS\Utilities\Xdmf2\vtk\vtkXdmfReader.cxx line
>> 2129 (Unknown Topology Type = 0)
>> XDMF Error in
>> ..\..\..\..\ParaView3_CVS\Utilities\Xdmf2\vtk\vtkXdmfReader.cxx line
>> 2129 (Unknown Topology Type = 0)
>>
>> Easy to understand if we look the source code. vtkXdmfReader.cxx was
>> expecting XDMF_TET and my file had Tetrahedron. Quite weird since it
>> works fine when running in serial mode, or loading the model pieces one
>> by one. In fact, it seems like a bug. Nevertheless, I've made the
>> substitutions I tried again. Now, I have the same error message that
>> I've got in the first case (without the XInclude).
>>
>> Jerry, I've made my files available in
>> http://www.nacad.ufrj.br/~rnelias/transfer/xdfm-test.zip (13.4 MB). Just
>> to make the debug process easier. It seems that the Xdmf support in
>> ParaView is still a bit fragile.
>>
>> Renato.
>>
>> p.s.: I wildcard would help us a lot when writing transient files ;o)
>>
>> Jerry Clarke wrote:
>>> Renato,
>>>
>>> I think it is a bug .... If the Collection Grid does not have
>>> a "Name" nothing is read. Just give your Collection Grid a Name
>>> and it should work.
>>>
>>> Here's an example that works :
>>>
>>> Spatial.xmf :::
>>> <?xml version="1.0" ?>
>>> <Xdmf xmlns:xi="http://www.w3.org/2001/XInclude" Version="2.0">
>>> <Domain>
>>> <Grid Name="MyCollection" GridType="Collection"
>>> CollectionType="Spatial" >
>>> <xi:include href="cube1.xmf"
>>> xpointer="xpointer(//Xdmf/Domain/Grid)" />
>>> <xi:include href="cube2.xmf"
>>> xpointer="xpointer(//Xdmf/Domain/Grid)" />
>>> </Grid>
>>> </Domain>
>>> </Xdmf>
>>> ---------------------------------------------------
>>> cube1.xmf :::
>>> <?xml version="1.0" ?>
>>> <Xdmf>
>>> <Domain>
>>> <Grid Name="one">
>>> <Topology Type="3DCORECTMESH" Dimensions="2 2 2"/>
>>> <Geometry Type="ORIGIN_DXDYDZ">
>>> <DataItem DataType="Float" Dimensions="3" Format="XML">
>>> 0.0 0.0 0.0
>>> </DataItem>
>>> <DataItem DataType="Float" Dimensions="3" Format="XML">
>>> 1.0 1.0 1.0
>>> </DataItem>
>>> </Geometry>
>>> </Grid>
>>> </Domain>
>>> </Xdmf>
>>> --------------------------------------------------------
>>> cube2.xmf :::
>>> <?xml version="1.0" ?>
>>> <Xdmf>
>>> <Domain>
>>> <Grid Name="two">
>>> <Topology Type="3DCORECTMESH" Dimensions="2 2 2"/>
>>> <Geometry Type="ORIGIN_DXDYDZ">
>>> <DataItem DataType="Float" Dimensions="3" Format="XML">
>>> 5.0 0.0 0.0
>>> </DataItem>
>>> <DataItem DataType="Float" Dimensions="3" Format="XML">
>>> 1.0 1.0 1.0
>>> </DataItem>
>>> </Geometry>
>>> </Grid>
>>> </Domain>
>>> </Xdmf>
>>>
>>> Renato N. Elias wrote:
>>>> So, I suppose it's not possible to load parallel xdmf files in PV
>>>> yet :o(
>>>>
>>>> Renato.
>>>>
>>>> Jerry Clarke wrote:
>>>>> I think what is happening is that the Xinclude/XPointer interfaces
>>>>> are more particular. Technically, if the
>>>>> XML specifies a DTD it should be there, but it had been ignored in the
>>>>> past. So I guess we're all doing it wrong, technically.
>>>>>
>>>>> Jerry
>>>>>
>>>>> Renato N. Elias wrote:
>>>>>> Ok, I commented all <!DOCTYPE Xdmf SYSTEM "Xdmf.dtd" []> clauses
>>>>>> and now PV does not complain about DTD anymore but nothing is
>>>>>> loaded :o(
>>>>>>
>>>>>> Am I doing something wrong? I can load the domain pieces
>>>>>> individually which make me believe that the XDMF files are correct.
>>>>>>
>>>>>> Renato.
>>>>>>
>>>>>>
>>>>>> Jerry Clarke wrote:
>>>>>>> Renato,
>>>>>>>
>>>>>>> I think I've seen this before. The XML parser is trying to validate
>>>>>>> the XML.
>>>>>>>
>>>>>>> As a test, try removing "<!DOCTYPE Xdmf SYSTEM "Xdmf.dtd" []>"
>>>>>>> from the
>>>>>>> xml file or creating an empty Xdmf.dtd (I'll dig up the actual DTD).
>>>>>>>
>>>>>>> Jerry
>>>>>>>
>>>>>>>
>>>>>>> Renato N. Elias wrote:
>>>>>>>> Oops, my mistake Berk. It's not the first time I mismatch
>>>>>>>> versions... (it's easy to get confused when you have 6 different
>>>>>>>> PV versions installed).
>>>>>>>>
>>>>>>>> Ok, now I can load SOS but it seems that time support is not
>>>>>>>> available yet (besides some important parallel filters such as
>>>>>>>> "clean to grid"). Is it correct?!
>>>>>>>>
>>>>>>>> For the XDMF file I've had no success. I've tried to load the
>>>>>>>> following file:
>>>>>>>>
>>>>>>>> <?xml version="1.0" ?>
>>>>>>>> <!DOCTYPE Xdmf SYSTEM "Xdmf.dtd" []>
>>>>>>>> <Xdmf xmlns:xi="http://www.w3.org/2001/XInclude" Version="2.0">
>>>>>>>> <Domain>
>>>>>>>> <Grid GridType="Collection" CollectionType="Spatial">
>>>>>>>> <xi:include href="cav_4_000.xmf"
>>>>>>>> xpointer="xpointer(//Xdmf/Domain/Grid)" />
>>>>>>>> <xi:include href="cav_4_001.xmf"
>>>>>>>> xpointer="xpointer(//Xdmf/Domain/Grid)" />
>>>>>>>> <xi:include href="cav_4_002.xmf"
>>>>>>>> xpointer="xpointer(//Xdmf/Domain/Grid)" />
>>>>>>>> <xi:include href="cav_4_003.xmf"
>>>>>>>> xpointer="xpointer(//Xdmf/Domain/Grid)" />
>>>>>>>> </Grid>
>>>>>>>> </Domain>
>>>>>>>> </Xdmf>
>>>>>>>>
>>>>>>>> Started PV client and launched PV server with the command
>>>>>>>> (mpiexec -n 4 pvserver -rc -ch=localhost) and got the following
>>>>>>>> error:
>>>>>>>>
>>>>>>>> file:///C%3A/users/Renato/svn/EdgeCFD-HEAD/bin/cav31/P2P/cav_4_000.xmf:2:
>>>>>>>> I/O wa
>>>>>>>> rning : failed to load external entity
>>>>>>>> "file:///C%3A/users/Renato/svn/EdgeCFD-HEAD/bin/cav31/P2P/Xdmf.dtd"
>>>>>>>> <!DOCTYPE Xdmf SYSTEM "Xdmf.dtd" []>
>>>>>>>> ^
>>>>>>>> file:///C%3A/users/Renato/svn/EdgeCFD-HEAD/bin/cav31/P2P/cav_4_001.xmf:2:
>>>>>>>> I/O wa
>>>>>>>> rning : failed to load external entity
>>>>>>>> "file:///C%3A/users/Renato/svn/EdgeCFD-HEAD/bin/cav31/P2P/Xdmf.dtd"
>>>>>>>> <!DOCTYPE Xdmf SYSTEM "Xdmf.dtd" []>
>>>>>>>> ^
>>>>>>>> file:///C%3A/users/Renato/svn/EdgeCFD-HEAD/bin/cav31/P2P/cav_4_002.xmf:2:
>>>>>>>> I/O wa
>>>>>>>> rning : failed to load external entity
>>>>>>>> "file:///C%3A/users/Renato/svn/EdgeCFD-HEAD/bin/cav31/P2P/Xdmf.dtd"
>>>>>>>> <!DOCTYPE Xdmf SYSTEM "Xdmf.dtd" []>
>>>>>>>> ^
>>>>>>>> file:///C%3A/users/Renato/svn/EdgeCFD-HEAD/bin/cav31/P2P/cav_4_003.xmf:2:
>>>>>>>> I/O wa
>>>>>>>> rning : failed to load external entity
>>>>>>>> "file:///C%3A/users/Renato/svn/EdgeCFD-HEAD/bin/cav31/P2P/Xdmf.dtd"
>>>>>>>> <!DOCTYPE Xdmf SYSTEM "Xdmf.dtd" []>
>>>>>>>> ^
>>>>>>>> file:///C%3A/users/Renato/svn/EdgeCFD-HEAD/bin/cav31/P2P/cav_4_000.xmf:2:
>>>>>>>> I/O wa
>>>>>>>> rning : failed to load external entity
>>>>>>>> "file:///C%3A/users/Renato/svn/EdgeCFD-HEAD/bin/cav31/P2P/Xdmf.dtd"
>>>>>>>> <!DOCTYPE Xdmf SYSTEM "Xdmf.dtd" []>
>>>>>>>>
>>>>>>>> ...
>>>>>>>>
>>>>>>>> I also tried substituting the "xi:include..." statements by the
>>>>>>>> corresponding XML extended portions. The model was not loaded,
>>>>>>>> but the error message disappeared ;o)
>>>>>>>>
>>>>>>>> Regards
>>>>>>>>
>>>>>>>> Renato.
>>>>>>>>
>>>>>>>>
>>>>>>>> Berk Geveci wrote:
>>>>>>>>> I am pretty sure this is due to client/server version
>>>>>>>>> incompatibility.
>>>>>>>>>
>>>>>>>>> -berk
>>>>>>>>>
>>>>>>>>> On Tue, Jul 29, 2008 at 3:42 PM, Renato N. Elias
>>>>>>>>> <rnelias at nacad.ufrj.br> wrote:
>>>>>>>>>
>>>>>>>>>> I'm trying to load XDMF and Ensight SOS parallel data in PV3
>>>>>>>>>> (CVS's HEAD)
>>>>>>>>>> which is returning me the following error message:
>>>>>>>>>>
>>>>>>>>>> ERROR: In
>>>>>>>>>> C:\berk\ReleaseBuilds\ParaView3\Servers\Common\vtkPVDataInformation.cxx,
>>>>>>>>>>
>>>>>>>>>> line 991
>>>>>>>>>> vtkPVDataInformation (062A6ED8): Error parsing bounds.
>>>>>>>>>> (...It's funny read error messages pointing to Berk's paths :oD )
>>>>>>>>>>
>>>>>>>>>> The same problem occur with SOS and XDMF as well. Any hint?
>>>>>>>>>>
>>>>>>>>>> Regards
>>>>>>>>>>
>>>>>>>>>> Renato.
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>> _______________________________________________
>>>>>>>>>> ParaView mailing list
>>>>>>>>>> ParaView at paraview.org
>>>>>>>>>> http://www.paraview.org/mailman/listinfo/paraview
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>
>>>>>>>> _______________________________________________
>>>>>>>> ParaView mailing list
>>>>>>>> ParaView at paraview.org
>>>>>>>> http://www.paraview.org/mailman/listinfo/paraview
>
> _______________________________________________
> Xdmf mailing list
> Xdmf at lists.kitware.com
> https://www.kitware.com/cgi-bin/mailman/listinfo/xdmf
More information about the ParaView
mailing list