# VecGetArray2d

Returns a pointer to a 2d contiguous array that contains this processor's portion of the vector data. You MUST call VecRestoreArray2d() when you no longer need access to the array.

### Synopsis

    #include "petscvec.h"
    PetscErrorCode  VecGetArray2d(Vec x,PetscInt m,PetscInt n,PetscInt mstart,PetscInt nstart,PetscScalar **a[])

Not Collective

### Input Parameter

| x | - the vector
| m | - first dimension of two dimensional array
| n | - second dimension of 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)

### Output Parameter

a -location to put pointer to the array

### Notes

For a vector obtained from DACreateLocalVector() mstart and nstart are likely obtained from the corner indices obtained from DAGetGhostCorners() while for DACreateGlobalVector() they are the corner indices from DAGetCorners(). In both cases the arguments from DAGet[Ghost]Corners() are reversed in the call to VecGetArray2d().

For standard PETSc vectors this is an inexpensive call; it does not copy the vector values.

### See Also

VecGetArray(), VecRestoreArray(), VecGetArrays(), VecGetArrayF90(), VecPlaceArray(),
VecRestoreArray2d(), DAVecGetArray(), DAVecRestoreArray(), VecGetArray3d(), VecRestoreArray3d(), VecGetArray1d(), VecRestoreArray1d(), VecGetArray4d(), VecRestoreArray4d()

Level:developer
Location:src/vec/vec/interface/rvector.c
Index of all Vec routines
Table of Contents for all manual pages
Index of all manual pages