VecGetArray3dWrite#
Returns a pointer to a 3d contiguous array that will contain this processor’s portion of the vector data. You MUST call VecRestoreArray3dWrite()
when you no longer need access to the array.
Synopsis#
#include "petscvec.h"
PetscErrorCode VecGetArray3dWrite(Vec x, PetscInt m, PetscInt n, PetscInt p, PetscInt mstart, PetscInt nstart, PetscInt pstart, PetscScalar ***a[])
Logically Collective
Input Parameters#
x - the vector
m - first dimension of three dimensional array
n - second dimension of three dimensional array
p - third dimension of three dimensional array
mstart - first index you will use in first coordinate direction (often 0)
nstart - first index in the second coordinate direction (often 0)
pstart - first index in the third coordinate direction (often 0)
Output Parameter#
a - location to put pointer to the array
Notes#
For a vector obtained from DMCreateLocalVector()
mstart
, nstart
, and pstart
are likely
obtained from the corner indices obtained from DMDAGetGhostCorners()
while for
DMCreateGlobalVector()
they are the corner indices from DMDAGetCorners()
. In both cases
the arguments from DMDAGet[Ghost]Corners()
are reversed in the call to VecGetArray3d()
.
For standard PETSc vectors this is an inexpensive call; it does not copy the vector values.
See Also#
Vectors and Parallel Data, Vec
, VecGetArray()
, VecRestoreArray()
, VecGetArrays()
, VecGetArrayF90()
, VecPlaceArray()
,
VecRestoreArray2d()
, DMDAVecGetarray()
, DMDAVecRestoreArray()
, 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