[petsc-users] Nullspaces for schur complement PCs

Matthew Knepley knepley at gmail.com
Mon Nov 10 17:50:16 CST 2014


On Mon, Nov 10, 2014 at 5:34 PM, Lawrence Mitchell <
lawrence.mitchell at imperial.ac.uk> wrote:

>
> On 10 Nov 2014, at 21:48, Matthew Knepley <knepley at gmail.com> wrote:
>
> > On Fri, Nov 7, 2014 at 11:04 AM, Lawrence Mitchell <
> lawrence.mitchell at imperial.ac.uk>wrote:
> > Hi petsc-dev,
> >
> > I'm solving a pure Neumann mixed Poisson-like problem, preconditioning
> with a schur complement.  The pressure space has a nullspace of the
> constant functions and so I attach the appropriate nullspace to the krylov
> solver, and compose the constant nullspace with the IS defining the
> pressure space.  My RHS is consistent.
> >
> > That is supposed to work, and I think it does in my tests. The code is
> here
> >
> >
> https://bitbucket.org/petsc/petsc/src/1f0d623c8336219eb98f7ded6f95c151ca603fe7/src/ksp/pc/impls/fieldsplit/fieldsplit.c?at=master#cl-562
> >
>
> That code attaches the nullspace attached to the IS to jac->pmat if
> appropriate.  However, if I'm using -pc_fieldsplit_schur_precondition selfp
> then the schur complement is preconditioned with jac->schurp (rather than
> jac->pmat[1]) which is not setup until here
> https://bitbucket.org/petsc/petsc/src/1f0d623c8336219eb98f7ded6f95c151ca603fe7/src/ksp/pc/impls/fieldsplit/fieldsplit.c?at=master#cl-656
>
> at which point the nullspace is not attached, no?
>

Crap, that is right. I think we should propagate the nullspace from pmat[1].

The next 2 weeks are insane for me. If you do it, I promise to look at the
pull request
and merge to next.

  Thanks,

     Matt


> Cheers,
>
> Lawrence
>



-- 
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/20141110/9718c617/attachment-0001.html>


More information about the petsc-users mailing list