Skip to main content
`Ctrl`+`K`

# SNESSetFunction

Sets the function evaluation routine and function vector for use by the `SNES` routines in solving systems of nonlinear equations.

## Synopsis

    #include "petscsnes.h"
    #include "petscsnes.h"
    PetscErrorCode SNESSetFunction(SNES snes, Vec r, SNESFunctionFn *f, PetscCtx ctx)

Logically Collective

## Input Parameters

- snes - the `SNES` context

- r - vector to store function values, may be `NULL`

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

- ctx - [optional] user-defined context for private data for the function evaluation routine (may be `NULL`)

## See Also

SNES: Nonlinear Solvers, `SNES`, `SNESGetFunction()`, `SNESComputeFunction()`, `SNESSetJacobian()`, `SNESSetPicard()`, `SNESFunctionFn`

## Level

beginner

## Location

src/snes/interface/snes.c

## Examples

src/snes/tutorials/ex22.c
src/snes/tutorials/ex14.c
src/snes/tutorials/ex18.c
src/snes/tutorials/ex2.c
src/snes/tutorials/ex21.c
src/snes/tutorials/ex59.c
src/snes/tutorials/ex28.c
src/snes/tutorials/ex3.c
src/snes/tutorials/ex1.c
src/snes/tutorials/ex1f.F90

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