Skip to main content
`Ctrl`+`K`

# DMType

String with the name of a PETSc `DM`. These are all the `DM` provided by PETSc.

## Synopsis

    typedef const char *DMType;
    #define DMDA        "da"
    #define DMCOMPOSITE "composite"
    #define DMSLICED    "sliced"
    #define DMSHELL     "shell"
    #define DMPLEX      "plex"
    #define DMREDUNDANT "redundant"
    #define DMPATCH     "patch"
    #define DMMOAB      "moab"
    #define DMNETWORK   "network"
    #define DMFOREST    "forest"
    #define DMP4EST     "p4est"
    #define DMP8EST     "p8est"
    #define DMSWARM     "swarm"
    #define DMPRODUCT   "product"
    #define DMSTAG      "stag"

## Note

These can be used with `DMSetType()` or the options database key `-dm_type` to set the specific data structures and algorithms to use with a specific `DM`. But more commonly one calls directly a constructor for a particular `DMType` such as `DMDACreate()`

## See Also

DM Basics, `DMSetType()`, `DMCreate()`, `DM`, `DMDACreate()`

## Level

beginner

## Location

include/petscdm.h

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