Skip to main content
`Ctrl`+`K`

# DMSetCoordinateDisc

Set a coordinate space

## Synopsis

    #include "petscdm.h"
    PetscErrorCode DMSetCoordinateDisc(DM dm, PetscFE disc, PetscBool localized, PetscBool project)

## Input Parameters

- dm - The `DM` object

- disc - The new coordinate discretization or `NULL` to ensure a coordinate discretization exists

- localized - Set a localized (DG) coordinate space

- project - Project coordinates to new discretization

## Notes

A `PetscFE` defines an approximation space using a `PetscSpace`, which represents the basis functions, and a `PetscDualSpace`, which defines the interpolation operation in the space.

This function takes the current mesh coordinates, which are discretized using some `PetscFE` space, and projects this function into a new `PetscFE` space. The coordinate projection is done on the continuous coordinates, but the discontinuous coordinates are not updated.

## Developer Note

With more effort, we could directly project the discontinuous coordinates also.

## See Also

`DM`, `PetscFE`, `DMGetCoordinateField()`

## Level

intermediate

## Location

src/dm/interface/dmcoordinates.c

## Examples

src/dm/impls/plex/tutorials/ex8.c

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