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