:orphan: # DMInterpolate interpolates user-defined problem data attached to a `DM` to a finer `DM` by running hooks registered by `DMRefineHookAdd()` ## Synopsis ``` #include "petscdm.h" #include "petscdmlabel.h" #include "petscds.h" PetscErrorCode DMInterpolate(DM coarse, Mat interp, DM fine) ``` Collective if any hooks are ## Input Parameters - ***coarse -*** coarser `DM` to use as a base - ***interp -*** interpolation matrix, apply using `MatInterpolate()` - ***fine -*** finer `DM` to update ## Developer Note This routine is called `DMInterpolate()` while the hook is called `DMRefineHookAdd()`. It would be better to have an an API with consistent terminology. ## See Also [](ch_dmbase), `DM`, `DMRefineHookAdd()`, `MatInterpolate()` ## Level developer ## Location src/dm/interface/dm.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)