:orphan: # VecRestoreArray2dWrite Restores a vector after `VecGetArray2dWrite()` has been called. ## Synopsis ``` #include "petscvec.h" PetscErrorCode VecRestoreArray2dWrite(Vec x, PetscInt m, PetscInt n, PetscInt mstart, PetscInt nstart, PetscScalar **a[]) ``` Logically Collective ## Input Parameters - ***x -*** the vector - ***m -*** first dimension of two dimensional array - ***n -*** second dimension of the two dimensional array - ***mstart -*** first index you will use in first coordinate direction (often 0) - ***nstart -*** first index in the second coordinate direction (often 0) - ***a -*** location of pointer to array obtained from `VecGetArray2d()` ## Notes For regular PETSc vectors this routine does not involve any copies. For any special vectors that do not store local vector data in a contiguous array, this routine will copy the data back into the underlying vector data structure from the array obtained with `VecGetArray()`. This routine actually zeros out the `a` pointer. ## See Also [](ch_vectors), `Vec`, `VecGetArray()`, `VecRestoreArray()`, `VecRestoreArrays()`, `VecRestoreArrayF90()`, `VecPlaceArray()`, `VecGetArray2d()`, `VecGetArray3d()`, `VecRestoreArray3d()`, `DMDAVecGetArray()`, `DMDAVecRestoreArray()` `VecGetArray1d()`, `VecRestoreArray1d()`, `VecGetArray4d()`, `VecRestoreArray4d()` ## Level developer ## Location src/vec/vec/interface/rvector.c --- [Edit on GitLab](https://gitlab.com/petsc/petsc/-/edit/release/src/vec/vec/interface/rvector.c) [Index of all Vec routines](index.md) [Table of Contents for all manual pages](/manualpages/index.md) [Index of all manual pages](/manualpages/singleindex.md)