DMCreateInterpolationScale#
Forms L = 1/(R*1) where 1 is the vector of all ones, and R is the transpose of the interpolation between the DM
.
Synopsis#
#include "petscdm.h"
#include "petscdmlabel.h"
#include "petscds.h"
PetscErrorCode DMCreateInterpolationScale(DM dac, DM daf, Mat mat, Vec *scale)
Input Parameters#
Output Parameter#
scale - the scaled vector
Notes#
xcoarse = diag(L)Rxfine preserves scale and is thus suitable for state (versus residual) restriction. In other words xcoarse is the coarse representation of xfine.
Developer Notes#
If the fine-scale DMDA
has the -dm_bind_below option set to true, then DMCreateInterpolationScale()
calls MatSetBindingPropagates()
on the restriction/interpolation operator to set the bindingpropagates flag to true.
See Also#
DM Basics, DM
, MatRestrict()
, MatInterpolate()
, DMCreateInterpolation()
, DMCreateRestriction()
, DMCreateGlobalVector()
Level#
advanced
Location#
Index of all DM routines
Table of Contents for all manual pages
Index of all manual pages