SNESSetType#
Sets the method for the nonlinear solver.
Synopsis#
#include "petscsnes.h"
PetscErrorCode SNESSetType(SNES snes, SNESType type)
Collective
Input Parameters#
snes - the
SNES
contexttype - a known method
Options Database Key#
-snes_type
- Sets the method; use -help for a list of available methods (for instance, newtonls or newtontr)
Notes#
See “petsc/include/petscsnes.h” for available methods (for instance)
SNESNEWTONLS
- Newton’s method with line search (systems of nonlinear equations)SNESNEWTONTR
- Newton’s method with trust region (systems of nonlinear equations)
Normally, it is best to use the SNESSetFromOptions()
command and then
set the SNES
solver type from the options database rather than by using
this routine. Using the options database provides the user with
maximum flexibility in evaluating the many nonlinear solvers.
The SNESSetType()
routine is provided for those situations where it
is necessary to set the nonlinear solver independently of the command
line or options database. This might be the case, for example, when
the choice of solver changes during the execution of the program,
and the user’s application is taking responsibility for choosing the
appropriate method.
Developer Note#
SNESRegister()
adds a constructor for a new SNESType
to SNESList
, SNESSetType()
locates
the constructor in that list and calls it to create the specific object.
See Also#
SNES: Nonlinear Solvers, SNES
, SNESSolve()
, SNESType
, SNESCreate()
, SNESDestroy()
, SNESGetType()
, SNESSetFromOptions()
Level#
intermediate
Location#
Examples#
src/snes/tutorials/ex1.c
src/snes/tutorials/ex9.c
src/snes/tutorials/ex11.c
src/snes/tutorials/ex35.c
Index of all SNES routines
Table of Contents for all manual pages
Index of all manual pages