KPSSetPostSolve(), There is no SNESSetPostSolve() but there could/should be.
Barry Note inside the SNESSolve there are a bunch of pre and post hooks, don't get the confused with an outside SNESSetPostSolve() > On Jul 28, 2020, at 1:12 PM, Fande Kong <fdkong...@gmail.com> wrote: > > 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 > <mailto: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 > > <mailto: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 >