<html><head><meta http-equiv="content-type" content="text/html; charset=us-ascii"></head><body style="overflow-wrap: break-word; -webkit-nbsp-mode: space; line-break: after-white-space;"><br><div><br><blockquote type="cite"><div>On May 7, 2023, at 2:22 PM, Edoardo alinovi <edoardo.alinovi@gmail.com> wrote:</div><br class="Apple-interchange-newline"><div><div dir="ltr">Hello Barry,<div><br></div><div>Mega! Thank you Berry much for providing me with a working example! I ended up in writing this:</div><div><i><b><br></b></i></div><div><i><b>        call KSPConvergedDefault(ksp, n, rnorm, flag, PETSC_NULL_FUNCTION, ierr)<br></b></i></div></div></div></blockquote><div><br></div>This should not work. The argument to <i><b>KSPConvergedDefault is a context, not a function</b></i></div><div><b><i><br></i></b><blockquote type="cite"><div><div dir="ltr"><div><i><b>        if (n<flubioSolvers%itmin) then <br>            flag = 0<br>        endif<br>        ierr = 0</b></i><br></div><div><br></div><div>and it looks working but I'll take advantage of your suggestion ;)  Is KSPConvergedDefaultDestroy mandatory?</div></div></div></blockquote><div><br></div>   You could pass <i><b>PETSC_NULL_FUNCTION instead of </b></i>KSPConvergedDefaultDestroy, but there is no reason to.</div><div><br><blockquote type="cite"><div><div dir="ltr"><div><br></div><div>I know it's easy code, but maybe you might have a think to add this control and expose it as the max number of iterations in KSP. I can tell you it is very much used, I found myself many times in need to tell the solver to iterate regardless of the tolerances criteria. It happens for example in the RANS equation, especially omega. Sometimes they tend to stall and you do want to tighten the tolerances for a bunch of iters, or you might not know if they do while iterating! </div><div><br></div><div>Cheers</div></div>
</div></blockquote></div><br></body></html>