<div dir="ltr"><div dir="ltr"><div dir="ltr">One alternative is to support a plugable KSP/SNESReasonView system. We then could hook up KSP/SNESReasonView_MOOSE.</div><div dir="ltr"><br></div><div>We could call our views from SNES/KSP"done"Solve as well if such a system is not affordable.  What are the final functions we should call, where we guarantee SNES/KSP is already done? <br></div><div><br></div><div>Thanks,</div><div><br></div><div>Fande,</div></div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Tue, Jul 28, 2020 at 12:02 PM Barry Smith <<a href="mailto:bsmith@petsc.dev">bsmith@petsc.dev</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-style:solid;border-left-color:rgb(204,204,204);padding-left:1ex"><br>
  Alex,<br>
<br>
    The actual printing is done with SNESReasonView() and KSPReasonView() I would suggest copying those files to Moose with a name change and removing all the code you don't want. Then you can call your versions immediately after SNESSolve() and KSPSolve().<br>
<br>
   Barry<br>
<br>
<br>
> On Jul 28, 2020, at 10:43 AM, Alexander Lindsay <<a href="mailto:alexlindsay239@gmail.com" target="_blank">alexlindsay239@gmail.com</a>> wrote:<br>
> <br>
> To help debug the many emails we get about solves that fail to converge, in MOOSE we recently appended `-snes_converged_reason -ksp_converged_reason` for every call to `SNESSolve`. Of course, now we have users complaining about the new text printed to their screens that they didn't have before. Some of them have made a reasonable request to only print the convergence reason when the solve has actually failed to converge. Is there some way we can only print the reason if we've diverged, e.g. if reason < 0 ?<br>
> <br>
> Alex<br>
<br>
</blockquote></div>