Jeremy Theler <[email protected]> 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
signature.asc
Description: PGP signature
