Skip to main content
`Ctrl`+`K`

# DMSNESSetFunction

set `SNES` residual evaluation function

## Synopsis

    #include "petscsnes.h"
    #include "petscdm.h"
    PetscErrorCode DMSNESSetFunction(DM dm, SNESFunctionFn *f, PetscCtx ctx)

Not Collective

## Input Parameters

- dm - DM to be used with `SNES`

- f - residual evaluation function; see `SNESFunctionFn` for calling sequence

- ctx - context for residual evaluation

## Note

`SNESSetFunction()` is normally used, but it calls this function internally because the user context is actually associated with the `DM`. This makes the interface consistent regardless of whether the user interacts with a `DM` or not.

## Developer Note

If `DM` took a more central role at some later date, this could become the primary method of setting the residual.

## See Also

SNES: Nonlinear Solvers, `DMSNES`, `DMSNESSetContext()`, `SNESSetFunction()`, `DMSNESSetJacobian()`, `SNESFunctionFn`

## Level

developer

## Location

src/snes/utils/dmsnes.c

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