Skip to main content
`Ctrl`+`K`

# DMForestTemplate

Create a new `DM` that will be adapted from a source `DM`.

## Synopsis

    #include "petscdmforest.h"
    #include "petscdm.h"
    #include "petscdmlabel.h"
    PetscErrorCode DMForestTemplate(DM dm, MPI_Comm comm, DM *tdm)

Collective

## Input Parameters

- dm - the source `DM` object

- comm - the communicator for the new `DM` (this communicator is currently ignored, but is present so that `DMForestTemplate()` can be used within `DMCoarsen()`)

## Output Parameter

- tdm - the new `DM` object

## Notes

The new `DM` reproduces the configuration of the source, but is not yet setup, so that the user can then define only the ways that the new `DM` should differ (by, e.g., refinement or repartitioning). The source `DM` is also set as the adaptivity source `DM` of the new `DM` (see `DMForestSetAdaptivityForest()`).

## See Also

`DM`, `DMFOREST`, `DMForestSetAdaptivityForest()`

## Level

intermediate

## Location

src/dm/impls/forest/forest.c

## Implementations

DMForestTemplate_pforest() in src/dm/impls/forest/p4est/pforest.h

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