petsc-3.11.4 2019-09-28
VecGetValues
Gets values from certain locations of a vector. Currently can only get values on the same processor
Synopsis
#include "petscvec.h"
PetscErrorCode VecGetValues(Vec x,PetscInt ni,const PetscInt ix[],PetscScalar y[])
Not Collective
Input Parameters
| x | - vector to get values from
|
| ni | - number of elements to get
|
| ix | - indices where to get them from (in global 1d numbering)
|
Output Parameter
y -array of values
Notes
The user provides the allocated array y; it is NOT allocated in this routine
VecGetValues() gets y[i] = x[ix[i]], for i=0,...,ni-1.
VecAssemblyBegin() and VecAssemblyEnd() MUST be called before calling this
VecGetValues() uses 0-based indices in Fortran as well as in C.
If you call VecSetOption(x, VEC_IGNORE_NEGATIVE_INDICES,PETSC_TRUE),
negative indices may be passed in ix. These rows are
simply ignored.
See Also
VecAssemblyBegin(), VecAssemblyEnd(), VecSetValues()
Level
beginner
Location
src/vec/vec/interface/rvector.c
Implementations
VecGetValues_MPI in src/vec/vec/impls/mpi/pdvec.c
VecGetValues_Seq in src/vec/vec/impls/seq/bvec2.c
Index of all Vec routines
Table of Contents for all manual pages
Index of all manual pages