PETSc version 3.17.4
Fix/Edit manual page

# DMInterpolateSolution

Interpolates a solution from a coarse mesh to a fine mesh.

### Synopsis

    #include "petscdm.h"
    #include "petscdmlabel.h"
    #include "petscds.h"
    PetscErrorCode DMInterpolateSolution(DM coarse, DM fine, Mat interp, Vec coarseSol, Vec fineSol)

Collective on DM

### Input Parameters

| coarse | - coarse DM
| fine | - fine DM
| interp | - (optional) the matrix computed by DMCreateInterpolation(). Implementations may not need this, but if it is available it can avoid some recomputation. If it is provided, MatInterpolate() will be used if the coarse DM does not have a specialized implementation.
| coarseSol | - solution on the coarse mesh

### Output Parameter

| fineSol | - the interpolation of coarseSol to the fine mesh

Note: This function exists because the interpolation of a solution vector between meshes is not always a linear map. For example, if a boundary value problem has an inhomogeneous Dirichlet boundary condition that is compressed out of the solution vector. Or if interpolation is inherently a nonlinear operation, such as a method using slope-limiting reconstruction.

### See Also

DMInterpolate(), DMCreateInterpolation()

### Level

developer

### Location

src/dm/interface/dm.c

### Implementations

DMInterpolateSolution_Plex in src/dm/impls/plex/plex.c
Index of all DM routines
Table of Contents for all manual pages
Index of all manual pages