<div dir="ltr"><div class="gmail_extra"><div class="gmail_quote">On Mon, Nov 10, 2014 at 5:34 PM, Lawrence Mitchell <span dir="ltr"><<a href="mailto:lawrence.mitchell@imperial.ac.uk" target="_blank">lawrence.mitchell@imperial.ac.uk</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><br>
On 10 Nov 2014, at 21:48, Matthew Knepley <<a href="mailto:knepley@gmail.com">knepley@gmail.com</a>> wrote:<br>
<br>
> On Fri, Nov 7, 2014 at 11:04 AM, Lawrence Mitchell <<a href="mailto:lawrence.mitchell@imperial.ac.uk">lawrence.mitchell@imperial.ac.uk</a>>wrote:<br>
> Hi petsc-dev,<br>
><br>
> 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.<br>
><br>
> That is supposed to work, and I think it does in my tests. The code is here<br>
><br>
>   <a href="https://bitbucket.org/petsc/petsc/src/1f0d623c8336219eb98f7ded6f95c151ca603fe7/src/ksp/pc/impls/fieldsplit/fieldsplit.c?at=master#cl-562" target="_blank">https://bitbucket.org/petsc/petsc/src/1f0d623c8336219eb98f7ded6f95c151ca603fe7/src/ksp/pc/impls/fieldsplit/fieldsplit.c?at=master#cl-562</a><br>
><br>
<br>
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 <a href="https://bitbucket.org/petsc/petsc/src/1f0d623c8336219eb98f7ded6f95c151ca603fe7/src/ksp/pc/impls/fieldsplit/fieldsplit.c?at=master#cl-656" target="_blank">https://bitbucket.org/petsc/petsc/src/1f0d623c8336219eb98f7ded6f95c151ca603fe7/src/ksp/pc/impls/fieldsplit/fieldsplit.c?at=master#cl-656</a><br>
<br>
at which point the nullspace is not attached, no?<br></blockquote><div><br></div><div>Crap, that is right. I think we should propagate the nullspace from pmat[1].</div><div><br></div><div>The next 2 weeks are insane for me. If you do it, I promise to look at the pull request</div><div>and merge to next.</div><div><br></div><div>  Thanks,</div><div><br></div><div>     Matt</div><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
Cheers,<br>
<br>
Lawrence<br>
</blockquote></div><br><br clear="all"><div><br></div>-- <br><div class="gmail_signature">What most experimenters take for granted before they begin their experiments is infinitely more interesting than any results to which their experiments lead.<br>-- Norbert Wiener</div>
</div></div>