PetscErrorCode PETSCSNES_DLLEXPORT SNESLineSearchNoNorms(SNES snes,void *lsctx,Vec x,Vec f,Vec g,Vec y,Vec w,PetscReal fnorm,PetscReal *ynorm,PetscReal *gnorm,PetscTruth *flag)Collective on SNES and Vec
| snes | - nonlinear context | |
| lsctx | - optional context for line search (not used here) | |
| x | - current iterate | |
| f | - residual evaluated at x | |
| y | - search direction | |
| w | - work vector | |
| fnorm | - 2-norm of f |
| g | - residual evaluated at new iterate y | |
| w | - new iterate | |
| gnorm | - not changed | |
| ynorm | - not changed | |
| flag | - set to PETSC_TRUE indicating a successful line search |
-snes_no_convergence_test -snes_max_it <its>
or alternatively a user-defined custom test set via
SNESSetConvergenceTest(); or a -snes_max_it of 1,
otherwise, the SNES solver will generate an error.
During the final iteration this will not evaluate the function at the solution point. This is to save a function evaluation while using pseudo-timestepping.
The residual norms printed by monitoring routines such as SNESDefaultMonitor() (as activated via -snes_monitor) will not be correct, since they are not computed.
Level:advanced
Location:src/snes/impls/ls/ls.c
Index of all SNES routines
Table of Contents for all manual pages
Index of all manual pages