:orphan: # InsertMode How the entries are combined with the current values in the vectors or matrices ## Synopsis ``` typedef enum { NOT_SET_VALUES, INSERT_VALUES, ADD_VALUES, MAX_VALUES, MIN_VALUES, INSERT_ALL_VALUES, ADD_ALL_VALUES, INSERT_BC_VALUES, ADD_BC_VALUES } InsertMode; ``` ## Values - ***`NOT_SET_VALUES` -*** do not actually use the values - ***`INSERT_VALUES` -*** replace the current values with the provided values, unless the index is marked as constrained by the `PetscSection` - ***`ADD_VALUES` -*** add the values to the current values, unless the index is marked as constrained by the `PetscSection` - ***`MAX_VALUES` -*** use the maximum of each current value and provided value - ***`MIN_VALUES` -*** use the minimum of each current value and provided value - ***`INSERT_ALL_VALUES` -*** insert, even if indices that are not marked as constrained by the `PetscSection` - ***`ADD_ALL_VALUES` -*** add, even if indices that are not marked as constrained by the `PetscSection` - ***`INSERT_BC_VALUES` -*** insert, but ignore indices that are not marked as constrained by the `PetscSection` - ***`ADD_BC_VALUES` -*** add, but ignore indices that are not marked as constrained by the `PetscSection` ## Note The `PetscSection` that determines the effects of the `InsertMode` values can be obtained by the `Vec` object with `VecGetDM()` and `DMGetLocalSection()`. Not all options are supported for all operations or PETSc object types. ## See Also `VecSetValues()`, `MatSetValues()`, `VecSetValue()`, `VecSetValuesBlocked()`, `VecSetValuesLocal()`, `VecSetValuesBlockedLocal()`, `MatSetValuesBlocked()`, `MatSetValuesBlockedLocal()`, `MatSetValuesLocal()`, `VecScatterBegin()`, `VecScatterEnd()` ## Level beginner ## Location include/petscsystypes.h ## Examples src/dm/dt/dualspace/impls/lagrange/tutorials/ex2.c
src/dm/field/tutorials/ex1.c
src/snes/tutorials/ex12.c
src/snes/tutorials/ex62.c
src/snes/tutorials/ex63.c
src/snes/tutorials/ex69.c
src/snes/tutorials/ex71.c
src/snes/tutorials/ex76.c
src/snes/tutorials/ex77.c
src/ts/tutorials/ex11.c
src/ts/tutorials/ex46.c
--- [Edit on GitLab](https://gitlab.com/petsc/petsc/-/edit/release/include/petscsystypes.h) [Index of all Sys routines](index.md) [Table of Contents for all manual pages](/manualpages/index.md) [Index of all manual pages](/manualpages/singleindex.md)