[petsc-dev] [petsc-users] PCFieldSplit field ksp diverging - kill outer ksp

Matthew Knepley knepley at gmail.com
Sun Nov 23 18:49:48 CST 2014


On Sun, Nov 23, 2014 at 6:36 PM, Jed Brown <jed at jedbrown.org> wrote:

> "Welland, Michael J." <mwelland at anl.gov> writes:
>
> > I'm using PCFieldSplit with 2 fields, and sometimes the ksp solver for
> > one of those fields diverges. Is it possible to have it immediately
> > kill the outer ksp solver when this happens?
>
> I can't think of a nice way.  You could set a convergence test for the
> outer that checks the converged reason on the inner solvers
> (PCFieldSplitGetSubKSP, KSPGetConvergedReason).
>
> This is actually a recurring issue across hierarchical preconditioners.
> In many cases, the hierarchical preconditioner is attempting to add
> robustness or leverage inexact component solves, in which case inner
> solves don't "converge".  It would not be hard to add a crude check in
> PCFieldSplit, but fine-grained control over which component solver is
> expected to converge seems like it would add significant complexity.
> But I see the value, so we should figure something out.
>

This is also a problem when using nonlinear preconditioners, since the
SNES rarely converges. We have a nice command line way to tell Newton
to ignore KSP failures, so maybe we need something like that for nested
KSPs.

   MAtt

-- 
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
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.mcs.anl.gov/pipermail/petsc-dev/attachments/20141123/eb6a5a2b/attachment.html>


More information about the petsc-dev mailing list