Additive multilevel Schwarz preconditioner

Barry Smith bsmith at
Tue May 5 15:59:12 CDT 2009

    These preconditioners require a definition of the interpolation  
between levels, if that is available then
additive multilevel Schwarz preconditioner is available and can be  
thought of as a variant of multigrid where
the levels are visited additively instead of recursively  

    The PCMG preconditioner is the tool in PETSc for handling  
multigrid/multilevel preconditioners. Once the PCMG is
setup then you can choose the additive version with -pc_mg_type  
additive  By default PETSc uses ILU as the smoother
on each level. For a pure additive form of the algorithm you will want  
-mg_levels_pc_type jacobi  You will also
want to turn off the GMRES accelerator on each level by - 
mg_levels_ksp_type none  Running with -ksp_view will
show you exactly what options are being used. -help will give you the  
various other options.

    If you are lucky enough to be running on a structured grid and  
want piecewise linear or constant interpolation  then you can use the
PETSc DMMG solver to handle almost everything for you. See its manual  
page. Other wise you will need to set the interpolation operators
yourself see the manual page for PCMGSetInterpolation()


Note: in my experience using a classical multigrid algorithm will  
always beat the use of the additive Schwarz multilevel algorithm because
newer information is used as the calculation proceeds. The multilevel  
additive Schwarz method was an important step in understanding
Schwarz and multilevel/multigrid algorithms but is not a particularly  
useful algorithm in practice.

On May 5, 2009, at 1:52 PM, Nguyen, Hung V ERDC-ITL-MS wrote:

> Hello,
> Does PETSc supports additive multilevel Schwarz preconditioner? If  
> yes, how
> to set/run it?
> Thanks,
> -hung

More information about the petsc-users mailing list