Skip to main content
`Ctrl`+`K`

# SNESLineSearchPreCheck

Prepares the line search for being applied.

## Synopsis

    #include "petscsnes.h"
    PetscErrorCode SNESLineSearchPreCheck(SNESLineSearch linesearch, Vec X, Vec Y, PetscBool *changed)

Logically Collective

## Input Parameters

- linesearch - The linesearch instance.

- X - The current solution

- Y - The step direction

## Output Parameter

- changed - Indicator that the precheck routine has changed `Y`

## Note

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

## Developer Note

The use of `PetscObjectGetState()` would eliminate the need for the `changed` argument to be provided

## See Also

SNES: Nonlinear Solvers, `SNES`, `SNESLineSearch`, `SNESGetLineSearch()`, `SNESLineSearchPostCheck()`, `SNESLineSearchSetPreCheck()`, `SNESLineSearchGetPreCheck()`, `SNESLineSearchSetPostCheck()`, `SNESLineSearchGetPostCheck()`

## Level

advanced

## Location

src/snes/linesearch/interface/linesearch.c

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