[petsc-users] left and right preconditioning with a constant null space

Lawrence Mitchell lawrence.mitchell at imperial.ac.uk
Wed Mar 22 11:59:40 CDT 2017



> On 22 Mar 2017, at 16:39, Matthew Knepley <knepley at gmail.com> wrote:
> 
> Hmm, I wonder if the problem is that A11 has the nullspace, but the PC pmat is actually B^T diag(A)^{-1} B. I have
> to look where the solver is actually taking the nullspace from. We need to improve the -ksp_view output to make this
> stuff much easier to see.

I think the nullspace for S comes from the nullspace you have composed, using PetscObjectCompose, with the IS defining the a11 block:

https://bitbucket.org/petsc/petsc/src/9914757c790456e4369968b050152728564cdbae/src/ksp/pc/impls/fieldsplit/fieldsplit.c?at=master&fileviewer=file-view-default#fieldsplit.c-587

Then, if the pmat has an attached nullspace, that overrides it:
https://bitbucket.org/petsc/petsc/src/9914757c790456e4369968b050152728564cdbae/src/ksp/pc/impls/fieldsplit/fieldsplit.c?at=master&fileviewer=file-view-default#fieldsplit.c-718

But with selfp, you have no control over pmat, so you need to send the nullspace in via the IS.

Lawrence 
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.mcs.anl.gov/pipermail/petsc-users/attachments/20170322/16c28b22/attachment.html>


More information about the petsc-users mailing list