petsc-3.12.5 2020-03-29
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