:orphan: # 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 -*** Sets rtol0 - ***-snes_ksp_ew_rtolmax -*** Sets rtolmax - ***-snes_ksp_ew_gamma -*** Sets gamma - ***-snes_ksp_ew_alpha -*** Sets alpha - ***-snes_ksp_ew_alpha2 -*** Sets alpha2 - ***-snes_ksp_ew_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, where the relative convergence tolerance is reset at each Newton iteration according progress of the nonlinear solver. ## Reference - ***- * S. C. Eisenstat and H. F. Walker, "Choosing the forcing terms in an inexact Newton method", SISC 17 (1), pp.16-*** 32, 1996. ## See Also [](ch_snes), `KSP`, `SNES`, `SNESKSPGetUseEW()`, `SNESKSPGetParametersEW()`, `SNESKSPSetParametersEW()` ## Level advanced ## Location src/snes/interface/snes.c --- [Edit on GitLab](https://gitlab.com/petsc/petsc/-/edit/release/src/snes/interface/snes.c) [Index of all SNES routines](index.md) [Table of Contents for all manual pages](/manualpages/index.md) [Index of all manual pages](/manualpages/singleindex.md)