PETSc version 3.15.5
Fix/Edit manual page

# MatNullSpaceCreateRigidBody

create rigid body modes from coordinates

### Synopsis

    #include "petscmat.h"
    PetscErrorCode MatNullSpaceCreateRigidBody(Vec coords,MatNullSpace *sp)

Collective on Vec

### Input Argument

| coords | - block of coordinates of each node, must have block size set

### Output Argument

| 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

MatNullSpaceCreate(), MatSetNearNullspace(), MatSetNullspace()

### Level

advanced

### Location

src/mat/interface/matnull.c

### Examples

src/ksp/ksp/tutorials/ex49.c.html
src/ksp/ksp/tutorials/ex56.c.html
src/ksp/ksp/tutorials/ex71.c.html
Index of all Mat routines
Table of Contents for all manual pages
Index of all manual pages