:orphan: # DMSNESGetObjective get `SNES` objective evaluation function ## Synopsis ``` #include "petscsnes.h" #include "petscdm.h" PetscErrorCode DMSNESGetObjective(DM dm, PetscErrorCode (**obj)(SNES, Vec, PetscReal *, void *), void **ctx) ``` Not Collective ## Input Parameter - ***dm -*** `DM` to be used with `SNES` ## Output Parameters - ***obj-*** residual evaluation function; see `SNESObjectiveFunction` for details - ***ctx -*** context for residual evaluation ## Note `SNESGetFunction()` is normally used, but it calls this function internally because the user context is actually associated with the `DM`. ## See Also `DMSNESSetContext()`, `DMSNESSetObjective()`, `SNESSetFunction()` ## Level advanced ## Location src/snes/utils/dmsnes.c --- [Edit on GitLab](https://gitlab.com/petsc/petsc/-/edit/release/src/snes/utils/dmsnes.c) [Index of all SNES routines](index.md) [Table of Contents for all manual pages](/manualpages/index.md) [Index of all manual pages](/manualpages/singleindex.md)