Skip to main content
`Ctrl`+`K`

# DMSubDomainHookRemove

remove a callback from the list to be run when restricting a problem to subdomain `DM`s with `DMCreateDomainDecomposition()`

## Synopsis

    #include "petscdm.h"
    #include "petscdmlabel.h"
    #include "petscds.h"
    PetscErrorCode DMSubDomainHookRemove(DM global, PetscErrorCode (*ddhook)(DM, DM, void *), PetscErrorCode (*restricthook)(DM, VecScatter, VecScatter, DM, void *), void *ctx)

Logically Collective; No Fortran Support

## Input Parameters

- global - global `DM`

- ddhook - function to run to pass data to the decomposition `DM` upon its creation

- restricthook - function to run to update data on block solve (at the beginning of the block solve)

- ctx - [optional] user-defined context for provide data for the hooks (may be `NULL`)

## Note

See `DMSubDomainHookAdd()` for the calling sequences of `ddhook` and `restricthook`

## See Also

DM Basics, `DM`, `DMSubDomainHookAdd()`, `SNESFASGetInterpolation()`, `SNESFASGetInjection()`, `PetscObjectCompose()`, `PetscContainerCreate()`, `DMCreateDomainDecomposition()`

## Level

advanced

## Location

src/dm/interface/dm.c

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