SNESLineSearchSetPreCheck#
Sets a user function that is called after the initial search direction has been computed but before the line search routine has been applied. Allows the user to adjust the result of (usually a linear solve) that determined the search direction.
Synopsis#
#include "petscsnes.h"
PetscErrorCode SNESLineSearchSetPreCheck(SNESLineSearch linesearch, PetscErrorCode (*func)(SNESLineSearch, Vec, Vec, PetscBool *, void *), void *ctx)
Logically Collective
Input Parameters#
linesearch - the
SNESLineSearch
contextfunc - [optional] function evaluation routine, for the calling sequence see
SNESLineSearchPreCheck()
ctx - [optional] user-defined context for private data for the function evaluation routine (may be
NULL
)
Note#
Use SNESLineSearchSetPostCheck()
to change the step after the line search.
search is complete.
Use SNESVISetVariableBounds()
and SNESVISetComputeVariableBounds()
to cause SNES
to automatically control the ranges of variables allowed.
See Also#
SNESGetLineSearch()
, SNESLineSearchPreCheck()
, SNESLineSearchSetPostCheck()
, SNESLineSearchGetPostCheck()
, SNESLineSearchGetPreCheck()
,
SNESVISetVariableBounds()
, SNESVISetComputeVariableBounds()
, SNESSetFunctionDomainError()
, SNESSetJacobianDomainError()
Level#
intermediate
Location#
Examples#
src/snes/tutorials/ex15.c
src/snes/tutorials/ex3.c
Index of all SNES routines
Table of Contents for all manual pages
Index of all manual pages