petsc-3.14.6 2021-03-30
Report Typos and Errors

VecSetOption

Sets an option for controling a vector's behavior.

Synopsis

#include "petscvec.h"   
PetscErrorCode  VecSetOption(Vec x,VecOption op,PetscBool flag)
Collective on Vec

Input Parameter

x - the vector
op - the option
flag - turn the option on or off

Supported Options

VEC_IGNORE_OFF_PROC_ENTRIES, which causes VecSetValues() to ignore- entries destined to be stored on a separate processor. This can be used to eliminate the global reduction in the VecAssemblyXXXX() if you know that you have only used VecSetValues() to set local elements
VEC_IGNORE_NEGATIVE_INDICES, which means you can pass negative indices- in ix in calls to VecSetValues() or VecGetValues(). These rows are simply ignored.
VEC_SUBSET_OFF_PROC_ENTRIES, which causes VecAssemblyBegin() to assume that the off- process entries will always be a subset (possibly equal) of the off-process entries set on the first assembly which had a true VEC_SUBSET_OFF_PROC_ENTRIES and the vector has not changed this flag afterwards. If this assembly is not such first assembly, then this assembly can reuse the communication pattern setup in that first assembly, thus avoiding a global reduction. Subsequent assemblies setting off-process values should use the same InsertMode as the first assembly.

Developer Note

The InsertMode restriction could be removed by packing the stash messages out of place.

Level

intermediate

Location

src/vec/vec/interface/vector.c

Examples

src/ksp/ksp/tutorials/ex71.c.html

Implementations

VecSetOption_MPI in src/vec/vec/impls/mpi/pbvec.c
VecSetOption_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