MG question

jens.madsen at jens.madsen at
Wed Feb 27 15:21:49 CST 2008

Thanks again :-) 

The reason why I ask is that my code is actually much faster without
GMRES.. I thought that MG accelerated Krylov methods were always the
fastest methods.... I am no expert, so I was just wondering why the
default in DMMG is GMRES/ILU. 

In the articles I have been able to find, PCG/MG(GS-RB/zebra)(SPD) and
GMRES/ MG(GS-RB/zebra) on the problems I) and II) respectively, seems to
be faster than (one level) preconditioned Krylov methods and MG. 

I am new in this field and find it very difficult even to choose which
methods to test and compare(there are so many possibilities). :-D

I will keep on testing :-) 

Thanks you very much for your answers. 


-----Original Message-----
From: owner-petsc-users at
[mailto:owner-petsc-users at] On Behalf Of Barry Smith
Sent: Wednesday, February 27, 2008 9:45 PM
To: petsc-users at
Subject: Re: MG question

On Feb 27, 2008, at 2:22 PM, jens.madsen at wrote:

> Ok
> Thanks Matthew and Barry
> First I solve 2d boundary value problems of size 512^2 - 2048^2.
> Typically either kind of problem(solve for phi)
> I) poisson type equation:
> \nabla^2 \phi(x,y) = f(x,y)

There is no reason to use GMRES here, use

-ksp_type richardson -mg_levels_pc_type sor -mg_levels_ksp_type  
should require about 5-10 outter iterations to get reasonable  
on the norm of the residual.

> II)
> \nabla \cdot (g(x,y) \nabla\phi(x,y))  = f(x,y)
     If g(x,y) is smooth and not highly varying again you should not  
need GMRES.
If it is a crazy function than the whole kitchen sink will likely give  
better convergence.

    I do not understand your questions. If you don't need GMRES/CG  
then don't use
it and if you think you might need it just try it and see if it helps.


> Successively with new f and g functions
> Do you know where to read about the smoothing properties of GMRES and
> CG? All refs that I find are only describing smoothing with GS-RB etc.
> My vague idea on how a fast solver is to use a (preconditioned ILU?)
> krylov (CG for spd ie. problem I, GMRES for II)) method with  
> additional
> MG preconditioning(GS-RB smoother, Krylov solver on coarsest level)?
> As my problems are not that big I fear that I will get no MG speedup  
> if
> I use krylov methods as smoothers?
> Kind Regards Jens
> -----Original Message-----
> From: owner-petsc-users at
> [mailto:owner-petsc-users at] On Behalf Of Barry Smith
> Sent: Wednesday, February 27, 2008 8:49 PM
> To: petsc-users at
> Subject: Re: MG question
>   The reason we default to these "very strong" (gmres + ILU(0))
> smoothers is robustness, we'd rather have
> the solver "just work" for our users and be a little bit slower than
> have it often fail but be optimal
> for special cases.
>    Most of the MG community has a mental block about using Krylov
> methods, this is
> why you find few papers that discuss their use with multigrid. Note
> also that using several iterations
> of GMRES (with or without ILU(0)) is still order n work so you still
> get the optimal convergence of
> mutligrid methods (when they work, of course).
>    Barry
> On Feb 27, 2008, at 1:40 PM, Matthew Knepley wrote:
>> On Wed, Feb 27, 2008 at 1:31 PM,  <jens.madsen at> wrote:
>>> Hi
>>> I hope that this question is not outside the scope of this
>>> mailinglist.
>>> As far as I understand PETSc uses preconditioned GMRES(or another  
>>> KSP
>>> method) as pre- and postsmoother on all multigrid levels? I was just
>> This is the default. However, you can use any combination of KSP/PC
>> on any
>> given level with options. For instance,
>> -mg_level_ksp_type richardson -mg_level_pc_type sor
>> gives "regulation" MG. We default to GMRES because it is more robust.
>>> wondering why and where in the literature I can read about that
>>> method? I
>>> thought that a fast method would be to use MG (with Gauss-Seidel RB/
>>> zebra
>>> smothers) as a preconditioner for GMRES? I have looked at papers
>>> written by
>>> Oosterlee etc.
>> In order to prove something about GMRES/MG, you would need to prove
>> something
>> about the convergence of GMRES on the operators at each level. Good
>> luck. GMRES
>> is the enemy of all convergence proofs. See paper by Greenbaum,
>> Strakos, & Ptak.
>> If SOR works, great and it is much faster. However, GMRES/ILU(0)  
>> tends
>> to be more
>> robust.
>>  Matt
>>> Kind Regards
>> -- 
>> What most experimenters take for granted before they begin their
>> experiments is infinitely more interesting than any results to which
>> their experiments lead.
>> -- Norbert Wiener

More information about the petsc-users mailing list