:orphan: # PetscObjectRegisterDestroy Registers a PETSc object to be destroyed when `PetscFinalize()` is called. ## Synopsis ``` #include "petscsys.h" PetscErrorCode PetscObjectRegisterDestroy(PetscObject obj) ``` Logically Collective ## Input Parameter - ***obj -*** any PETSc object, for example a `Vec`, `Mat` or `KSP`. This must be cast with a (`PetscObject`), for example, `PetscObjectRegisterDestroy`((`PetscObject`)mat); ## Note This is used by, for example, `PETSC_VIEWER_XXX_()` routines to free the viewer when PETSc ends. ## See Also `PetscObjectRegisterDestroyAll()` ## Level developer ## Location src/sys/objects/destroy.c --- [Edit on GitLab](https://gitlab.com/petsc/petsc/-/edit/release/src/sys/objects/destroy.c) [Index of all Sys routines](index.md) [Table of Contents for all manual pages](/manualpages/index.md) [Index of all manual pages](/manualpages/singleindex.md)