Skip to main content
`Ctrl`+`K`

# DMShellGetCreateSubDM

Get the routine used to create a sub `DM` from the `DMSHELL`

## Synopsis

    #include "petscdmshell.h"
    PetscErrorCode DMShellGetCreateSubDM(DM dm, PetscErrorCode (**subdm)(DM dm, PetscInt numFields, const PetscInt fields[], IS *is, DM *subdm))

Logically Collective

## Input Parameter

- dm - the `DMSHELL`

## Output Parameter

- subdm - the routine to create the decomposition

## Calling sequence of `subdm`

- dm - the original `DM`

- numFields - the number of fields to create

- fields - the fields to create for

- is - output, the `IS` defining the sub `DM`

- subdm - the sub `DM`

## See Also

`DM`, `DMSHELL`, `DMCreateSubDM()`, `DMShellSetCreateSubDM()`, `DMShellSetContext()`, `DMShellGetContext()`

## Level

advanced

## Location

src/dm/impls/shell/dmshell.c

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