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 > >