# DMMGSetSNES

Sets the nonlinear function that defines the nonlinear set of equations to be solved using the grid hierarchy.

### Synopsis

    #include "petscda.h"
    #include "petscmg.h"
    #include "petscdmmg.h"
    #include "petscmat.h"
    PetscErrorCode PETSCSNES_DLLEXPORT DMMGSetSNES(DMMG *dmmg,PetscErrorCode (*function)(SNES,Vec,Vec,void*),PetscErrorCode (*jacobian)(SNES,Vec,Mat*,Mat*,MatStructure*,void*))

Collective on DMMG

### Input Parameter

| dmmg | - the context
| function | - the function that defines the nonlinear system
| jacobian | - optional function to compute Jacobian

### Options Database Keys

| -dmmg_snes_monitor | - . -dmmg_jacobian_fd
| -dmmg_jacobian_ad | - . -dmmg_jacobian_mf_fd_operator
| -dmmg_jacobian_mf_fd | - . -dmmg_jacobian_mf_ad_operator
| -dmmg_jacobian_mf_ad | - . -dmmg_iscoloring_type
| -dmmg_jacobian_period <p> | - Indicates how often in the SNES solve the Jacobian is recomputed (on all levels) as suggested by Florin Dobrian if p is -1 then Jacobian is computed only on first SNES iteration (i.e. -1 is equivalent to infinity)

### See Also

DMMGCreate(), DMMGDestroy, DMMGSetKSP(), DMMGSetSNESLocal()

Level:advanced
Location:src/snes/utils/damgsnes.c
Index of all DA routines
Table of Contents for all manual pages
Index of all manual pages

### Examples

src/snes/examples/tutorials/ex18.c.html
src/snes/examples/tutorials/ex20.c.html
src/snes/examples/tutorials/ex22.c.html
src/snes/examples/tutorials/ex23.c.html
src/snes/examples/tutorials/ex24.c.html
src/snes/examples/tutorials/ex25.c.html
src/snes/examples/tutorials/ex31.c.html
src/snes/examples/tutorials/ex34f90.F.html
src/snes/examples/tutorials/ex35f90.F90.html
src/snes/examples/tutorials/ex36f90.F90.html
src/snes/examples/tutorials/ex37f90.F90.html