petsc-3.7.3 2016-07-24
Report Typos and Errors

# SNESSetType

Sets the method for the nonlinear solver.

### Synopsis

    #include "petscsnes.h"
    PetscErrorCode  SNESSetType(SNES snes,SNESType type)

Collective on SNES

### Input Parameters

| snes | - the SNES context
| type | - a known method

### Options Database Key

-snes_type <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 Notes: SNESRegister() adds a constructor for a new SNESType to SNESList, SNESSetType() locates the constructor in that list and calls it to create the spexific object.

### Keywords

SNES, set, type

### See Also

SNESType, SNESCreate(), SNESDestroy(), SNESGetType(), SNESSetFromOptions()

Level:intermediate
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/ex35.c.html
src/ts/examples/tutorials/ex22.c.html