# DMLABEL Manual Pages

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.

[Manual Pages Table of Contents](/docs/manualpages/index.md)

## Manual Pages by Level

### Beginner - Basic usage
```{hlist}
---
columns: 3
---
- [](DMLabelAddStrata.md)
- [](DMLabelAddStrataIS.md)
- [](DMLabelAddStratum.md)
- [](DMLabelCreate.md)
- [](DMLabelDestroy.md)
- [](DMLabelGetDefaultValue.md)
- [](DMLabelReset.md)
- [](DMLabelSetDefaultValue.md)
```



### Intermediate - Setting options for algorithms and data structures
```{hlist}
---
columns: 3
---
- [](DMLabelClearStratum.md)
- [](DMLabelClearValue.md)
- [](DMLabelCompare.md)
- [](DMLabelComputeIndex.md)
- [](DMLabelCreateIndex.md)
- [](DMLabelDestroyIndex.md)
- [](DMLabelDistribute.md)
- [](DMLabelDuplicate.md)
- [](DMLabelFilter.md)
- [](DMLabelGetBounds.md)
- [](DMLabelGetNonEmptyStratumValuesIS.md)
- [](DMLabelGetNumValues.md)
- [](DMLabelGetStratumBounds.md)
- [](DMLabelGetStratumIS.md)
- [](DMLabelGetStratumPointIndex.md)
- [](DMLabelGetStratumSize.md)
- [](DMLabelGetValue.md)
- [](DMLabelGetValueIS.md)
- [](DMLabelGetValueIndex.md)
- [](DMLabelHasStratum.md)
- [](DMLabelInsertIS.md)
- [](DMLabelPermute.md)
- [](DMLabelPropagateBegin.md)
- [](DMLabelPropagateEnd.md)
- [](DMLabelPropagatePush.md)
- [](DMLabelSetStratumBounds.md)
- [](DMLabelSetStratumIS.md)
- [](DMLabelSetValue.md)
- [](DMLabelStratumHasPoint.md)
- [](DMLabelView.md)
```



### No advanced routines

### Developer - Interfaces intended primarily for library developers, not for typical applications programmers
```{hlist}
---
columns: 3
---
- [](DMLabel.md)
- [](DMLabelConvertToSection.md)
- [](DMLabelGather.md)
- [](DMLabelHasPoint.md)
- [](DMLabelHasValue.md)
- [](PetscSectionCreateGlobalSectionLabel.md)
- [](PetscSectionSymCreateLabel.md)
- [](PetscSectionSymLabelGetStratum.md)
- [](PetscSectionSymLabelSetLabel.md)
- [](PetscSectionSymLabelSetStratum.md)
```



### No deprecated routines

## Single list of manual pages
```{toctree}
---
maxdepth: 1
---
DMLabel.md
DMLabelAddStrata.md
DMLabelAddStrataIS.md
DMLabelAddStratum.md
DMLabelClearStratum.md
DMLabelClearValue.md
DMLabelCompare.md
DMLabelComputeIndex.md
DMLabelConvertToSection.md
DMLabelCreate.md
DMLabelCreateIndex.md
DMLabelDestroy.md
DMLabelDestroyIndex.md
DMLabelDistribute.md
DMLabelDuplicate.md
DMLabelFilter.md
DMLabelGather.md
DMLabelGetBounds.md
DMLabelGetDefaultValue.md
DMLabelGetNonEmptyStratumValuesIS.md
DMLabelGetNumValues.md
DMLabelGetStratumBounds.md
DMLabelGetStratumIS.md
DMLabelGetStratumPointIndex.md
DMLabelGetStratumSize.md
DMLabelGetValue.md
DMLabelGetValueIS.md
DMLabelGetValueIndex.md
DMLabelHasPoint.md
DMLabelHasStratum.md
DMLabelHasValue.md
DMLabelInsertIS.md
DMLabelPermute.md
DMLabelPropagateBegin.md
DMLabelPropagateEnd.md
DMLabelPropagatePush.md
DMLabelReset.md
DMLabelSetDefaultValue.md
DMLabelSetStratumBounds.md
DMLabelSetStratumIS.md
DMLabelSetValue.md
DMLabelStratumHasPoint.md
DMLabelView.md
PetscSectionCreateGlobalSectionLabel.md
PetscSectionSymCreateLabel.md
PetscSectionSymLabelGetStratum.md
PetscSectionSymLabelSetLabel.md
PetscSectionSymLabelSetStratum.md
```


