petsc-3.12.4 2020-02-04
Report Typos and Errors

# SNESNGMRES

The Nonlinear Generalized Minimum Residual method.

### Options Database

| -snes_ngmres_select_type<difference,none,linesearch> | - choose the select between candidate and combined solution
| -snes_ngmres_restart_type<difference,none,periodic> | - choose the restart conditions
| -snes_ngmres_candidate | - Use NGMRES variant which combines candidate solutions instead of actual solutions
| -snes_ngmres_m | - Number of stored previous solutions and residuals
| -snes_ngmres_restart_it | - Number of iterations the restart conditions hold before restart
| -snes_ngmres_gammaA | - Residual tolerance for solution select between the candidate and combination
| -snes_ngmres_gammaC | - Residual tolerance for restart
| -snes_ngmres_epsilonB | - Difference tolerance between subsequent solutions triggering restart
| -snes_ngmres_deltaB | - Difference tolerance between residuals triggering restart
| -snes_ngmres_restart_fm_rise | - Restart on residual rise from x_M step
| -snes_ngmres_monitor | - Prints relevant information about the ngmres iteration
| -snes_linesearch_type <basic,l2,cp> | - Line search type used for the default smoother
| -additive_snes_linesearch_type | - linesearch type used to select between the candidate and combined solution with additive select type

### Notes

The N-GMRES method combines m previous solutions into a minimum-residual solution by solving a small linearized optimization problem at each iteration.

Very similar to the SNESANDERSON algorithm.

### References

| 1. | - C. W. Oosterlee and T. Washio, "Krylov Subspace Acceleration of Nonlinear Multigrid with Application to Recirculating Flows", SIAM Journal on Scientific Computing, 21(5), 2000.
| 2. | - Peter R. Brune, Matthew G. Knepley, Barry F. Smith, and Xuemin Tu, "Composing Scalable Nonlinear Algebraic Solvers", SIAM Review, 57(4), 2015

### See Also

SNESCreate(), SNES, SNESSetType(), SNESType (for list of available types)

### Level

beginner

### Location

src/snes/impls/ngmres/snesngmres.c
Index of all SNES routines
Table of Contents for all manual pages
Index of all manual pages