petsc-3.12.1 2019-10-22
Report Typos and Errors

# DMCreateInjection

Gets injection matrix between two DM objects

### Synopsis

    #include "petscdm.h"
    #include "petscdmlabel.h"
    #include "petscds.h"
    PetscErrorCode  DMCreateInjection(DM dm1,DM dm2,Mat *mat)

Collective on dm1

### Input Parameter

| dm1 | - the DM object
| dm2 | - the second, finer DM object

### Output Parameter

mat -the injection

### 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 DMCoarsen(). The coordinates set into the DMDA are completely ignored in computing the injection.

### See Also

DMDestroy(), DMView(), DMCreateGlobalVector(), DMCreateColoring(), DMCreateMatrix(), DMCreateInterpolation()

### Level

developer

### Location

src/dm/interface/dm.c

### Implementations

DMCreateInjection_DA_1D in src/dm/impls/da/dainterp.c
DMCreateInjection_DA_2D in src/dm/impls/da/dainterp.c
DMCreateInjection_DA_3D in src/dm/impls/da/dainterp.c
DMCreateInjection_DA in src/dm/impls/da/dainterp.c
DMCreateInjection_pforest in src/dm/impls/forest/p4est/pforest.c
DMCreateInjection_Moab in src/dm/impls/moab/dmmbmg.cxx
DMCreateInjection_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