PCMGGetRScale#

Gets the pointwise scaling for the restriction operator from level l to l-1.

Synopsis#

#include "petscksp.h" 
PetscErrorCode PCMGGetRScale(PC pc, PetscInt l, Vec *rscale)

Collective

Input Parameters#

  • pc - the multigrid context

  • rscale - the scaling

  • l - the level (0 is coarsest) to supply [Do not supply 0]

Note#

When evaluating a function on a coarse level one does not want to do F(R * x) one does F(rscale * R * x) where rscale is 1 over the row sums of R. It is preferable to use PCMGGetInjection() to control moving primal vectors.

The scaling is computed using vectors compatible with the matrix returned by PCMGGetRestriction(). If this matrix is square, it is treated as an interpolation matrix and its transpose is used. For a square restriction matrix, set the scaling explicitly with PCMGSetRScale().

See Also#

KSP: Linear System Solvers, PCMG, PCMGSetInterpolation(), PCMGGetRestriction(), PCMGGetInjection(), PCMGSetRScale()

Level#

advanced

Location#

src/ksp/pc/impls/mg/mgfunc.c

Examples#

src/ksp/pc/tests/ex15.c


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