petsc-3.3-p7 2013-05-11

SNESSetFromOptions

Sets various SNES and KSP parameters from user options.

Synopsis

#include "petscsnes.h"  
#include "petscdmshell.h" 
#include "petscsys.h" 
PetscErrorCode  SNESSetFromOptions(SNES snes)
Collective on SNES

Input Parameter

snes -the SNES context

Options Database Keys

-snes_type <type> - ls, tr, ngmres, ncg, richardson, qn, vi, fas
-snes_stol - convergence tolerance in terms of the norm of the change in the solution between steps
-snes_atol <abstol> - absolute tolerance of residual norm
-snes_rtol <rtol> - relative decrease in tolerance norm from initial
-snes_max_it <max_it> - maximum number of iterations
-snes_max_funcs <max_funcs> - maximum number of function evaluations
-snes_max_fail <max_fail> - maximum number of line search failures allowed before stopping, default is none
-snes_max_linear_solve_fail - number of linear solver failures before SNESSolve() stops
-snes_lag_preconditioner <lag> - how often preconditioner is rebuilt (use -1 to never rebuild)
-snes_lag_jacobian <lag> - how often Jacobian is rebuilt (use -1 to never rebuild)
-snes_trtol <trtol> - trust region tolerance
-snes_no_convergence_test - skip convergence test in nonlinear solver; hence iterations will continue until max_it or some other criterion is reached. Saves expense of convergence test
-snes_monitor <optional filename> - prints residual norm at each iteration. if no filename given prints to stdout
-snes_monitor_solution - plots solution at each iteration
-snes_monitor_residual - plots residual (not its norm) at each iteration
-snes_monitor_solution_update - plots update to solution at each iteration
-snes_monitor_draw - plots residual norm at each iteration
-snes_fd - use finite differences to compute Jacobian; very slow, only for testing
-snes_mf_ksp_monitor - if using matrix-free multiply then print h at each KSP iteration
-snes_converged_reason - print the reason for convergence/divergence after each solve

Options Database for Eisenstat-Walker method

-snes_ksp_ew - use Eisenstat-Walker method for determining linear system convergence
-snes_ksp_ew_version ver - version of Eisenstat-Walker method
-snes_ksp_ew_rtol0 <rtol0> - Sets rtol0
-snes_ksp_ew_rtolmax <rtolmax> - Sets rtolmax
-snes_ksp_ew_gamma <gamma> - Sets gamma
-snes_ksp_ew_alpha <alpha> - Sets alpha
-snes_ksp_ew_alpha2 <alpha2> - Sets alpha2
-snes_ksp_ew_threshold <threshold> - Sets threshold

Notes

To see all options, run your program with the -help option or consult the <A href="../../docs/manual.pdf#nameddest=ch_snes">SNES chapter of the users manual</A>.

Keywords

SNES, nonlinear, set, options, database

See Also

SNESSetOptionsPrefix()

Level:beginner
Location:
src/snes/interface/snes.c
Index of all SNES routines
Table of Contents for all manual pages
Index of all manual pages

Examples

src/snes/examples/tutorials/ex1.c.html
src/snes/examples/tutorials/ex2.c.html
src/snes/examples/tutorials/ex3.c.html
src/snes/examples/tutorials/ex4.c.html
src/snes/examples/tutorials/ex5.c.html
src/snes/examples/tutorials/ex5s.c.html
src/snes/examples/tutorials/ex6.c.html
src/snes/examples/tutorials/ex7.c.html
src/snes/examples/tutorials/ex8.c.html
src/snes/examples/tutorials/ex10.c.html
src/snes/examples/tutorials/ex12.c.html