petsc-dev 2014-07-21
Report Typos and Errors

DMDAVecGetArrayDOF

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

Synopsis

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

Input Parameter

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 DMDAVecRestoreArrayDOF() 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 DMDAVecRestoreArrayF90() and declare your array with one higher dimension, see src/dm/examples/tutorials/ex11f90.F

Keywords

distributed array, get, corners, nodes, local indices, coordinates

See Also

DMDAGetGhostCorners(), DMDAGetCorners(), VecGetArray(), VecRestoreArray(), DMDAVecRestoreArray(), DMDAVecGetArray(), DMDAVecRestoreArrayDOF()

Level:intermediate
Location:
src/dm/impls/da/dagetarray.c
Index of all DM routines
Table of Contents for all manual pages
Index of all manual pages src/dm/examples/tutorials/ex51.c.html
src/snes/examples/tutorials/ex54.c.html
src/snes/examples/tutorials/ex55.c.html
src/snes/examples/tutorials/ex60.c.html
src/snes/examples/tutorials/ex61.c.html
src/snes/examples/tutorials/ex63.c.html
src/snes/examples/tutorials/ex633d_db.c.html
src/snes/examples/tutorials/ex64.c.html
src/snes/examples/tutorials/ex65.c.html
src/ts/examples/tutorials/ex12.c.html