petsc-3.7.1 2016-05-15
Report Typos and Errors

DMCreateInterpolation

Gets interpolation matrix between two DM objects

Synopsis

#include "petscdm.h"          
#include "petscdmlabel.h"     
PetscErrorCode  DMCreateInterpolation(DM dm1,DM dm2,Mat *mat,Vec *vec)
Collective on DM Many br

Input Parameter

dm1 - the DM object Many br
dm2 - the second, finer DM object Many br

Output Parameter

mat - the interpolation Many br
vec - the scaling (optional) Many br

Many br

Notes: For DMDA objects this only works for "uniform refinement", that is the refined mesh was obtained DMRefine() or the coarse mesh was obtained by Many brDMCoarsen(). The coordinates set into the DMDA are completely ignored in computing the interpolation. Many br

For DMDA objects you can use this interpolation (more precisely the interpolation from the DMGetCoordinateDM()) to interpolate the mesh coordinate vectors Many brEXCEPT in the periodic case where it does not make sense since the coordinate vectors are not periodic. Many br

See Also

DMDestroy(), DMView(), DMCreateGlobalVector(), DMCreateColoring(), DMCreateMatrix(), DMRefine(), DMCoarsen(), DMCreateRestriction()

Level:developer
Location:
src/dm/interface/dm.c
Index of all DM routines
Table of Contents for all manual pages
Index of all manual pages

Examples

src/dm/examples/tutorials/ex3.c.html
src/dm/examples/tutorials/ex65dm.c.html
src/ksp/ksp/examples/tutorials/ex42.c.html
src/ksp/ksp/examples/tutorials/ex65.c.html
src/snes/examples/tutorials/ex48.c.html