SNESNGS#
Either calls the user-provided solution routine provided with SNESSetNGS()
or does a finite difference secant approximation using coloring.
Options Database Keys#
-snes_ngs_sweeps
- Number of sweeps of nonlinear GS to apply-snes_ngs_atol
- Absolute residual tolerance for nonlinear GS iteration-snes_ngs_rtol
- Relative residual tolerance for nonlinear GS iteration-snes_ngs_stol
- Absolute update tolerance for nonlinear GS iteration-snes_ngs_max_it
- Maximum number of sweeps of nonlinea GS to apply-snes_ngs_secant - Use pointwise secant local Jacobian approximation with coloring instead of user provided Gauss-Seidel routine, this is used by default if no user provided Gauss-Seidel routine is available. Requires either that a
DM
that can compute a coloring is available or a Jacobian sparse matrix is provided (from which to get the coloring).-snes_ngs_secant_h
- Differencing parameter for secant approximation-snes_ngs_secant_mat_coloring - Use the graph coloring of the Jacobian for the secant GS even if a DM is available.
-snes_norm_schedule <none, always, initialonly, finalonly, initialfinalonly> - how often the residual norms are computed
Notes#
the Gauss-Seidel smoother is inherited through composition. If a solver has been created with SNESGetNPC()
, it will have
its parent’s Gauss-Seidel routine associated with it.
By default this routine computes the solution norm at each iteration, this can be time consuming, you can turn this off with SNESSetNormSchedule()
or -snes_norm_schedule none
References#
**** -*** Peter R. Brune, Matthew G. Knepley, Barry F. Smith, and Xuemin Tu, “Composing Scalable Nonlinear Algebraic Solvers”, SIAM Review, 57(4), 2015
See Also#
SNESNCG
, SNESCreate()
, SNES
, SNESSetType()
, SNESSetNGS()
, SNESType
, SNESNGSSetSweeps()
, SNESNGSSetTolerances()
,
SNESSetNormSchedule()
Level#
advanced
Location#
Index of all SNES routines
Table of Contents for all manual pages
Index of all manual pages