Skip to main content
`Ctrl`+`K`

# DMPlexVecRestoreClosure

Restore the array of the values on the closure of `point` obtained with `DMPlexVecGetClosure()`

## Synopsis

    #include "petscdmplex.h"
    PetscErrorCode DMPlexVecRestoreClosure(DM dm, PetscSection section, Vec v, PetscInt point, PetscInt *csize, PetscScalar *values[])

Not collective

## Input Parameters

- dm - The `DM`

- section - The section describing the layout in `v`, or `NULL` to use the default section

- v - The local vector

- point - The point in the `DM`

- csize - The number of values in the closure, or `NULL`

- values - The array of values

## Note

The array values are discarded and not copied back into `v`. In order to copy values back to `v`, use `DMPlexVecSetClosure()`

## Fortran Note

The `csize` argument is present in the Fortran binding. Since the Fortran `values` array contains its length information this argument may not be needed. In that case one may pass `PETSC_NULL_INTEGER` for `csize`.

## See Also

DMPlex: Unstructured Grids, `DM`, `DMPLEX`, `DMPlexVecGetClosure()`, `DMPlexVecSetClosure()`, `DMPlexMatSetClosure()`

## Level

intermediate

## Location

src/dm/impls/plex/plex.c

## Examples

src/snes/tutorials/ex77.c
src/dm/impls/plex/tutorials/ex6.c
src/dm/impls/plex/tutorials/ex11.c
src/snes/tutorials/ex56.c

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