VecGetArrayRead#

Get read-only pointer to contiguous array containing this processor’s portion of the vector data.

Synopsis#

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

Not Collective

Input Parameter#

  • x - the vector

Output Parameter#

  • a - the array

Notes#

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

Unlike VecGetArray(), preserves cached information like vector norms.

Standard PETSc vectors use contiguous storage so that this routine does not perform a copy. Other vector implementations may require a copy, but such implementations should cache the contiguous representation so that only one copy is performed when this routine is called multiple times in sequence.

Fortran Notes#

VecGetArrayRead() Fortran binding is deprecated (since PETSc 3.19), use VecGetArrayReadF90()

See Also#

Vectors and Parallel Data, Vec, VecGetArrayReadF90(), VecGetArray(), VecRestoreArray(), VecGetArrayPair(), VecRestoreArrayPair()

Level#

beginner

Location#

src/vec/vec/interface/rvector.c

Examples#

src/vec/is/sf/tutorials/ex2.c
src/ts/tutorials/ex16fwd.c
src/ts/tutorials/ex20td.c
src/ts/tutorials/ex11.c
src/ts/tutorials/ex41.c
src/vec/vec/tutorials/ex10.c
src/ts/tutorials/ex44.c
src/ts/tutorials/ex36A.c
src/vec/is/sf/tutorials/ex3.c
src/ts/tutorials/ex20opt_ic.c


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