Skip to main content
`Ctrl`+`K`

# DMDASNESSetObjectiveLocal

set a local residual evaluation function to used with a `DMDA`

## Synopsis

    #include "petscdmda.h"
    #include "petscsnes.h"
    PetscErrorCode DMDASNESSetObjectiveLocal(DM dm, PetscErrorCode (*func)(DMDALocalInfo *info, void *x, PetscReal *obj, void *), void *ctx)

Logically Collective

## Input Parameters

- dm - `DM` to associate callback with

- func - local objective evaluation, see `DMDASNESSetObjectiveLocal` for the calling sequence

- ctx - optional context for local residual evaluation

## Calling sequence of `func`

- info - `DMDALocalInfo` defining the subdomain to evaluate the Jacobian at

- x - dimensional pointer to state at which to evaluate the objective (e.g. PetscScalar *x or **x or ***x)

- obj - returned objective value for the local subdomain

- ctx - optional context passed above

## See Also

SNES: Nonlinear Solvers, `DMDA`, `DMSNESSetFunction()`, `DMDASNESSetJacobianLocal()`, `DMDACreate1d()`, `DMDACreate2d()`, `DMDACreate3d()`, `DMDASNESObjectiveFn`

## Level

beginner

## Location

src/snes/utils/dmdasnes.c

## Examples

src/snes/tutorials/ex4.c
src/snes/tutorials/ex55.c
src/snes/tutorials/ex5.c

Index of all SNES routines
Table of Contents for all manual pages
Index of all manual pages