Hi, I have data in hdf5 files which I want to process with Paraview, so I wrote an xdmf file that describes the data. I have compiled paraview 4.0.1 with MPI on a linux cluster, and paraview with Qt on windows which I use as client.
My data displays properly in the client, but since it is quite large I would
like to read/process it in parallel.
However, if I color by ProcessId (either the filter or the vtkProcessId) I see
that all the data is given by a single process. I believe that everything is
set up properly since if I create a sphere source and apply the same filter, I
can indeed see several colors. The structure of the xdmf file is as follows:
<Xdmf>
<Domain>
<Grid Name="Channel" GridType="Collection"
CollectionType="Temporal">
<Grid Name="G@0s"
GridType="Uniform" >
<Topology ... />
<Geometry ... />
<Attribute
Name="Pressure" Center="Cell" AttributeType="Scalar">
<DataItem ItemType="HyperSlab" Dimensions="327680"
Type="HyperSlab">
<DataItem Dimensions="3 2" Format="XML">
0 983040
1 1
1 327680
</DataItem>
<DataItem Format="HDF" Dimensions="71 1310720">
Re350_oscillating0001.h5:/snapshots_T
</DataItem>
</DataItem>
</Attribute>
</Grid>
<Grid Name="G@1s"
GridType="Uniform" >
<Topology ... />
<Geometry ... />
<Attribute
Name="Pressure" Center="Cell" AttributeType="Scalar">
<DataItem ItemType="HyperSlab" Dimensions="327680"
Type="HyperSlab">
<DataItem Dimensions="3 2" Format="XML">
0 983040
1 1
1 327680
</DataItem>
<DataItem Format="HDF" Dimensions="71 1310720">
Re350_oscillating0001.h5:/snapshots_T
</DataItem>
</DataItem>
</Attribute>
</Grid>
<Time TimeType="List">
<DataItem
Format="XML" NumberType="Float" Dimensions="71">
0 1
</DataItem>
</Time>
</Grid>
</Domain>
</Xdmf>
After much searching it seems that one has to use Spatial collections for
paraview to deal with the data in parallel. Indeed with something like:
<Xdmf>
<Domain>
<Grid Name="Channel" GridType="Collection"
CollectionType="Temporal">
<Grid Name="foo"
GridType="Collection" CollectionType="Spatial">
<Grid
Name="G0@0s" GridType="Uniform" >
<Topology ... *Contains a fraction of the cells* />
<Geometry ... />
<Attribute ... />
</Grid>
<Grid
Name="G1@0s" GridType="Uniform" >
<Topology ... *Contains another fraction of the cells* />
<Geometry ... />
<Attribute ... />
</Grid>
</Grid>
...
<Time TimeType="List">
<DataItem
Format="XML" NumberType="Float" Dimensions="71">
0 1
</DataItem>
</Time>
</Grid>
</Domain>
</Xdmf>
Paraview assigns 1 process per sub-mesh G0, G1, ... in the spatial collection.
The problem is that all these G0, G1, etc. don't appear to be connected, and
when using filters like Cell Data to Point Data, contours etc., there is a
discontinuity that is clearly visible between each part of the mesh so I don't
think that is the way to go. Or am I missing something? What is the usual way
to get parallel processing of xdmf files?
Any help would be greatly appreciated,
Romain
_______________________________________________ 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
