SNESNGMRES#

The Nonlinear Generalized Minimum Residual method [WO00], [BKST15]

Options Database Keys#

  • -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 SNESNGMRES 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

  • -snes_ngmres_additive_snes_linesearch_type - line search 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#

[BKST15]

Peter R. Brune, Matthew G. Knepley, Barry F. Smith, and Xuemin Tu. Composing scalable nonlinear algebraic solvers. SIAM Review, 57(4):535–565, 2015. http://www.mcs.anl.gov/papers/P2010-0112.pdf. URL: http://www.mcs.anl.gov/papers/P2010-0112.pdf, doi:10.1137/130936725.

[WO00]

T. Washio and C. W. Oosterlee. Krylov subspace acceleration for nonlinear multigrid schemes with application to recirculating flow. SIAM Journal on Scientific Computing, 21(5):1670–1690, 2000.

See Also#

SNES: Nonlinear Solvers, SNESCreate(), SNES, SNESSetType(), SNESType, SNESANDERSON, SNESNGMRESSetSelectType(), SNESNGMRESSetRestartType(), SNESNGMRESSetRestartFmRise(), SNESNGMRESSelectType, ``SNESNGMRESRestartType`

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