[petsc-users] replacing Schur complement in pcfieldsplit

Matthew Knepley knepley at gmail.com
Thu Jun 21 08:14:47 CDT 2012


On Thu, Jun 21, 2012 at 1:17 AM, Klaij, Christiaan <C.Klaij at marin.nl> wrote:

> > >
> > > In order to implement SIMPLE-type preconditioners for the
> > > incompressible Navier-Stokes equations (Elman e.a. JCP 227, 2008)
> > > using the PCFieldSplit framework, it looks like I need to replace
> > > inv(A00) by some cheap approximation
> > >
> > > 1) in the Schur complement
> > >
> >
> > When you have a Schur FS, the '0' solver is this approximation.
> >
> >
> > > 2) in the L and/or U of the LDU factorization
> > >
> >
> > You can use whatever PC you want for the solver mentioned above.
> >
> >
> > > 3) while keeping A00 in the D
> > >
> >
> > I think what you want here is -pc_fieldsplit_real_diagonal.
>
> Let me get this straight. Looking at the full LDU factorization
> of the block matrix. Citing from the manual:
>
>  For the Schur complement preconditioner if
>  J = ( A00 A01 )
>      ( A10 A11 )
>
>  the preconditioner using full factorization is
>      ( I   -A10 ksp(A00) ) ( inv(A00)     0  ) (     I          0  )
>      ( 0         I       ) (   0      ksp(S) ) ( -A10 ksp(A00)  I  )
>

Yes.


> Clearly inv(A00) occurs four times, right? In L and in U and
> twice in D. Now if I somehow overrule the '0' solver with my
>

Yes


> approximation and use -pc_fieldsplit_real_diagonal, the effect
> would be that inv(A00) is replaced in L, in U and in S but not in
> the 00-block of D?
>

No. What this says is that we should use the action of the
actual matrix rather than the preconditioner matrix in the solver.

I now think I have a better idea what you want, but it would be
helpful if you wrote it out completely in linear algebra notation, as
above. Right now, we use the same KSP for all 4 places above.
Using different KSPs would require a small code change, which I
can make if you give me a better idea what you want.


> And what's the function name corresponding to
> -pc_fieldsplit_real_diagonal?
>

We have not put one in yet.

   Thanks,

      Matt


> >
> > I would be really nice to make a PETSc example that did SIMPLE. I was
> > going to do this, but if you do it first, I will put it in.
>
> Working on it.
>
>
> 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
>
>


-- 
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
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.mcs.anl.gov/pipermail/petsc-users/attachments/20120621/e32a1224/attachment.html>


More information about the petsc-users mailing list