:orphan:
# DMCompositeGetLocalISs
Gets index sets for each component of a composite local vector
## Synopsis
```
#include "petscdmcomposite.h"
PetscErrorCode DMCompositeGetLocalISs(DM dm, IS **is)
```
Not Collective; No Fortran Support
## Input Parameter
- ***dm -*** the `DMCOMPOSITE`
## Output Parameter
- ***is -*** array of serial index sets for each each component of the `DMCOMPOSITE`
## Notes
At present, a composite local vector does not normally exist. This function is used to provide index sets for
`MatGetLocalSubMatrix()`. In the future, the scatters for each entry in the `DMCOMPOSITE` may be be merged into a single
scatter to a composite local vector. The user should not typically need to know which is being done.
To get the composite global indices at all local points (including ghosts), use `DMCompositeGetISLocalToGlobalMappings()`.
To get index sets for pieces of the composite global vector, use `DMCompositeGetGlobalISs()`.
Each returned `IS` should be destroyed with `ISDestroy()`, the array should be freed with `PetscFree()`.
## See Also
`DMCOMPOSITE`, `DM`, `DMCompositeGetGlobalISs()`, `DMCompositeGetISLocalToGlobalMappings()`, `MatGetLocalSubMatrix()`, `MatCreateLocalRef()`
## Level
intermediate
## Location
src/dm/impls/composite/pack.c
## Examples
src/snes/tutorials/ex28.c
src/ts/tutorials/ex14.c
---
[Edit on GitLab](https://gitlab.com/petsc/petsc/-/edit/release/src/dm/impls/composite/pack.c)
[Index of all DM routines](index.md)
[Table of Contents for all manual pages](/manualpages/index.md)
[Index of all manual pages](/manualpages/singleindex.md)