DMStagRestrictSimple#

restricts data from a fine to a coarse DMSTAG, in the simplest way

Synopsis#

#include "petscdmstag.h"   
PetscErrorCode DMStagRestrictSimple(DM dmf, Vec xf, DM dmc, Vec xc)

Values on coarse cells are averages of all fine cells that they cover. Thus, values on vertices are injected, values on edges are averages of the underlying two fine edges, and values on elements in d dimensions are averages of \(2^d\) underlying elements.

Input Parameters#

  • dmf - fine DM

  • xf - data on fine DM

  • dmc - coarse DM

Output Parameter#

  • xc - data on coarse DM

See Also#

DMSTAG: Staggered, Structured Grid, DMSTAG, DM, DMRestrict(), DMCoarsen(), DMCreateInjection()

Level#

advanced

Location#

src/dm/impls/stag/stagmulti.c

Implementations#

DMStagRestrictSimple_1d() in src/dm/impls/stag/stag1d.c
DMStagRestrictSimple_2d() in src/dm/impls/stag/stag2d.c
DMStagRestrictSimple_3d() in src/dm/impls/stag/stag3d.c


Index of all DMStag routines
Table of Contents for all manual pages
Index of all manual pages