Skip to main content
`Ctrl`+`K`

# DMAdaptMetric

Generates a mesh adapted to the specified metric field.

## Synopsis

    #include "petscdm.h"
    PetscErrorCode DMAdaptMetric(DM dm, Vec metric, DMLabel bdLabel, DMLabel rgLabel, DM *dmAdapt)

## Input Parameters

- dm - The DM object

- metric - The metric to which the mesh is adapted, defined vertex-wise.

- bdLabel - Label for boundary tags, which will be preserved in the output mesh. `bdLabel` should be `NULL` if there is no such label, and should be different from “boundary”.

- rgLabel - Label for cell tags, which will be preserved in the output mesh. `rgLabel` should be `NULL` if there is no such label, and should be different from “regions”.

## Output Parameter

- dmAdapt - Pointer to the `DM` object containing the adapted mesh

## Note

The label in the adapted mesh will be registered under the name of the input `DMLabel` object

## See Also

`DMAdaptLabel()`, `DMCoarsen()`, `DMRefine()`

## Level

advanced

## Location

src/dm/interface/dmgenerate.c

## Examples

src/ts/tutorials/ex45.c

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