EnSight case writer writes full data for all processes
When running in parallel, saving to EnSight Gold writes full geometry from each process, instead of just writing the piece that belongs to that process.
Steps to reproduce
- start a parallel
pvserver
, eg:
cd ParaView-5.11.0-MPI-Linux-Python3.9-x86_64
./mpiexec -np 4 ./pvserver
- connect to the server
- create Unstructured Cell Types source
- File > Save Data... > EnSight File, save as
test.case
This creates four identical sets of EnSight Gold geometry and variable files (with .case files currently missing, see #18242 (closed)):
57K test.0.00000.geo
5,5K test.0.00000_n.DistanceToCenter
5,5K test.0.00000_n.Polynomial
57K test.1.00000.geo
5,5K test.1.00000_n.DistanceToCenter
5,5K test.1.00000_n.Polynomial
57K test.2.00000.geo
5,5K test.2.00000_n.DistanceToCenter
5,5K test.2.00000_n.Polynomial
57K test.3.00000.geo
5,5K test.3.00000_n.DistanceToCenter
5,5K test.3.00000_n.Polynomial
Each of these contains the full mesh, which can at the moment be checked by creating the .case file manually and loading it into Paraview:
cat <<EOF >test.0.case
FORMAT
type: ensight gold
GEOMETRY
model: test.0.00000.geo
# variable files omitted
EOF
When saving the same Unstructured Cell Types source but choosing to save it as Parallel VTK XML Unstructured Grid (.pvtu), the individual .vtu pieces only contain part of the original dataset:
567 test.pvtu
28K test/test_0.vtu
28K test/test_1.vtu
28K test/test_2.vtu
28K test/test_3.vtu
This can be checked by reading the indiviudal .vtu file into Paraview. It's also apparent when comparing the filesize with a .vtu file written from serial Paraview for the same dataset:
105K test-serial.vtu