petsc-3.12.1 2019-10-22
Report Typos and Errors

# PCMGGetSmoother

Gets the KSP context to be used as smoother for both pre- and post-smoothing. Call both PCMGGetSmootherUp() and PCMGGetSmootherDown() to use different functions for pre- and post-smoothing.

### Synopsis

    #include "petscksp.h"
    PetscErrorCode  PCMGGetSmoother(PC pc,PetscInt l,KSP *ksp)

Not Collective, KSP returned is parallel if PC is

### Input Parameters

| pc | - the multigrid context
| l | - the level (0 is coarsest) to supply

### Ouput Parameters

ksp -the smoother

### Notes

Once you have called this routine, you can call KSPSetOperators(ksp,...) on the resulting ksp to provide the operators for the smoother for this level. You can also modify smoother options by calling the various KSPSetXXX() options on this ksp. In addition you can call KSPGetPC(ksp,&pc) and modify PC options for the smoother; for example PCSetType(pc,PCSOR); to use SOR smoothing.

### See Also

PCMGGetSmootherUp(), PCMGGetSmootherDown(), PCMGGetCoarseSolve()

### Level

advanced

### Location

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

### Examples

src/snes/examples/tutorials/ex12.c.html
Index of all PC routines
Table of Contents for all manual pages
Index of all manual pages