[petsc-users] Implementation of Multilevel preconditioner

Jed Brown jedbrown at mcs.anl.gov
Thu Apr 5 10:56:37 CDT 2012


On Thu, Apr 5, 2012 at 08:38, Barry Smith <bsmith at mcs.anl.gov> wrote:

>    C +  M^-1 (I - A*C)   is exactly a multiplicative Schwarz method with
> two preconditioners. Or in another way to put it it is exactly a two level
> multigrid so you can use PCMG in a straightforward way.


It looks to me like he wants to do nested iteration with recursive coarse
levels rather than just iteration in a smoother.

*I need the accuracy at first and somehow at second coarse level. *
*After these two levels, the number of iterations at each level till
coarsest is constantly one.  *
*
*
Okay, but one iteration of a preconditioned Krylov method is still two
preconditioner applications, so the method would still be exponential in
the number of levels. If Richardson iteration is okay, you can use
-pc_mg_cycle_type w to do two iterations instead of 1. The code would
actually work fine with increasing this further, but it looks like you
would currently have to cheat a bit to get many recursive cycles.

PCMGSetCycleType(pc,(PCMGCycleType)5);

There is currently no interface for setting a different number of cycles on
each level, but you could include mgimpl.h and change the levels->cycles
manually.

Note that W cycles are already often considered to be too much work on
coarse levels to justify in a parallel setting, so it's somewhat unlikely
that running more coarse level iterations will really be better than a more
standard multigrid with stronger smoothers.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.mcs.anl.gov/pipermail/petsc-users/attachments/20120405/88af584a/attachment.htm>


More information about the petsc-users mailing list