I'm attempting to save multiple DMPlexes to a single HDF5 file. During my solution, I make modification to the DMPlex and would like to track and store these changes as the solution progresses. Currently, I the program writes the DMPlex to the HDF5 file the
first time I call DMView() but throws an error the 2nd time I call DMView() to save the modified DMPlex. In my program, I would like to save more than 2 modfied DMPlexes to the same file. My current attempt at this process is outlined below
with the error message copied at the end.
PetscCall(DMPlexCreateFromFile(comm, ctx.filename, "EGADS", PETSC_TRUE, &dmNozzle));
PetscCall(PetscObjectSetName((PetscObject)dmNozzle, "nozzle_mesh"));
/* Get viewer from command line options. If found, then get and check ViewerType and ViewerFormat */
/* Change ViewerFormat to PETSC_VIEWER_HDF5_PETSC per DMView() documation for saving multiple DMPlexes */
/* to a single file. Note: ViewerFormat Defaults to PETSC_VIEWER_DEFAULT when PetscOPtionsGetViewer() called */
PetscCall(PetscOptionsGetViewer(PETSC_COMM_WORLD, NULL, NULL, "-dm_view_test", &viewer, &format, &flg));
if (flg) {
PetscCall(PetscPrintf(PETSC_COMM_SELF, " flg = TRUE \n"));
PetscCall(PetscViewerGetType(viewer, &viewType));
PetscCall(PetscViewerPushFormat(viewer, PETSC_VIEWER_HDF5_PETSC)); // PetscOptionsGetViewer returns &format as PETSC_VIEWER_DEFAULT need PETSC_VIEWER_HDF5_PETSC to save multiple DMPlexes in a single .h5 file.
PetscCall(PetscViewerGetFormat(viewer, &viewFormat));
PetscCall(PetscPrintf(PETSC_COMM_SELF, " viewer type = %s \n", viewType));
PetscCall(PetscPrintf(PETSC_COMM_SELF, " viewer format = %d \n", viewFormat));
}
/* Set new name for modified DMPlex and attempt to write to HDF5 file - Fails */
HDF5-DIAG: Error detected in HDF5 (1.12.1) thread 0:
#000: H5D.c line 779 in H5Dset_extent(): unable to set dataset extent
major: Dataset
minor: Can't set value
#001: H5VLcallback.c line 2326 in H5VL_dataset_specific(): unable to execute dataset specific callback
major: Virtual Object Layer
minor: Can't operate on object
#002: H5VLcallback.c line 2289 in H5VL__dataset_specific(): unable to execute dataset specific callback
major: Virtual Object Layer
minor: Can't operate on object
#003: H5VLnative_dataset.c line 325 in H5VL__native_dataset_specific(): unable to set extent of dataset
major: Dataset
minor: Unable to initialize object
#004: H5Dint.c line 3045 in H5D__set_extent(): unable to modify size of dataspace
major: Dataset
minor: Unable to initialize object
#005: H5S.c line 1847 in H5S_set_extent(): dimension cannot exceed the existing maximal size (new: 386 max: 98)
major: Dataspace
minor: Bad value
[0]PETSC ERROR: --------------------- Error Message --------------------------------------------------------------
[0]PETSC ERROR: Error in external library
[0]PETSC ERROR: Error in HDF5 call H5Dset_extent() Status -1
[0]PETSC ERROR: WARNING! There are unused option(s) set! Could be the program crashed before usage or a spelling mistake, etc!
[0]PETSC ERROR: Option left: name:-dm_plex_geom_without_snap_to_geom value: 0 source: command line
[0]PETSC ERROR: Option left: name:-dm_view1 value: hdf5:mesh_minSA_vol_abstract.h5 source: command line
[0]PETSC ERROR: Option left: name:-dm_view10 value: hdf5:mesh_minSA_itr5.h5 source: command line
[0]PETSC ERROR: Option left: name:-dm_view11 value: hdf5:mesh_minSA_itr20.h5 source: command line
[0]PETSC ERROR: Option left: name:-dm_view12 value: hdf5:mesh_minSA_itr50.h5 source: command line
[0]PETSC ERROR: Option left: name:-dm_view13 value: hdf5:mesh_minSA_itr100.h5 source: command line
[0]PETSC ERROR: Option left: name:-dm_view14 value: hdf5:mesh_minSA_itr150.h5 source: command line
[0]PETSC ERROR: Option left: name:-dm_view15 value: hdf5:mesh_minSA_itr200.h5 source: command line
[0]PETSC ERROR: Option left: name:-dm_view2 value: hdf5:mesh_minSA_vol_abstract_inflated.h5 source: command line
[0]PETSC ERROR: Option left: name:-dm_view22 value: hdf5:mesh_minSA_itr200r1.h5 source: command line
[0]PETSC ERROR: Option left: name:-dm_view23 value: hdf5:mesh_minSA_itr200r2.h5 source: command line
[0]PETSC ERROR: Option left: name:-dm_view3 value: hdf5:mesh_minSA_vol_abstract_Refine.h5 source: command line
[0]PETSC ERROR: Option left: name:-dm_view4 value: hdf5:mesh_minSA_vol_abstract_Refine2.h5 source: command line
[0]PETSC ERROR: Option left: name:-dm_view5 value: hdf5:mesh_minSA_vol_abstract_Refine3.h5 source: command line
[0]PETSC ERROR: Option left: name:-dm_view6 value: hdf5:mesh_minSA_vol_abstract_Refine4.h5 source: command line
[0]PETSC ERROR: Option left: name:-dm_view8 value: hdf5:mesh_minSA_itr2.h5 source: command line
[0]PETSC ERROR: See https://petsc.org/release/faq/ for trouble shooting.
[0]PETSC ERROR: Petsc Development GIT revision: v3.18.5-3061-g8635db7762a GIT Date: 2023-10-22 20:49:54 -0400
[0]PETSC ERROR: ./ex17 on a named XPS. by bdenton Fri Jan 5 10:02:19 2024
[0]PETSC ERROR: Configure options --with-make-np=16 --prefix=/mnt/c/Users/Brandon/software/libs/petsc/3.20.0-gitlab/gcc/11.2.0/mpich/3.4.2/openblas/0.3.17/opt --with-debugging=false --COPTFLAGS="-O3 -mavx" --CXXOPTFLAGS="-O3 -mavx"
--FOPTFLAGS=-O3 --with-shared-libraries=1 --with-mpi-dir=/mnt/c/Users/Brandon/software/libs/mpich/3.4.2/gcc/11.2.0 --with-mumps=true --download-mumps=1 --with-metis=true --download-metis=1 --with-parmetis=true --download-parmetis=1 --with-superlu=true --download-superlu=1
--with-superludir=true --download-superlu_dist=1 --with-blacs=true --download-blacs=1 --with-scalapack=true --download-scalapack=1 --with-hypre=true --download-hypre=1 --with-hdf5-dir=/mnt/c/Users/Brandon/software/libs/hdf5/1.12.1/gcc/11.2.0 --with-valgrind-dir=/mnt/c/Users/Brandon/software/apps/valgrind/3.14.0
--with-blas-lib="[/mnt/c/Users/Brandon/software/libs/openblas/0.3.17/gcc/11.2.0/lib/libopenblas.so]" --with-lapack-lib="[/mnt/c/Users/Brandon/software/libs/openblas/0.3.17/gcc/11.2.0/lib/libopenblas.so]" --LDFLAGS= --with-tetgen=true --download-tetgen=1 --download-ctetgen=1
--download-opencascade=1 --download-egads
[0]PETSC ERROR: #1 VecView_MPI_HDF5() at /mnt/c/Users/Brandon/software/builddir/petsc-3.20.0-gitlab/src/vec/vec/impls/mpi/pdvec.c:664
[0]PETSC ERROR: #2 VecView_Seq() at /mnt/c/Users/Brandon/software/builddir/petsc-3.20.0-gitlab/src/vec/vec/impls/seq/bvec2.c:559
[0]PETSC ERROR: #3 VecView() at /mnt/c/Users/Brandon/software/builddir/petsc-3.20.0-gitlab/src/vec/vec/interface/vector.c:803
[0]PETSC ERROR: #4 DMPlexCoordinatesView_HDF5_Legacy_Private() at /mnt/c/Users/Brandon/software/builddir/petsc-3.20.0-gitlab/src/dm/impls/plex/plexhdf5.c:1022
[0]PETSC ERROR: #5 DMPlexCoordinatesView_HDF5_Internal() at /mnt/c/Users/Brandon/software/builddir/petsc-3.20.0-gitlab/src/dm/impls/plex/plexhdf5.c:1045
[0]PETSC ERROR: #6 DMPlexView_HDF5_Internal() at /mnt/c/Users/Brandon/software/builddir/petsc-3.20.0-gitlab/src/dm/impls/plex/plexhdf5.c:1301
[0]PETSC ERROR: #7 DMView_Plex() at /mnt/c/Users/Brandon/software/builddir/petsc-3.20.0-gitlab/src/dm/impls/plex/plex.c:1878
[0]PETSC ERROR: #8 DMView() at /mnt/c/Users/Brandon/software/builddir/petsc-3.20.0-gitlab/src/dm/interface/dm.c:982
[0]PETSC ERROR: #9 main() at /mnt/c/Users/Brandon/Documents/School/Dissertation/Software/EGADS-dev/ex17/ex17.c:374
[0]PETSC ERROR: PETSc Option Table entries:
[0]PETSC ERROR: -dm_plex_geom_print_model 1 (source: command line)
[0]PETSC ERROR: -dm_plex_geom_shape_opt 1 (source: command line)
[0]PETSC ERROR: -dm_plex_geom_tess_model 0 (source: command line)
[0]PETSC ERROR: -dm_plex_geom_without_snap_to_geom 0 (source: command line)
[0]PETSC ERROR: -dm_refine 1 (source: command line)
[0]PETSC ERROR: -dm_view hdf5:mesh_minSA_abstract.h5 (source: command line)
[0]PETSC ERROR: -dm_view1 hdf5:mesh_minSA_vol_abstract.h5 (source: command line)
[0]PETSC ERROR: -dm_view10 hdf5:mesh_minSA_itr5.h5 (source: command line)
[0]PETSC ERROR: -dm_view11 hdf5:mesh_minSA_itr20.h5 (source: command line)
[0]PETSC ERROR: -dm_view12 hdf5:mesh_minSA_itr50.h5 (source: command line)
[0]PETSC ERROR: -dm_view13 hdf5:mesh_minSA_itr100.h5 (source: command line)
[0]PETSC ERROR: -dm_view14 hdf5:mesh_minSA_itr150.h5 (source: command line)
[0]PETSC ERROR: -dm_view15 hdf5:mesh_minSA_itr200.h5 (source: command line)
[0]PETSC ERROR: -dm_view2 hdf5:mesh_minSA_vol_abstract_inflated.h5 (source: command line)
[0]PETSC ERROR: -dm_view22 hdf5:mesh_minSA_itr200r1.h5 (source: command line)
[0]PETSC ERROR: -dm_view23 hdf5:mesh_minSA_itr200r2.h5 (source: command line)
[0]PETSC ERROR: -dm_view3 hdf5:mesh_minSA_vol_abstract_Refine.h5 (source: command line)
[0]PETSC ERROR: -dm_view4 hdf5:mesh_minSA_vol_abstract_Refine2.h5 (source: command line)
[0]PETSC ERROR: -dm_view5 hdf5:mesh_minSA_vol_abstract_Refine3.h5 (source: command line)
[0]PETSC ERROR: -dm_view6 hdf5:mesh_minSA_vol_abstract_Refine4.h5 (source: command line)
[0]PETSC ERROR: -dm_view7 hdf5:mesh_minSA_itr1.h5 (source: command line)
[0]PETSC ERROR: -dm_view8 hdf5:mesh_minSA_itr2.h5 (source: command line)
[0]PETSC ERROR: -dm_view_test hdf5:mesh_test_all.h5 (source: command line)
[0]PETSC ERROR: -filename ../examples/abstract_minSA.stp (source: command line)
[0]PETSC ERROR: ----------------End of Error Message -------send entire error message to petsc-maint@mcs.anl.gov----------
application called MPI_Abort(MPI_COMM_SELF, 76) - process 0
[unset]: write_line error; fd=-1 buf=:cmd=abort exitcode=76
:
system msg for write_line failure : Bad file descriptor