petsc-3.10.5 2019-03-28
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