[petsc-users] GMRES pc right fails while pc left succeeds
Klaij, Christiaan
C.Klaij at marin.nl
Mon Jun 4 02:36:41 CDT 2012
> > 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).
Yes, the diagonal of the velocity block is used to form the Schur
complement approximation explicitly. I'm solving the velocity
subsystem and the Schur complement subsystem to a relative tolerance
of 0.01. Decreasing this tolerance does not change the behaviour of
GMRES with right preconditioning.
>
> Is there a reason you aren't using PCFIELDSPLIT for this?
>
Historical reasons. If I had to redo the whole thing I would
probably use PCFIELDSPLIT.
>
> > 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?
Well, I only showed the first few non-linear iterations, but
eventually RICHARDSON and GMRES with left pc go from 1e+7 to 1e-3
in the preconditioned norm and from 1e+2 to 1e-5 in the true
norm. FGMRES behaves like GMRES with right pc, totally stuck.
>
> 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.
Yes, it's remarkably large in the beginning. At convergence the
difference is about 10^2.
dr. ir. Christiaan Klaij
CFD Researcher
Research & Development
E mailto:C.Klaij at marin.nl
T +31 317 49 33 44
MARIN
2, Haagsteeg, P.O. Box 28, 6700 AA Wageningen, The Netherlands
T +31 317 49 39 11, F +31 317 49 32 45, I www.marin.nl
More information about the petsc-users
mailing list