[petsc-users] getting the near nullspace from PCSetCoordinates

Jed Brown jed at jedbrown.org
Mon Jan 2 10:47:18 CST 2017


Jeremy Theler <jeremy at seamplex.com> writes:

> Hi all
>
> I want to check that the near nullspace I provide to GAMG gives "almost
> null vectors" when multiplying each vector in the near nullspace against
> the matrix problem.
>
> This way I can check that the unknown ordering I am using is consistent,
> for example using by MatNullSpaceCreateRigidBody() or by computing the
> nullspace by myself.

Please use that and MatSetNearNullSpace().  It composes properly and you
can check everything.

PCSetCoordinates() happens to do double-duty for aggregation-based
methods, but outside of semi-geometric methods, it is just ugly code
duplication and makes assumptions that may be inappropriate (like
elasticity with an interpolatory basis).  I would recommend not using
PCSetCoordinates().

> The thing is I do not know how I can get the nullspace object after
> calling PCSetCoordinates(). It gets a pointer to the PC object, but
> MatGetNearNullSpace() needs the matrix object. I assume at some point
> the matrix and the PC get linked, but when I ask
> MatGetNearNullSpace(matrix) passing the problem matrix after setting
> PCSetCoordinates(pc) I get:
>
> error: PETSc error 85-0 'Null Object: Parameter # 1'
> in /home/gtheler/libs/petsc-3.7.4/src/mat/interface/matnull.c
> MatNullSpaceGetVecs:64
>
>
> thanks
>
> -- 
> Jeremy Theler
> www.seamplex.com
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 800 bytes
Desc: not available
URL: <http://lists.mcs.anl.gov/pipermail/petsc-users/attachments/20170102/e49828b0/attachment.pgp>


More information about the petsc-users mailing list