petsc-3.13.6 2020-09-29
Report Typos and Errors

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