:orphan: # MatStencil Data structure (C struct) for storing information about rows and columns of a matrix as indexed on an associated grid. These are arguments to `MatSetStencil()` and `MatSetBlockStencil()` ## Synopsis ``` typedef struct { PetscInt k, j, i, c; } MatStencil; ``` ## Notes The i,j, and k represent the logical coordinates over the entire grid (for 2 and 1 dimensional problems the k and j entries are ignored). The c represents the the degrees of freedom at each grid point (the dof argument to `DMDASetDOF()`). If dof is 1 then this entry is ignored. For stencil access to vectors see `DMDAVecGetArray()`, `DMDAVecGetArrayF90()`. For staggered grids, see `DMStagStencil` ## Fortran Note See `MatSetValuesStencil()` for details. ## See Also [](ch_matrices), `Mat`, `MatSetValuesStencil()`, `MatSetStencil()`, `MatSetValuesBlockedStencil()`, `DMDAVecGetArray()`, `DMDAVecGetArrayF90()`, `DMStagStencil` ## Level beginner ## Location include/petscmat.h --- [Edit on GitLab](https://gitlab.com/petsc/petsc/-/edit/release/include/petscmat.h) [Index of all Mat routines](index.md) [Table of Contents for all manual pages](/manualpages/index.md) [Index of all manual pages](/manualpages/singleindex.md)