[petsc-users] Only print converged reason when not converged

Fande Kong fdkong.jd at gmail.com
Tue Jul 28 13:12:44 CDT 2020


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 <bsmith at 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 <
> alexlindsay239 at 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
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.mcs.anl.gov/pipermail/petsc-users/attachments/20200728/07b092a6/attachment.html>


More information about the petsc-users mailing list