PETSc version 3.17.0
Fix/Edit manual page

# DMDAVecGetArrayDOFWrite

Returns a multiple dimension array that shares data with the underlying vector and is indexed using the global dimensions.

### Synopsis

    #include "petscdmda.h"
    PetscErrorCode  DMDAVecGetArrayDOFWrite(DM da,Vec vec,void *array)

Not Collective

### Input Parameters

| da | - the distributed array
| vec | - the vector, either a vector the same size as one obtained with DMCreateGlobalVector() or DMCreateLocalVector()

### Output Parameter

| array | - the array

### Notes

Call DMDAVecRestoreArrayDOFWrite() once you have finished accessing the vector entries.

In C, the indexing is "backwards" from what expects: array[k][j][i][DOF] NOT array[i][j][k][DOF]!

In Fortran 90 you do not need a version of DMDAVecRestoreArrayDOF() just use DMDAVecRestoreArrayWriteF90() and declare your array with one higher dimension, see src/dm/tutorials/ex11f90.F

### See Also

DMDAGetGhostCorners(), DMDAGetCorners(), VecGetArray(), VecRestoreArray(), DMDAVecRestoreArray(), DMDAVecGetArray(), DMDAVecGetArrayDOF(),
DMDAVecGetArrayWrite(), DMDAVecRestoreArrayWrite(), DMDAVecGetArrayWrite(), DMDAVecRestoreArrayWrite(), DMStagVecGetArrayDOFWrite(), DMStagVecRestoreArrayDOFRead(), DMStagVecRestoreArrayDOFRead()

### Level

intermediate

### Location

src/dm/impls/da/dagetarray.c

### Examples

src/ksp/ksp/tutorials/ex34.c.html
Index of all DMDA routines
Table of Contents for all manual pages
Index of all manual pages