VecGetArrayWrite#

Returns a pointer to a contiguous array that WILL contain this MPI processes’s portion of the vector data.

Synopsis#

#include "petscvec.h"   
PetscErrorCode VecGetArrayWrite(Vec x, PetscScalar **a)

Logically Collective

Input Parameter#

  • x - the vector

Output Parameter#

  • a - location to put pointer to the array

Note#

The values in this array are NOT valid, the caller of this routine is responsible for putting values into the array; any values it does not set will be invalid.

The array must be returned using a matching call to VecRestoreArrayRead().

For vectors associated with GPUs, the host and device vectors are not synchronized before giving access. If you need correct values in the array use VecGetArray()

Fortran Notes#

VecGetArrayWrite() Fortran binding is deprecated (since PETSc 3.19), use VecGetArrayWriteF90()

See Also#

Vectors and Parallel Data, Vec, VecGetArrayWriteF90(), VecRestoreArray(), VecGetArrayRead(), VecGetArrays(), VecGetArrayF90(), VecGetArrayReadF90(), VecPlaceArray(), VecGetArray2d(), VecGetArrayPair(), VecRestoreArrayPair(), VecGetArray(), VecRestoreArrayWrite()

Level#

intermediate

Location#

src/vec/vec/interface/rvector.c

Examples#

src/snes/tutorials/ex17.c
src/ksp/ksp/tutorials/ex27.c
src/ts/tutorials/ex45.c
src/ts/tutorials/ex3.c
src/ts/tutorials/ex43.c
src/ts/tutorials/ex77.c
src/dm/impls/plex/tutorials/ex11.c
src/tao/unconstrained/tutorials/rosenbrock3.c
src/ts/tutorials/ex23fwdadj.c
src/ts/tutorials/ex36.c

Implementations#

VecGetArrayWrite_SeqKokkos() in src/vec/vec/impls/seq/kokkos/veckok.kokkos.cxx
VecGetArrayWrite_SeqViennaCL() in src/vec/vec/impls/seq/seqviennacl/vecviennacl.cxx


Index of all Vec routines
Table of Contents for all manual pages
Index of all manual pages