[petsc-dev] [petsc-users] unreliable AMG in PETSc

Barry Smith bsmith at mcs.anl.gov
Mon Oct 27 16:34:16 CDT 2014


> On Oct 27, 2014, at 1:09 PM, Mark Adams <mfadams at lbl.gov> wrote:
> 
> Just to reiterate,add, emphasize what what was said. AMG solvers are very tricky to make robust to all -- even reasonable -- inputs. To say nothing of all inputs, but there are a finite number of ways the code can segv and we want fix them -- one by one.  This code is in fact sable, for 2-3 year now but users find valid ways to create a segv or mysterious failure and we fix these.  One at a time, but there is a finite number.
> 
> Many PC can be unsymmetric (ILU, MG with F-cycles) and in the case of ILU indefinite to boot (thus the fix that Barry talked about).  And as Jed says CG seems to be pretty robust to this.  I've seen PETSc CG return negative eigenvalues for large deformation elasticity that do in fact go indefinite (buckling) but it worked fine and Newton eventually converged to an SPD system.
> 
> AMG (MG in general) should not be indefinite with valid inputs, for scalar Laplacian at least. So a V-cycle preconditioner for an SPD matrix, with an SPD smoother should stay SPD.

   Mark,

   How can we insure that that the smoother is SPD? Which are known to be. In his case it was Richardson + SSOR on a bunch of processes.


  Barry

>  It might die but it should not be indefinite.
> 
> Mark
> 
> On Thu, Oct 23, 2014 at 2:12 PM, Jed Brown <jed at jedbrown.org> wrote:
> Barry Smith <bsmith at mcs.anl.gov> writes:
> >    It is any interesting question if there is anything one can “do” to
> >    a preconditioner to insure that it is SPD or detect if it may not
> >    be BEFORE actually running the CG with that preconditioned.
> 
> You can use an eigensolver for the extreme eigenvalues of the iteration
> matrix for the smoother.  And if it's unstable, report that.  This is
> one thing that the petsc-eig plugin (which I'll update) can do, but it's
> too expensive to do by default.
> 




More information about the petsc-dev mailing list