Skip to main content
`Ctrl`+`K`

# DMAdaptorRegister

Adds a new adaptor component implementation

## Synopsis

    #include "petscdmadaptor.h"
    PetscErrorCode DMAdaptorRegister(const char name[], PetscErrorCode (*create_func)(DMAdaptor))

Not Collective

## Input Parameters

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

- create_func - The creation routine

## Example Usage

      DMAdaptorRegister("my_adaptor", MyAdaptorCreate);

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

      DMAdaptorCreate(MPI_Comm, DMAdaptor *);
      DMAdaptorSetType(DMAdaptor, "my_adaptor");

or at runtime via the option

      -adaptor_type my_adaptor

## Note

`DMAdaptorRegister()` may be called multiple times to add several user-defined adaptors

## See Also

DMPlex: Unstructured Grids, `DM`, `DMPLEX`, `DMAdaptor`, `DMAdaptorRegisterAll()`, `DMAdaptorRegisterDestroy()`

## Level

advanced

## Location

src/snes/utils/dm/dmadapt.c

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