PETSc version 3.17.4
Fix/Edit manual page

# SNESRegister

Adds a method to the nonlinear solver package.

### Synopsis

    #include "petscsnes.h"
    PetscErrorCode  SNESRegister(const char sname[],PetscErrorCode (*function)(SNES))

Not collective

### Input Parameters

| name_solver | - name of a new user-defined solver
| routine_create | - routine to create method context

### Notes

SNESRegister() may be called multiple times to add several user-defined solvers.

### Sample usage

       SNESRegister("my_solver",MySolverCreate);

Then, your solver can be chosen with the procedural interface via

        SNESSetType(snes,"my_solver")

or at runtime via the option

        -snes_type my_solver

Note: If your function is not being put into a shared library then use SNESRegister() instead

### See Also

SNESRegisterAll(), SNESRegisterDestroy()

### Level

advanced

### Location

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