petsc-master 2017-01-20
Report Typos and Errors


Gets values from certain locations of a vector. Currently can only get values on the same processor


#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


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()

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