SNESLineSearchPostCheck#

Hook to modify step direction or updated solution after a successful linesearch

Synopsis#

#include "petscsnes.h" 
PetscErrorCode SNESLineSearchPostCheck(SNESLineSearch linesearch, Vec X, Vec Y, Vec W, PetscBool *changed_Y, PetscBool *changed_W)

Logically Collective

Input Parameters#

  • linesearch - The line search context

  • X - The last solution

  • Y - The step direction

  • W - The updated solution, \( W = X + lambda*Y \) for some lambda

Output Parameters#

  • changed_Y - Indicator if the direction Y has been changed.

  • changed_W - Indicator if the new candidate solution W has been changed.

Note#

This calls any function provided with SNESLineSearchSetPostCheck() and is called automatically inside the line search routines

Developer Note#

The use of PetscObjectGetState() would eliminate the need for the changed_Y and changed_W arguments to be provided

See Also#

SNES: Nonlinear Solvers, SNES, SNESGetLineSearch(), SNESLineSearchPreCheck(), SNESLineSearchSetPostCheck(), SNESLineSearchGetPostCheck(), SNESLineSearchSetPrecheck(), SNESLineSearchGetPrecheck()

Level#

developer

Location#

src/snes/linesearch/interface/linesearch.c


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