Skip to main content
`Ctrl`+`K`

# DMLabelRegister

Adds a new label component implementation

## Synopsis

    #include "petscdmlabel.h"
    #include "petscsection.h"
    PetscErrorCode DMLabelRegister(const char name[], PetscErrorCode (*create_func)(DMLabel))

Not Collective

## Input Parameters

- name - The name of a new user-defined creation routine

- create_func - The creation routine itself

## Notes

`DMLabelRegister()` may be called multiple times to add several user-defined labels

## Example Usage

      DMLabelRegister("my_label", MyLabelCreate);

Then, your label type can be chosen with the procedural interface via

      DMLabelCreate(MPI_Comm, DMLabel *);
      DMLabelSetType(DMLabel, "my_label");

or at runtime via the option

      -dm_label_type my_label

## See Also

`DMLabel`, `DM`, `DMLabelType`, `DMLabelRegisterAll()`, `DMLabelRegisterDestroy()`

## Level

advanced

## Location

src/dm/label/dmlabel.c

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