MatNullSpaceCreateRigidBody#
create rigid body modes from coordinates
Synopsis#
#include "petscmat.h"
PetscErrorCode MatNullSpaceCreateRigidBody(Vec coords, MatNullSpace *sp)
Collective
Input Parameter#
coords - block of coordinates of each node, must have block size set
Output Parameter#
sp - the null space
Notes#
If you are solving an elasticity problem you should likely use this, in conjunction with MatSetNearNullSpace()
, to provide information that
the PCGAMG
preconditioner can use to construct a much more efficient preconditioner.
If you are solving an elasticity problem with pure Neumann boundary conditions you can use this in conjunction with MatSetNullSpace()
to
provide this information to the linear solver so it can handle the null space appropriately in the linear solution.
See Also#
Matrices, Mat
, MatNullSpace
, MatNullSpaceCreate()
, MatSetNearNullSpace()
, MatSetNullSpace()
, PCGAMG
Level#
advanced
Location#
Examples#
src/ksp/ksp/tutorials/ex49.c
src/ksp/ksp/tutorials/ex56.c
src/ksp/ksp/tutorials/ex71.c
Index of all Mat routines
Table of Contents for all manual pages
Index of all manual pages