PetscObjectComposeFunction#
Associates a function with a given PETSc object.
Synopsis#
#include <petscsys.h>
PetscErrorCode PetscObjectComposeFunction(PetscObject obj, const char name[], void (*fptr)(void))
Logically Collective
Input Parameters#
obj - the PETSc object; this must be cast with a (
PetscObject
), for example,PetscObjectCompose
((PetscObject
)mat,…);name - name associated with the child function
fptr - function pointer
Notes#
When the first argument of fptr
is (or is derived from) a PetscObject
then PetscTryMethod()
and PetscUseMethod()
can be used to call the function directly with error checking.
To remove a registered routine, pass in NULL
for fptr
.
PetscObjectComposeFunction()
can be used with any PETSc object (such as
Mat
, Vec
, KSP
, SNES
, etc.) or any user-provided object.
PetscUseTypeMethod()
and PetscTryTypeMethod()
are used to call a function that is stored in the objects obj->ops
table.
See Also#
PetscObjectQueryFunction()
, PetscContainerCreate()
PetscObjectCompose()
, PetscObjectQuery()
, PetscTryMethod()
, PetscUseMethod()
,
PetscUseTypeMethod()
, PetscTryTypeMethod()
, PetscObject
Level#
advanced
Location#
Examples#
src/sys/tutorials/ex7.c
src/mat/tutorials/ex8.c
src/ksp/ksp/tutorials/ex73.c
Index of all Sys routines
Table of Contents for all manual pages
Index of all manual pages