Ejemplo n.º 1
0
PetscErrorCode PetscViewerDestroy_HDF5(PetscViewer viewer)
{
 PetscViewer_HDF5 *hdf5 = (PetscViewer_HDF5 *) viewer->data;
 PetscErrorCode    ierr;

 PetscFunctionBegin;
 ierr = PetscViewerFileClose_HDF5(viewer);CHKERRQ(ierr);
 if (hdf5->groups) {
   while(hdf5->groups) {
     GroupList *tmp = hdf5->groups->next;

     ierr = PetscFree(hdf5->groups->name);CHKERRQ(ierr);
     ierr = PetscFree(hdf5->groups);CHKERRQ(ierr);
     hdf5->groups = tmp;
   }
 }
 ierr = PetscFree(hdf5);CHKERRQ(ierr);
 PetscFunctionReturn(0);
}
Ejemplo n.º 2
0
PetscErrorCode PetscViewerDestroy_HDF5(PetscViewer viewer)
{
  PetscViewer_HDF5 *hdf5 = (PetscViewer_HDF5*) viewer->data;
  PetscErrorCode   ierr;

  PetscFunctionBegin;
  ierr = PetscViewerFileClose_HDF5(viewer);CHKERRQ(ierr);
  while (hdf5->groups) {
    GroupList *tmp = hdf5->groups->next;

    ierr         = PetscFree(hdf5->groups->name);CHKERRQ(ierr);
    ierr         = PetscFree(hdf5->groups);CHKERRQ(ierr);
    hdf5->groups = tmp;
  }
  ierr = PetscFree(hdf5);CHKERRQ(ierr);
  ierr = PetscObjectComposeFunction((PetscObject)viewer,"PetscViewerFileSetName_C",NULL);CHKERRQ(ierr);
  ierr = PetscObjectComposeFunction((PetscObject)viewer,"PetscViewerFileSetMode_C",NULL);CHKERRQ(ierr);
  PetscFunctionReturn(0);
}