VecOption — PETSc 3.25.4 documentation

Skip to main content
`Ctrl`+`K`

# VecOption

Options that may be set for a vector regarding entries passed to `VecSetValues()` and related routines

## Synopsis

    typedef enum {
      VEC_IGNORE_OFF_PROC_ENTRIES,
      VEC_IGNORE_NEGATIVE_INDICES,
      VEC_SUBSET_OFF_PROC_ENTRIES
    } VecOption;

## Values

- `VEC_IGNORE_OFF_PROC_ENTRIES` - causes `VecSetValues()` to ignore entries destined to be stored on a separate processor. This can be used to eliminate the global reduction in `VecAssemblyBegin()` if you know that you have only used `VecSetValues()` to set local elements

- `VEC_IGNORE_NEGATIVE_INDICES` - means you can pass negative indices in `ix` in calls to `VecSetValues()` or `VecGetValues()`. These rows are simply ignored.

- `VEC_SUBSET_OFF_PROC_ENTRIES` - 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.

## See Also

Matrices, `Vec`, `MatSetOption()`, `VecSetOption()`, `VecSetValues()`, `VecAssemblyBegin()`

## Level

beginner

## Location

include/petscvec.h

## Examples

src/ksp/ksp/tutorials/ex71.c

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