petsc-3.12.5 2020-03-29
Report Typos and Errors

PCMGType

Determines the type of multigrid method that is run.

Synopsis

typedef enum { PC_MG_MULTIPLICATIVE,PC_MG_ADDITIVE,PC_MG_FULL,PC_MG_KASKADE } PCMGType;

Values

PC_MG_MULTIPLICATIVE (default) - traditional V or W cycle as determined by PCMGSetCycleType()
PC_MG_ADDITIVE - the additive multigrid preconditioner where all levels are smoothed before updating the residual. This only uses the down smoother, in the preconditioner the upper smoother is ignored
PC_MG_FULL - same as multiplicative except one also performs grid sequencing, that is starts on the coarsest grid, performs a cycle, interpolates to the next, performs a cycle etc. This is much like the F-cycle presented in "Multigrid" by Trottenberg, Oosterlee, Schuller page 49, but that algorithm supports smoothing on before the restriction on each level in the initial restriction to the coarsest stage. In addition that algorithm calls the V-cycle only on the coarser level and has a post-smoother instead.
PC_MG_KASKADE - like full multigrid except one never goes back to a coarser level from a finer

See Also

PCMGSetType(), PCMGSetCycleType(), PCMGSetCycleTypeOnLevel()

Level

beginner

Location

src/ksp/pc/../../../include/petscpctypes.h

Examples

src/ksp/ksp/examples/tutorials/ex42.c.html

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