On Feb 27, 2008, at 3:21 PM, jens.madsen at risoe.dk wrote: > 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.
It is just for robustness, not for speed. > > > 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. > > Jens > > > -----Original Message----- > From: owner-petsc-users at mcs.anl.gov > [mailto:owner-petsc-users at mcs.anl.gov] On Behalf Of Barry Smith > Sent: Wednesday, February 27, 2008 9:45 PM > To: petsc-users at mcs.anl.gov > Subject: Re: MG question > > > On Feb 27, 2008, at 2:22 PM, jens.madsen at risoe.dk 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 > richardson > should require about 5-10 outter iterations to get reasonable > convergence > 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. > > Barry > >> 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 mcs.anl.gov >> [mailto:owner-petsc-users at mcs.anl.gov] On Behalf Of Barry Smith >> Sent: Wednesday, February 27, 2008 8:49 PM >> To: petsc-users at mcs.anl.gov >> 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 risoe.dk> 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 >>> >> >> > >
