[petsc-users] GMRES pc right fails while pc left succeeds

Jed Brown jedbrown at mcs.anl.gov
Fri Jun 1 06:53:00 CDT 2012


On Fri, Jun 1, 2012 at 3:36 AM, Klaij, Christiaan <C.Klaij at marin.nl> wrote:

> To solve the incompressible Navier-Stokes equations, I'm using
> cell-centered finite volumes and Picard linearization. At each
> non-linear iteration, I'm using one linear (Krylov) iteration with a
> SIMPLE-type block preconditioner (for example Elman e.a, JCP 227,
> 2008). The matrix and preconditioner are shells. Below, I'm showing
> the results for the first few non-linear iterations using
>
> (1) KSPRICHARDSON to check that the shells are ok
> (2) GMRES with right preconditioning
> (3) GMRES with left preconditioning
>
> To my surprise (2) fails while (1) and (3) succeed. The reason I'm
> interested in right preconditioning is that SIMPLE is a variable
> preconditioner so in theory I should be using FGMRES as soon as I
> increase the number of linear (Krylov) iterations.
>

One inner iteration is already nonlinear.

What is the inner iteration here? SIMPLE uses a diagonal approximation of
the (velocity,velocity) block in an explicit approximation of the Schur
complement (which you could form using the matrix product).

Is there a reason you aren't using PCFIELDSPLIT for this?


> What could be the
> reason that GMRES fails with right pc?
>

Both might be failing, you'll have to show that a tight tolerance can
eventually be reached. What does FGMRES do?

Note that the preconditioned norm (see Richardson and left-GMRES) becomes
huge. A preconditioned residual that is 10^6 larger than unpreconditioned
usually means the preconditioner is incorrect.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.mcs.anl.gov/pipermail/petsc-users/attachments/20120601/bf925592/attachment.html>


More information about the petsc-users mailing list