Skip to main content
`Ctrl`+`K`

# Selecting Parts of Meshes (DMLabel)

The `DMLABEL` object is used to mark pieces of a mesh or `DM`, for example to indicate that a boundary condition should hold on that section. Markers are integers, so it can be seen as a multimap between integers and mesh pieces.

Insertion is amortized \(O(1)\) since hash tables are used, but each bin is then sorted so that extraction into sorted levels is also \(O(1)\). The total cost should be \(O(N log N)\) for \(N\) entries.

## Beginner - Basic usage

DMLabelAddStrata DMLabelAddStrataIS DMLabelAddStratum | DMLabelCreate DMLabelDestroy DMLabelGetDefaultValue | DMLabelReset DMLabelSetDefaultValue

## Intermediate - Setting options for algorithms and data structures

DMLABELEPHEMERAL DMLabelClearStratum DMLabelClearValue DMLabelCompare DMLabelComputeIndex DMLabelCreateIndex DMLabelDestroyIndex DMLabelDistribute DMLabelDuplicate DMLabelEphemeralGetLabel DMLabelEphemeralGetTransform DMLabelEphemeralSetLabel DMLabelEphemeralSetTransform DMLabelFilter DMLabelGetBounds | DMLabelGetNonEmptyStratumValuesIS DMLabelGetNumValues DMLabelGetStratumBounds DMLabelGetStratumIS DMLabelGetStratumPointIndex DMLabelGetStratumSize DMLabelGetType DMLabelGetValue DMLabelGetValueBounds DMLabelGetValueIS DMLabelGetValueISGlobal DMLabelGetValueIndex DMLabelHasStratum DMLabelInsertIS | DMLabelPermute DMLabelPermuteValues DMLabelPropagateBegin DMLabelPropagateEnd DMLabelPropagatePush DMLabelRewriteValues DMLabelSetStratumBounds DMLabelSetStratumIS DMLabelSetType DMLabelSetUp DMLabelSetValue DMLabelStratumHasPoint DMLabelView DMLabelViewFromOptions

## Advanced - Setting more advanced options and customization

DMLabelRegister | DMLabelRegisterAll |

## Developer - Interfaces rarely needed by applications programmers

DMLabelConvertToSection DMLabelGather DMLabelHasPoint DMLabelHasValue | DMLabelRegisterDestroy PetscSectionCreateGlobalSectionLabel PetscSectionSymCreateLabel | PetscSectionSymLabelGetStratum PetscSectionSymLabelSetLabel PetscSectionSymLabelSetStratum

## Single list of manual pages

DMLABELEPHEMERAL DMLabelAddStrata DMLabelAddStrataIS DMLabelAddStratum DMLabelClearStratum DMLabelClearValue DMLabelCompare DMLabelComputeIndex DMLabelConvertToSection DMLabelCreate DMLabelCreateIndex DMLabelDestroy DMLabelDestroyIndex DMLabelDistribute DMLabelDuplicate DMLabelEphemeralGetLabel DMLabelEphemeralGetTransform DMLabelEphemeralSetLabel DMLabelEphemeralSetTransform DMLabelFilter DMLabelGather | DMLabelGetBounds DMLabelGetDefaultValue DMLabelGetNonEmptyStratumValuesIS DMLabelGetNumValues DMLabelGetStratumBounds DMLabelGetStratumIS DMLabelGetStratumPointIndex DMLabelGetStratumSize DMLabelGetType DMLabelGetValue DMLabelGetValueBounds DMLabelGetValueIS DMLabelGetValueISGlobal DMLabelGetValueIndex DMLabelHasPoint DMLabelHasStratum DMLabelHasValue DMLabelInsertIS DMLabelPermute DMLabelPermuteValues DMLabelPropagateBegin | DMLabelPropagateEnd DMLabelPropagatePush DMLabelRegister DMLabelRegisterAll DMLabelRegisterDestroy DMLabelReset DMLabelRewriteValues DMLabelSetDefaultValue DMLabelSetStratumBounds DMLabelSetStratumIS DMLabelSetType DMLabelSetUp DMLabelSetValue DMLabelStratumHasPoint DMLabelView DMLabelViewFromOptions PetscSectionCreateGlobalSectionLabel PetscSectionSymCreateLabel PetscSectionSymLabelGetStratum PetscSectionSymLabelSetLabel PetscSectionSymLabelSetStratum