[petsc-users] Help with KSPSetConvergenceTest

Barry Smith bsmith at petsc.dev
Sun May 7 13:31:28 CDT 2023



> On May 7, 2023, at 2:22 PM, Edoardo alinovi <edoardo.alinovi at gmail.com> wrote:
> 
> Hello Barry,
> 
> Mega! Thank you Berry much for providing me with a working example! I ended up in writing this:
> 
>         call KSPConvergedDefault(ksp, n, rnorm, flag, PETSC_NULL_FUNCTION, ierr)

This should not work. The argument to KSPConvergedDefault is a context, not a function

>         if (n<flubioSolvers%itmin) then 
>             flag = 0
>         endif
>         ierr = 0
> 
> and it looks working but I'll take advantage of your suggestion ;)  Is KSPConvergedDefaultDestroy mandatory?

   You could pass PETSC_NULL_FUNCTION instead of KSPConvergedDefaultDestroy, but there is no reason to.

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

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.mcs.anl.gov/pipermail/petsc-users/attachments/20230507/2cb9b0d7/attachment.html>


More information about the petsc-users mailing list