#include "petscsnes.h" PetscErrorCode SNESSetFromOptions(SNES snes)Collective on SNES
snes | - the SNES context |
-snes_type <type> | - newtonls, newtontr, ngmres, ncg, nrichardson, qn, vi, fas, SNESType for complete list | |
-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_divergence_tolerance <divtol> | - if the residual goes above divtol*rnorm0, exit with divergence | |
-snes_force_iteration <force> | - force SNESSolve() to take at least one iteration | |
-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_preconditioner_persists <true,false> | - retains the -snes_lag_preconditioner information across multiple SNESSolve() | |
-snes_lag_jacobian <lag> | - how often Jacobian is rebuilt (use -1 to never rebuild) | |
-snes_lag_jacobian_persists <true,false> | - retains the -snes_lag_jacobian information across multiple SNESSolve() | |
-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 [ascii][:filename][:viewer format] | - prints residual norm at each iteration. if no filename given prints to stdout | |
-snes_monitor_solution [ascii binary draw][:filename][:viewer format] | - plots solution at each iteration | |
-snes_monitor_residual [ascii binary draw][:filename][:viewer format] | - plots residual (not its norm) at each iteration | |
-snes_monitor_solution_update [ascii binary draw][:filename][:viewer format] | - plots update to solution at each iteration | |
-snes_monitor_lg_residualnorm | - plots residual norm at each iteration | |
-snes_monitor_lg_range | - plots residual norm at each iteration | |
-snes_fd | - use finite differences to compute Jacobian; very slow, only for testing | |
-snes_fd_color | - use finite differences with coloring to compute Jacobian | |
-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 | |
-npc_snes_type <type> | - the SNES type to use as a nonlinear preconditioner | |
-snes_test_jacobian <optional threshold> | - compare the user provided Jacobian with one computed via finite differences to check for errors. If a threshold is given, display only those entries whose difference is greater than the threshold. | |
-snes_test_jacobian_view | - display the user provided Jacobian, the finite difference Jacobian and the difference between them to help users detect the location of errors in the user provided Jacobian. |
-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 |