> On May 7, 2023, at 2:22 PM, Edoardo alinovi <[email protected]> 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

Reply via email to