One alternative is to support a plugable KSP/SNESReasonView system. We then
could hook up KSP/SNESReasonView_MOOSE.

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?

Thanks,

Fande,

On Tue, Jul 28, 2020 at 12:02 PM Barry Smith <bsm...@petsc.dev> wrote:

>
>   Alex,
>
>     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().
>
>    Barry
>
>
> > On Jul 28, 2020, at 10:43 AM, Alexander Lindsay <
> alexlindsay...@gmail.com> wrote:
> >
> > 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 ?
> >
> > Alex
>
>

Reply via email to