Skip to main content
`Ctrl`+`K`

# DMConvert

Converts a `DM` to another `DM`, either of the same or different type.

## Synopsis

    #include "petscdm.h"
    #include "petscdmlabel.h"
    #include "petscds.h"
    PetscErrorCode DMConvert(DM dm, DMType newtype, DM *M)

Collective

## Input Parameters

- dm - the `DM`

- newtype - new `DM` type (use “same” for the same type)

## Output Parameter

- M - pointer to new `DM`

## Note

Cannot be used to convert a sequential `DM` to a parallel or a parallel to sequential, the MPI communicator of the generated `DM` is always the same as the communicator of the input `DM`.

## See Also

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

## Level

intermediate

## Location

src/dm/interface/dm.c

## Examples

src/snes/tutorials/ex12.c
src/ts/tutorials/ex11_sa.c
src/ts/tutorials/ex30.c
src/ts/utils/dmplexlandau/tutorials/ex2.c
src/snes/tutorials/ex8.c
src/ts/tutorials/ex45.c
src/ts/tutorials/ex11.c
src/ts/tutorials/ex48.c
src/dm/impls/forest/tutorials/ex1.c
src/snes/tutorials/ex11.c

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