1a968899dSTapashree Pradhan! 2a968899dSTapashree Pradhan! PETSc Program to test HDF5 viewer and HDF5 attribute I/O 3a968899dSTapashree Pradhan! 4a968899dSTapashree Pradhan#include <petsc/finclude/petscvec.h> 5*c5e229c2SMartin Diehlprogram main 6a968899dSTapashree Pradhan use petscsys 7a968899dSTapashree Pradhan use petscvec 8a968899dSTapashree Pradhan implicit none 9a968899dSTapashree Pradhan 10a968899dSTapashree Pradhan PetscViewer :: viewer 11a968899dSTapashree Pradhan PetscErrorCode :: ierr 12a968899dSTapashree Pradhan Vec :: x 13a968899dSTapashree Pradhan PetscReal, parameter :: one = 1.0 14a968899dSTapashree Pradhan PetscInt :: ival = 42 15a968899dSTapashree Pradhan PetscReal :: rval = 3.14 16a968899dSTapashree Pradhan ! initialize PETSc 17a968899dSTapashree Pradhan PetscCallA(PetscInitialize(ierr)) 18a968899dSTapashree Pradhan ! create and write a vector 19a968899dSTapashree Pradhan PetscCallA(VecCreate(PETSC_COMM_WORLD, x, ierr)) 20a968899dSTapashree Pradhan PetscCallA(PetscObjectSetName(x, "vec", ierr)) 21a968899dSTapashree Pradhan PetscCallA(VecSetSizes(x, 3, PETSC_DETERMINE, ierr)) 22a968899dSTapashree Pradhan PetscCallA(VecSetType(x, VECSTANDARD, ierr)) 23a968899dSTapashree Pradhan PetscCallA(VecSet(x, one, ierr)) 24a968899dSTapashree Pradhan PetscCallA(PetscViewerCreate(PETSC_COMM_WORLD, viewer, ierr)) 25a968899dSTapashree Pradhan PetscCallA(PetscViewerSetType(viewer, PETSCVIEWERHDF5, ierr)) 26a968899dSTapashree Pradhan PetscCallA(PetscViewerFileSetMode(viewer, FILE_MODE_WRITE, ierr)) 27a968899dSTapashree Pradhan PetscCallA(PetscViewerFileSetName(viewer, "ex80f.hdf5", ierr)) 28a968899dSTapashree Pradhan PetscCallA(VecView(x, viewer, ierr)) 29a968899dSTapashree Pradhan PetscCallA(PetscViewerHDF5WriteAttribute(viewer, "vec", "int_attribute", ival, ierr)) 30a968899dSTapashree Pradhan PetscCallA(PetscViewerHDF5WriteAttribute(viewer, "vec", "float_attribute", rval, ierr)) 31a968899dSTapashree Pradhan PetscCallA(PetscViewerDestroy(viewer, ierr)) 32a968899dSTapashree Pradhan PetscCallA(VecDestroy(x, ierr)) 33a968899dSTapashree Pradhan PetscCallA(PetscFinalize(ierr)) 34a968899dSTapashree Pradhanend program main 35a968899dSTapashree Pradhan!/*TEST 36a968899dSTapashree Pradhan! build: 37a968899dSTapashree Pradhan! requires: hdf5 38a968899dSTapashree Pradhan!TEST*/ 39