On Sun, Jun 20, 2010 at 06:07, Barry Smith <span dir="ltr"><<a href="mailto:bsmith@mcs.anl.gov">bsmith@mcs.anl.gov</a>></span> wrote:<br><div class="gmail_quote"><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
<br>
<br>
Hmm, this is a good question. There are tons of places where some sort of "inner solve" is imbedded in an "outer solver", in fact many levels of nesting. We should handle this in a systematic way which likely means carefully checks put in various places in the code.<br>
<br>
We could instead (or in addition) add an option to have KSPSolve() generate an error on "not-convergence" instead of returning with a negative converged reason. The drawback to this is that you cannot "handle" the error and continue running, it just ends. Would this be useful?<br>
</blockquote><div><br>I don't know, but I don't think it's a substitute for propagating convergence failures without raising an error condition. You don't want the error handler called for a non-exceptional occurrence. You really want to unwind the stack nomally to whatever level can modify the problem (or report the convergence failure to the end-user).<br>
<br>Jed <br></div></div>