petsc-3.12.5 2020-03-29
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