Skip to main content
`Ctrl`+`K`

# SNESSetUpdate

Sets the general-purpose update function called at the beginning of every iteration of the nonlinear solve. Specifically it is called just before the Jacobian is “evaluated”.

## Synopsis

    #include "petscsnes.h"
    PetscErrorCode SNESSetUpdate(SNES snes, PetscErrorCode (*func)(SNES snes, PetscInt step))

Logically Collective

## Input Parameters

- snes - The nonlinear solver context

- func - The function

## Calling sequence of `func`

- snes - the nonlinear solver context

- step - The current step of the iteration

## Notes

This is NOT what one uses to update the ghost points before a function evaluation, that should be done at the beginning of your function provided to `SNESSetFunction()`, or `SNESSetPicard()` This is not used by most users.

There are a variety of function hooks one many set that are called at different stages of the nonlinear solution process, see the functions listed below.

## See Also

SNES: Nonlinear Solvers, `SNES`, `SNESSolve()`, `SNESSetJacobian()`, `SNESLineSearchSetPreCheck()`, `SNESLineSearchSetPostCheck()`, `SNESNewtonTRSetPreCheck()`, `SNESNewtonTRSetPostCheck()`, `SNESMonitorSet()`, `SNESSetDivergenceTest()`

## Level

advanced

## Location

src/snes/interface/snes.c

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