Additive multilevel Schwarz preconditioner

Nguyen, Hung V ERDC-ITL-MS Hung.V.Nguyen at
Tue May 5 16:27:06 CDT 2009

 Thank a lot for your info. I will give it a try.


-----Original Message-----
From: petsc-users-bounces at
[mailto:petsc-users-bounces at] On Behalf Of Barry Smith
Sent: Tuesday, May 05, 2009 3:59 PM
To: PETSc users list
Subject: Re: Additive multilevel Schwarz preconditioner

    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 (multiplicatively).

    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

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