PETSc version 3.16.5
Fix/Edit manual page

# DMLocalToGlobalHookAdd

adds a callback to be run when a local to global is called

### Synopsis

    #include "petscdm.h"
    #include "petscdmlabel.h"
    #include "petscds.h"
    PetscErrorCode DMLocalToGlobalHookAdd(DM dm,PetscErrorCode (*beginhook)(DM,Vec,InsertMode,Vec,void*),PetscErrorCode (*endhook)(DM,Vec,InsertMode,Vec,void*),void *ctx)

Logically Collective

### Input Parameters

| dm | - the DM
| beginhook | - function to run at the beginning of DMLocalToGlobalBegin()
| endhook | - function to run after DMLocalToGlobalEnd() has completed
| ctx | - [optional] user-defined context for provide data for the hooks (may be NULL)

### Calling sequence for beginhook

       beginhook(DM fine,Vec l,InsertMode mode,Vec g,void *ctx)

| dm | - global DM
| l | - local vector
| mode | - mode
| g | - global vector
| ctx | - optional user-defined function context

### Calling sequence for endhook

       endhook(DM fine,Vec l,InsertMode mode,Vec g,void *ctx)

| global | - global DM
| l | - local vector
| mode | - mode
| g | - global vector
| ctx | - optional user-defined function context

### See Also

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