# DMCompositeGetLocalISs
Gets index sets for each component of a composite local vector 
## Synopsis
```
#include "petscdmcomposite.h"  
PetscErrorCode DMCompositeGetLocalISs(DM dm, IS **is)
```
Not Collective


## 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()`.


## Fortran Note
Not available from Fortran


## See Also
 `DMCOMPOSITE`, `DM`, `DMCompositeGetGlobalISs()`, `DMCompositeGetISLocalToGlobalMappings()`, `MatGetLocalSubMatrix()`, `MatCreateLocalRef()`

## Level
intermediate

## Location
<A HREF="PETSC_DOC_OUT_ROOT_PLACEHOLDER/src/dm/impls/composite/pack.c.html#DMCompositeGetLocalISs">src/dm/impls/composite/pack.c</A>

## Examples
<A HREF="PETSC_DOC_OUT_ROOT_PLACEHOLDER/src/snes/tutorials/ex28.c.html">src/snes/tutorials/ex28.c.html</A><BR>
<A HREF="PETSC_DOC_OUT_ROOT_PLACEHOLDER/src/ts/tutorials/ex14.c.html">src/ts/tutorials/ex14.c.html</A><BR>


---
[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](/docs/manualpages/index.md)  
[Index of all manual pages](/docs/manualpages/singleindex.md)  
