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” and after the function evaluation.
Synopsis#
#include "petscsnes.h"
PetscErrorCode SNESSetUpdate(SNES snes, SNESUpdateFn *func)
Logically Collective
Input Parameters#
snes - The nonlinear solver context
func - The update function; for calling sequence see
SNESUpdateFn
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, and it is intended to provide a general hook that is run
right before the direction step is computed.
Users are free to modify the current residual vector,
the current linearization point, or any other vector associated to the specific solver used.
If such modifications take place, it is the user responsibility to update all the relevant
vectors.
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()
Level#
advanced
Location#
Index of all SNES routines
Table of Contents for all manual pages
Index of all manual pages