petsc-3.12.4 2020-02-04
Report Typos and Errors

# DMCoarsenHookRemove

remove a callback from the list of hooks to be run when restricting a nonlinear problem to the coarse grid

### Synopsis

    #include "petscdm.h"
    #include "petscdmlabel.h"
    #include "petscds.h"
    PetscErrorCode DMCoarsenHookRemove(DM fine,PetscErrorCode (*coarsenhook)(DM,DM,void*),PetscErrorCode (*restricthook)(DM,Mat,Vec,Mat,DM,void*),void *ctx)

Logically Collective

### Input Arguments

| fine | - nonlinear solver context on which to run a hook when restricting to a coarser level
| coarsenhook | - function to run when setting up a coarser level
| restricthook | - function to run to update data on coarser levels (once per SNESSolve())
| ctx | - [optional] user-defined context for provide data for the hooks (may be NULL)

### Notes

This function does nothing if the hook is not in the list.

This function is currently not available from Fortran.

### See Also

DMCoarsenHookAdd(), DMRefineHookAdd(), SNESFASGetInterpolation(), SNESFASGetInjection(), PetscObjectCompose(), PetscContainerCreate()

### 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