PetscObjectCompose#
Associates another PETSc object with a given PETSc object.
Synopsis#
#include "petscsys.h"
PetscErrorCode PetscObjectCompose(PetscObject obj, const char name[], PetscObject ptr)
Not Collective
Input Parameters#
obj - the PETSc object; this must be cast with (
PetscObject
), for example,PetscObjectCompose
((PetscObject
)mat,…);name - name associated with the child object
ptr - the other PETSc object to associate with the PETSc object; this must also be cast with (
PetscObject
)
Notes#
The second objects reference count is automatically increased by one when it is composed.
Replaces any previous object that had been composed with the same name.
If ptr
is NULL
and name
has previously been composed using an object, then that
entry is removed from obj
.
PetscObjectCompose()
can be used with any PETSc object (such as
Mat
, Vec
, KSP
, SNES
, etc.) or any user-provided object.
PetscContainerCreate()
or PetscObjectContainerCompose()
can be used to create an object from a
user-provided pointer that may then be composed with PETSc objects using PetscObjectCompose()
See Also#
PetscObjectQuery()
, PetscContainerCreate()
, PetscObjectComposeFunction()
, PetscObjectQueryFunction()
, PetscContainer
,
PetscContainerSetPointer()
, PetscObject
, PetscObjectContainerCompose()
Level#
advanced
Location#
Examples#
src/ts/tutorials/ex29.c
src/snes/tutorials/ex62.c
src/snes/tutorials/ex35.c
src/snes/tutorials/ex63.c
src/snes/tutorials/ex77.c
src/snes/tutorials/ex56.c
src/snes/tutorials/ex69.c
src/snes/tutorials/ex48.c
src/ksp/ksp/tutorials/ex73.c
src/ts/tutorials/ex76.c
Index of all Sys routines
Table of Contents for all manual pages
Index of all manual pages