Skip to main content
`Ctrl`+`K`

# DMSetUp

sets up the data structures inside a `DM` object

## Synopsis

    #include "petscdm.h"
    #include "petscdmlabel.h"
    #include "petscds.h"
    PetscErrorCode DMSetUp(DM dm)

Collective

## Input Parameter

- dm - the `DM` object to setup

## Note

This is usually called after various parameter setting operations and `DMSetFromOptions()` are called on the `DM`

## See Also

DM Basics, `DM`, `DMCreate()`, `DMSetType()`, `DMView()`, `DMCreateGlobalVector()`, `DMCreateInterpolation()`, `DMCreateColoring()`, `DMCreateMatrix()`

## Level

intermediate

## Location

src/dm/interface/dm.c

## Examples

src/dm/impls/stag/tutorials/ex1.c
src/dm/impls/plex/tutorials/ex4f90.F90
src/dm/impls/stag/tutorials/ex6.c
src/dm/impls/stag/tutorials/ex3.c
src/dm/tutorials/ex14.c
src/dm/impls/stag/tutorials/ex4.c
src/dm/impls/forest/tutorials/ex1.c
src/dm/impls/stag/tutorials/ex8.c
src/dm/field/tutorials/ex1.c
src/dm/impls/stag/tutorials/ex2.c

## Implementations

DMSetUp_Composite() in src/dm/impls/composite/pack.c
DMSetUp_DA() in src/dm/impls/da/dareg.c
DMSetUp_pforest() in src/dm/impls/forest/p4est/pforest.h
DMSetUp_Moab() in src/dm/impls/moab/dmmoab.cxx
DMSetUp_Network() in src/dm/impls/network/network.c
DMSetUp_Patch() in src/dm/impls/patch/patch.c
DMSetUp_Plex() in src/dm/impls/plex/plex.c

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