petsc-3.10.5 2019-03-28
Report Typos and Errors

# SNESNGS

Either calls the user-provided solution routine provided with SNESSetNGS() or does a finite difference secant approximation using coloring.

### Options Database

| -snes_ngs_sweeps | - Number of sweeps of GS to apply
| -snes_ngs_atol | - Absolute residual tolerance for GS iteration
| -snes_ngs_rtol | - Relative residual tolerance for GS iteration
| -snes_ngs_stol | - Absolute update tolerance for GS iteration
| -snes_ngs_max_it | - Maximum number of sweeps of 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.

### Notes

the Gauss-Seidel smoother is inherited through composition. If a solver has been created with SNESGetPC(), it will have its parent's Gauss-Seidel routine associated with it.

### References

1. -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(), SNESSetNGS(), SNESType (for list of available types), SNESNGSSetSweeps(), SNESNGSSetTolerances()

### Level

advanced

### Location

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