:orphan: # DMSubDomainHookRemove remove a callback from the list to be run when restricting a problem to the coarse grid ## 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`) ## See Also [](ch_dmbase), `DM`, `DMSubDomainHookAdd()`, `SNESFASGetInterpolation()`, `SNESFASGetInjection()`, `PetscObjectCompose()`, `PetscContainerCreate()` ## Level advanced ## Location src/dm/interface/dm.c --- [Edit on GitLab](https://gitlab.com/petsc/petsc/-/edit/release/src/dm/interface/dm.c) [Index of all DM routines](index.md) [Table of Contents for all manual pages](/manualpages/index.md) [Index of all manual pages](/manualpages/singleindex.md)