:orphan:
# DMComputeExactSolution
Compute the exact solution for a given `DM`, using the `PetscDS` information.
## Synopsis
```
#include "petscdm.h"
#include "petscdmlabel.h"
#include "petscds.h"
PetscErrorCode DMComputeExactSolution(DM dm, PetscReal time, Vec u, Vec u_t)
```
Collective
## Input Parameters
- ***dm -*** The `DM`
- ***time -*** The time
## Output Parameters
- ***u -*** The vector will be filled with exact solution values, or `NULL`
- ***u_t -*** The vector will be filled with the time derivative of exact solution values, or `NULL`
## Note
The user must call `PetscDSSetExactSolution()` before using this routine
## See Also
[](ch_dmbase), `DM`, `PetscDSSetExactSolution()`
## Level
developer
## Location
src/dm/interface/dm.c
## Examples
src/snes/tutorials/ex36.c
src/ts/tutorials/ex45.c
src/ts/tutorials/ex53.c
src/ts/tutorials/ex76.c
src/ts/tutorials/ex77.c
---
[Edit on GitLab](https://gitlab.com/petsc/petsc/-/edit/release/src/dm/interface/dm.c)
[Index of all DM routines](index.md)
[Table of Contents for all manual pages](/manualpages/index.md)
[Index of all manual pages](/manualpages/singleindex.md)