Skip to main content
`Ctrl`+`K`

# DMCompositeGetGlobalISs

Gets the index sets for each composed object in a `DMCOMPOSITE`

## Synopsis

    #include "petscdmcomposite.h"
    PetscErrorCode DMCompositeGetGlobalISs(DM dm, IS *is[])

Collective

## Input Parameter

- dm - the `DMCOMPOSITE` object

## Output Parameter

- is - the array of index sets

## Notes

The `is` entries should be destroyed with `ISDestroy()`, `is` should be freed with `PetscFree()`

These could be used to extract a subset of vector entries for a “multi-physics” preconditioner

Use `DMCompositeGetLocalISs()` for index sets in the packed local numbering, and `DMCompositeGetISLocalToGlobalMappings()` for to map local sub-`DM` (including ghost) indices to packed global indices.

## Fortran Note

Use `DMCompositeRestoreGlobalISs()` to release the `is`.

## See Also

`DMCOMPOSITE`, `DM`, `DMDestroy()`, `DMCompositeAddDM()`, `DMCreateGlobalVector()`, `DMCompositeGather()`, `DMCompositeCreate()`, `DMCompositeGetAccess()`, `DMCompositeScatter()`, `DMCompositeGetLocalVectors()`, `DMCompositeRestoreLocalVectors()`, `DMCompositeGetEntries()`

## Level

advanced

## Location

src/dm/impls/composite/pack.c

## Examples

src/snes/tutorials/ex28.c
src/snes/tutorials/ex73f90t.F90

Index of all DMComposite routines
Table of Contents for all manual pages
Index of all manual pages