[petsc-users] Help with fieldsplit performance

Matthew Knepley knepley at gmail.com
Sun Feb 5 15:13:46 CST 2023

On Sun, Feb 5, 2023 at 3:56 PM Edoardo alinovi <edoardo.alinovi at gmail.com>

> Maybe I managed to find out the number of iters of the field split by
> adding: fieldsplit_u_ksp_converged_reason.

You also want -fieldsplit_p_ksp_converged_reason so we can see the iterates
for the Schur complement.

> This gets printed 268 times:
>   Linear UPeqn_fieldsplit_u_ solve converged due to CONVERGED_ITS
> iterations 1

This is a little strange for BJacobi/ILU(0). Wait, you are using preonly,
so it can only take 1 iterate no matter
how bad the solve is. Is that what you want? Usually for good convergence,
you need accurate solves of the
A00 system.

1. You are using A11 as the preconditioning matrix for the Schur
> complement. Do you expect this to be a good idea?
> Good question, I have also tried self and selfp but not much difference!
> Any suggestions?

It depends on what your Schur complement operator looks like. Usually you
are much better off assembling
an approximation to it. For example, the Schur complement for the Stokes
equation is spectrally equivalent to
the mass matrix, and this makes a good preconditioning matrix.

> 2. You are using BJacobi/ILU(0) for A00. Is this a good idea?
> I have tried other options like hypre and ML but this one looks the best
> for now, do you have other suggestions?

It could be, but using preonly seems dangerous. I would first use GMRES and
see how many iterates are used.



What most experimenters take for granted before they begin their
experiments is infinitely more interesting than any results to which their
experiments lead.
-- Norbert Wiener

https://www.cse.buffalo.edu/~knepley/ <http://www.cse.buffalo.edu/~knepley/>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.mcs.anl.gov/pipermail/petsc-users/attachments/20230205/b179a58c/attachment.html>

More information about the petsc-users mailing list