diff --git a/src/dm/impls/plex/plex.c b/src/dm/impls/plex/plex.c index a510197d39c..c782e04c51a 100644 --- a/src/dm/impls/plex/plex.c +++ b/src/dm/impls/plex/plex.c @@ -337,7 +337,7 @@ PetscErrorCode VecView_Plex(Vec v, PetscViewer viewer) Vec locv; const char *name; - ierr = DMGetLocalVector(dm, &locv);CHKERRQ(ierr); + ierr = DMCreateLocalVector(dm, &locv);CHKERRQ(ierr); ierr = PetscObjectGetName((PetscObject) v, &name);CHKERRQ(ierr); ierr = PetscObjectSetName((PetscObject) locv, name);CHKERRQ(ierr); ierr = DMGlobalToLocalBegin(dm, v, INSERT_VALUES, locv);CHKERRQ(ierr); @@ -346,7 +346,6 @@ PetscErrorCode VecView_Plex(Vec v, PetscViewer viewer) ierr = DMPlexInsertBoundaryValues(dm, PETSC_TRUE, locv, time, NULL, NULL, NULL);CHKERRQ(ierr); ierr = PetscViewerGLVisSetSnapId(viewer, num);CHKERRQ(ierr); ierr = VecView_Plex_Local(locv, viewer);CHKERRQ(ierr); - ierr = DMRestoreLocalVector(dm, &locv);CHKERRQ(ierr); } else if (ishdf5) { #if defined(PETSC_HAVE_HDF5) ierr = VecView_Plex_HDF5_Internal(v, viewer);CHKERRQ(ierr); @@ -357,7 +356,7 @@ PetscErrorCode VecView_Plex(Vec v, PetscViewer viewer) Vec locv; const char *name; - ierr = DMGetLocalVector(dm, &locv);CHKERRQ(ierr); + ierr = DMCreateLocalVector(dm, &locv);CHKERRQ(ierr); ierr = PetscObjectGetName((PetscObject) v, &name);CHKERRQ(ierr); ierr = PetscObjectSetName((PetscObject) locv, name);CHKERRQ(ierr); ierr = DMGlobalToLocalBegin(dm, v, INSERT_VALUES, locv);CHKERRQ(ierr); @@ -365,7 +364,6 @@ PetscErrorCode VecView_Plex(Vec v, PetscViewer viewer) ierr = DMGetOutputSequenceNumber(dm, NULL, &time);CHKERRQ(ierr); ierr = DMPlexInsertBoundaryValues(dm, PETSC_TRUE, locv, time, NULL, NULL, NULL);CHKERRQ(ierr); ierr = VecView_Plex_Local(locv, viewer);CHKERRQ(ierr); - ierr = DMRestoreLocalVector(dm, &locv);CHKERRQ(ierr); } else { if (isseq) {ierr = VecView_Seq(v, viewer);CHKERRQ(ierr);} else {ierr = VecView_MPI(v, viewer);CHKERRQ(ierr);}