I am new to XML, and I tried to use pvtr format to combine several vtr files to output my data by using Paraview. The behavior of those formats is very strange in vtr. and when I open pvtr, it does not show any image in Paraview. But when I try only a single core, and there is only 1 vtr file, both vtr and pvtr work.
Here is my output when I try MPI np=2:
output_rank0.vtr
<?xml version="1.0"?>
<VTKFile type="RectilinearGrid" version="0.1" byte_order="LittleEndian">
<RectilinearGrid WholeExtent="0 8 0 16 0 0">
<Piece Extent="0 8 0 8 0 0">
<PointData Scalars="scalars">
<DataArray type="Float64" Name="x" format="ascii">
0.0000 0.1250 0.2500 0.3750 0.5000 0.6250 0.7500 0.8750 1.0000 0.0000 0.1250 0.2500 0.3750 0.5000 0.6250 0.7500 0.8750 1.0000 0.0000 0.1250 0.2500 0.3750 0.5000 0.6250 0.7500 0.8750 1.0000 0.0000 0.1250 0.2500 0.3750 0.5000 0.6250 0.7500 0.8750 1.0000 0.0000 0.1250 0.2500 0.3750 0.5000 0.6250 0.7500 0.8750 1.0000 0.0000 0.1250 0.2500 0.3750 0.5000 0.6250 0.7500 0.8750 1.0000 0.0000 0.1250 0.2500 0.3750 0.5000 0.6250 0.7500 0.8750 1.0000 0.0000 0.1250 0.2500 0.3750 0.5000 0.6250 0.7500 0.8750 1.0000 0.0000 0.1250 0.2500 0.3750 0.5000 0.6250 0.7500 0.8750 1.0000 </DataArray>
<DataArray type="Float64" Name="y" format="ascii">
0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.1250 0.1250 0.1250 0.1250 0.1250 0.1250 0.1250 0.1250 0.1250 0.2500 0.2500 0.2500 0.2500 0.2500 0.2500 0.2500 0.2500 0.2500 0.3750 0.3750 0.3750 0.3750 0.3750 0.3750 0.3750 0.3750 0.3750 0.5000 0.5000 0.5000 0.5000 0.5000 0.5000 0.5000 0.5000 0.5000 0.6250 0.6250 0.6250 0.6250 0.6250 0.6250 0.6250 0.6250 0.6250 0.7500 0.7500 0.7500 0.7500 0.7500 0.7500 0.7500 0.7500 0.7500 0.8750 0.8750 0.8750 0.8750 0.8750 0.8750 0.8750 0.8750 0.8750 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 </DataArray>
<DataArray type="Float64" Name="rho" format="ascii">
0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.5000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 1.0000 1.0000 1.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.5000 1.0000 1.0000 1.0000 0.5000 0.0000 0.0000 0.0000 0.0000 0.0000 1.0000 1.0000 1.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.5000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 </DataArray>
</PointData>
<CellData>
</CellData>
<Coordinates>
<DataArray type="Float64" Name="X_COORDINATES" format="ascii">
0.00 0.12 0.25 0.38 0.50 0.62 0.75 0.88 1.00 </DataArray>
<DataArray type="Float64" Name="Y_COORDINATES" format="ascii">
0.00 0.12 0.25 0.38 0.50 0.62 0.75 0.88 1.00 </DataArray>
<DataArray type="Float64" Name="Z_COORDINATES" format="ascii">
0.00 </DataArray>
</Coordinates>
</Piece>
</RectilinearGrid>
</VTKFile>
output_rank1.vtr
<?xml version="1.0"?>
<VTKFile type="RectilinearGrid" version="0.1" byte_order="LittleEndian">
<RectilinearGrid WholeExtent="0 8 0 16 0 0">
<Piece Extent="0 8 9 16 0 0">
<PointData Scalars="scalars">
<DataArray type="Float64" Name="x" format="ascii">
0.0000 0.1250 0.2500 0.3750 0.5000 0.6250 0.7500 0.8750 1.0000 0.0000 0.1250 0.2500 0.3750 0.5000 0.6250 0.7500 0.8750 1.0000 0.0000 0.1250 0.2500 0.3750 0.5000 0.6250 0.7500 0.8750 1.0000 0.0000 0.1250 0.2500 0.3750 0.5000 0.6250 0.7500 0.8750 1.0000 0.0000 0.1250 0.2500 0.3750 0.5000 0.6250 0.7500 0.8750 1.0000 0.0000 0.1250 0.2500 0.3750 0.5000 0.6250 0.7500 0.8750 1.0000 0.0000 0.1250 0.2500 0.3750 0.5000 0.6250 0.7500 0.8750 1.0000 0.0000 0.1250 0.2500 0.3750 0.5000 0.6250 0.7500 0.8750 1.0000 </DataArray>
<DataArray type="Float64" Name="y" format="ascii">
1.1250 1.1250 1.1250 1.1250 1.1250 1.1250 1.1250 1.1250 1.1250 1.2500 1.2500 1.2500 1.2500 1.2500 1.2500 1.2500 1.2500 1.2500 1.3750 1.3750 1.3750 1.3750 1.3750 1.3750 1.3750 1.3750 1.3750 1.5000 1.5000 1.5000 1.5000 1.5000 1.5000 1.5000 1.5000 1.5000 1.6250 1.6250 1.6250 1.6250 1.6250 1.6250 1.6250 1.6250 1.6250 1.7500 1.7500 1.7500 1.7500 1.7500 1.7500 1.7500 1.7500 1.7500 1.8750 1.8750 1.8750 1.8750 1.8750 1.8750 1.8750 1.8750 1.8750 2.0000 2.0000 2.0000 2.0000 2.0000 2.0000 2.0000 2.0000 2.0000 </DataArray>
<DataArray type="Float64" Name="rho" format="ascii">
0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 </DataArray>
</PointData>
<CellData>
</CellData>
<Coordinates>
<DataArray type="Float64" Name="X_COORDINATES" format="ascii">
0.00 0.12 0.25 0.38 0.50 0.62 0.75 0.88 1.00 </DataArray>
<DataArray type="Float64" Name="Y_COORDINATES" format="ascii">
1.12 1.25 1.38 1.50 1.62 1.75 1.88 2.00 </DataArray>
<DataArray type="Float64" Name="Z_COORDINATES" format="ascii">
0.00 </DataArray>
</Coordinates>
</Piece>
</RectilinearGrid>
</VTKFile>
output.pvtr
<?xml version="1.0"?>
<VTKFile type="PRectilinearGrid" version="0.1" byte_order="LittleEndian">
<PRectilinearGrid WholeExtent="0 8 0 16 0 0">
<PPointData Scalars="scalars">
<PDataArray type="Float64" Name="x" format="ascii" />
<PDataArray type="Float64" Name="y" format="ascii" />
<PDataArray type="Float64" Name="rho" format="ascii" />
</PPointData>
<PCellData>
</PCellData>
<PCoordinates>
<PDataArray type="Float64" Name="X_COORDINATES" />
<PDataArray type="Float64" Name="Y_COORDINATES" />
<PDataArray type="Float64" Name="Z_COORDINATES" />
</PCoordinates>
<Piece Extent="0 8 0 8 0 0" Source="output_rank0.vtr"/>
<Piece Extent="0 8 9 16 0 0" Source="output_rank1.vtr"/>
</PRectilinearGrid>
</VTKFile>
It appears that paraview cannot read the data between y direction 8-9
error from paraview:
(12743.981s) [paraview ]vtkXMLPStructuredDataRe:418 ERR| vtkXMLPRectilinearGridReader (0x13860cc0): No available piece provides data for the following extents:
0 8 8 9 0 0
The UpdateExtent cannot be filled.
Is that related to the ghost layer?
It looks like your pvtr
has a “hole”: nothing is defined between extent 8
and 9
. Just shift Piece2 to be 0 8 8 15
instead. (and whole extent to 0 8 0 15
)