Skip to main content
`Ctrl`+`K`

# SNESKSPSetUseEW

Sets `SNES` to the use Eisenstat-Walker method for computing relative tolerance for linear solvers within an inexact Newton method.

## Synopsis

    #include "petscsnes.h"
    PetscErrorCode SNESKSPSetUseEW(SNES snes, PetscBool flag)

Logically Collective

## Input Parameters

- snes - `SNES` context

- flag - `PETSC_TRUE` or `PETSC_FALSE`

## Options Database Keys

- -snes_ksp_ew - use Eisenstat-Walker method for determining linear system convergence

- -snes_ksp_ew_version ver - version of Eisenstat-Walker method

- -snes_ksp_ew_rtol0 <rtol0> - Sets rtol0

- -snes_ksp_ew_rtolmax <rtolmax> - Sets rtolmax

- -snes_ksp_ew_gamma <gamma> - Sets gamma

- -snes_ksp_ew_alpha <alpha> - Sets alpha

- -snes_ksp_ew_alpha2 <alpha2> - Sets alpha2

- -snes_ksp_ew_threshold <threshold> - Sets threshold

## Note

The default is to use a constant relative tolerance for the inner linear solvers. Alternatively, one can use the Eisenstat-Walker method [EW96], where the relative convergence tolerance is reset at each Newton iteration according progress of the nonlinear solver.

## References

[EW96]

S. C. Eisenstat and H. F. Walker. Choosing the forcing terms in an inexact Newton method. SIAM J. Scientific Computing, 17:16–32, 1996.

## See Also

SNES: Nonlinear Solvers, `KSP`, `SNES`, `SNESKSPGetUseEW()`, `SNESKSPGetParametersEW()`, `SNESKSPSetParametersEW()`

## 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