petsc-3.12.1 2019-10-22
Report Typos and Errors

# DMStagVecSetValuesStencil

Set Vec values using global grid indexing

### Synopsis

    PetscErrorCode DMStagVecSetValuesStencil(DM dm,Vec vec,PetscInt n,const DMStagStencil *pos,const PetscScalar *val,InsertMode insertMode)

Not Collective

### Input Parameters

| dm | - the DMStag object
| vec | - the Vec
| n | - the number of values to set
| pos | - the locations to set values, as an array of DMStagStencil structs
| val | - the values to set
| insertMode | - INSERT_VALUES or ADD_VALUES

### Notes

The vector is expected to be a global vector compatible with the DM (usually obtained by DMGetGlobalVector() or DMCreateGlobalVector()).

This approach is not as efficient as setting values directly with DMStagVecGetArrayDOF(), which is recommended for matrix-free operators. For assembling systems, where overhead may be less important than convenience, this routine could be helpful in assembling a righthand side and a matrix (using DMStagMatSetValuesStencil()).

### See Also

DMSTAG, DMStagStencil, DMStagStencilLocation, DMStagVecGetValuesStencil(), DMStagMatSetValuesStencil(), DMCreateGlobalVector(), DMGetLocalVector(), DMStagVecGetArrayDOF()

### Level

advanced

### Location

src/dm/impls/stag/stagstencil.c
Index of all DMSTAG routines
Table of Contents for all manual pages
Index of all manual pages