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.

  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?

   Barry

On Jun 18, 2010, at 11:35 AM, Stephan Kramer wrote:

> Dear all,
> 
> Is there a way in petsc, when performing inner solves like PCKSP or 
> MatSchurComplementGetKSP, to make the outer solve stop immediately and report 
> back a negative convergence reason? I find that often when such "inner 
> solves" fail, the outer solve happily continues and sometimes falsely reports 
> convergence due to the preconditioner becoming rank deficient. I'd like our 
> code, using petsc, to be able to trap that sort of situations and give a 
> suitable error message.
> 
> Cheers
> Stephan

Reply via email to