Skip to main content
`Ctrl`+`K`

# DMPlexCreateRigidBodies

For the default global section, create rigid body modes by function space interpolation

## Synopsis

    #include "petscdmplex.h"
    PetscErrorCode DMPlexCreateRigidBodies(DM dm, PetscInt nb, DMLabel label, const PetscInt nids[], const PetscInt ids[], MatNullSpace *sp)

Collective

## Input Parameters

- dm - the `DM`

- nb - The number of bodies

- label - The `DMLabel` marking each domain

- nids - The number of ids per body

- ids - An array of the label ids in sequence for each domain

## Output Parameter

- sp - the null space

## Note

This is necessary to provide a suitable coarse space for algebraic multigrid

## See Also

DMPlex: Unstructured Grids, `DM`, `DMPLEX`, `MatNullSpaceCreate()`

## Level

advanced

## Location

src/dm/impls/plex/plexfem.c

Index of all DMPlex routines
Table of Contents for all manual pages
Index of all manual pages