# DMProjectCoordinates
Project coordinates to a different space 
## Synopsis
```
#include "petscdm.h"          
PetscErrorCode DMProjectCoordinates(DM dm, PetscFE disc)
```

## Input Parameters

- ***dm      -*** The `DM` object
- ***disc    -*** The new coordinate discretization or NULL to ensure a coordinate discretization exists





## 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, and if possible, the discontinuous coordinates are also updated.


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


## See Also
 `DM`, `PetscFE`, `DMGetCoordinateField()`

## Level
intermediate

## Location
<A HREF="PETSC_DOC_OUT_ROOT_PLACEHOLDER/src/dm/interface/dmcoordinates.c.html#DMProjectCoordinates">src/dm/interface/dmcoordinates.c</A>

## Examples
<A HREF="PETSC_DOC_OUT_ROOT_PLACEHOLDER/src/dm/impls/plex/tutorials/ex8.c.html">src/dm/impls/plex/tutorials/ex8.c.html</A><BR>


---
[Edit on GitLab](https://gitlab.com/petsc/petsc/-/edit/release/src/dm/interface/dmcoordinates.c)


[Index of all DM routines](index.md)  
[Table of Contents for all manual pages](/docs/manualpages/index.md)  
[Index of all manual pages](/docs/manualpages/singleindex.md)  
