On Mon, Nov 10, 2014 at 5:34 PM, Lawrence Mitchell < [email protected]> wrote:
> > On 10 Nov 2014, at 21:48, Matthew Knepley <[email protected]> wrote: > > > On Fri, Nov 7, 2014 at 11:04 AM, Lawrence Mitchell < > [email protected]>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
