DMRefineHookAdd#
adds a callback to be run when interpolating a nonlinear problem to a finer grid
Synopsis#
#include "petscdm.h"
#include "petscdmlabel.h"
#include "petscds.h"
PetscErrorCode DMRefineHookAdd(DM coarse, PetscErrorCode (*refinehook)(DM, DM, void *), PetscErrorCode (*interphook)(DM, Mat, DM, void *), void *ctx)
Logically Collective; No Fortran Support
Input Parameters#
Calling sequence of refinehook
#
PetscErrorCode refinehook(DM coarse, DM fine, void *ctx);
Calling sequence of interphook
#
PetscErrorCode interphook(DM coarse, Mat interp, DM fine, void *ctx)
Notes#
This function is only needed if auxiliary data that is attached to the DM
s via, for example, PetscObjectCompose()
, needs to be
passed to fine grids while grid sequencing.
The actual interpolation is done when DMInterpolate()
is called.
If this function is called multiple times, the hooks will be run in the order they are added.
See Also#
DM Basics, DM
, DMCoarsenHookAdd()
, DMInterpolate()
, SNESFASGetInterpolation()
, SNESFASGetInjection()
, PetscObjectCompose()
, PetscContainerCreate()
Level#
advanced
Location#
Examples#
Index of all DM routines
Table of Contents for all manual pages
Index of all manual pages