PetscViewerHDF5Open#

Opens a file for HDF5 input/output as a PETSCVIEWERHDF5 PetscViewer

Synopsis#

#include "petscviewerhdf5.h" 
PetscErrorCode PetscViewerHDF5Open(MPI_Comm comm, const char name[], PetscFileMode type, PetscViewer *hdf5v)

Collective

Input Parameters#

  • comm - MPI communicator

  • name - name of file

  • type - type of file

Output Parameter#

  • hdf5v - PetscViewer for HDF5 input/output to use with the specified file

Options Database Keys#

  • -viewer_hdf5_base_dimension2 - turns on (true) or off (false) using a dimension of 2 in the HDF5 file even if the bs/dof of the vector is 1

  • -viewer_hdf5_sp_output - forces (if true) the viewer to write data in single precision independent on the precision of PetscReal

Notes#

Reading is always available, regardless of the mode. Available modes are

  FILE_MODE_READ - open existing HDF5 file for read only access, fail if file does not exist [H5Fopen() with H5F_ACC_RDONLY]
  FILE_MODE_WRITE - if file exists, fully overwrite it, else create new HDF5 file [H5FcreateH5Fcreate() with H5F_ACC_TRUNC]
  FILE_MODE_APPEND - if file exists, keep existing contents [H5Fopen() with H5F_ACC_RDWR], else create new HDF5 file [H5FcreateH5Fcreate() with H5F_ACC_EXCL]
  FILE_MODE_UPDATE - same as FILE_MODE_APPEND

In case of FILE_MODE_APPEND / FILE_MODE_UPDATE, any stored object (dataset, attribute) can be selectively ovewritten if the same fully qualified name (/group/path/to/object) is specified.

This PetscViewer should be destroyed with PetscViewerDestroy().

See Also#

Viewers: Looking at PETSc Objects, PETSCVIEWERHDF5, PetscViewerASCIIOpen(), PetscViewerPushFormat(), PetscViewerDestroy(), PetscViewerHDF5SetBaseDimension2(), PetscViewerHDF5SetSPOutput(), PetscViewerHDF5GetBaseDimension2(), VecView(), MatView(), VecLoad(), MatLoad(), PetscFileMode, PetscViewer, PetscViewerSetType(), PetscViewerFileSetMode(), PetscViewerFileSetName()

Level#

beginner

Location#

src/sys/classes/viewer/impls/hdf5/hdf5v.c

Examples#

src/vec/vec/tutorials/ex10.c.html
src/vec/vec/tutorials/ex19.c.html
src/dm/impls/plex/tutorials/ex5.c.html
src/dm/tutorials/ex10.c.html
src/dm/tutorials/ex9.c.html
src/ksp/ksp/tutorials/ex27.c.html
src/tao/tutorials/ex3.c.html


Edit on GitLab

Index of all Viewer routines
Table of Contents for all manual pages
Index of all manual pages