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. Jens -----Original Message----- From: [email protected] [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 >> > >
