Skip to main content
`Ctrl`+`K`

# DMSNESGetJacobian

get `SNES` Jacobian evaluation function from a `DMSNES` object

## Synopsis

    #include "petscsnes.h"
    #include "petscdm.h"
    PetscErrorCode DMSNESGetJacobian(DM dm, SNESJacobianFn **J, PetscCtxRt ctx)

Not Collective

## Input Parameter

- dm - `DM` to be used with `SNES`

## Output Parameters

- J - Jacobian evaluation function; for all calling sequence see `SNESJacobianFn`

- ctx - context for residual evaluation

## Note

`SNESGetJacobian()` is normally used, but it calls this function internally because the user context is actually associated with the `DM`. This makes the interface consistent regardless of whether the user interacts with a `DM` or not.

## Developer Note

If `DM` took a more central role at some later date, this could become the primary method of setting the Jacobian.

## See Also

SNES: Nonlinear Solvers, `DMSNES`, `DMSNESSetContext()`, `SNESSetFunction()`, `DMSNESSetJacobian()`, `SNESJacobianFn`

## Level

developer

## Location

src/snes/utils/dmsnes.c

Index of all SNES routines
Table of Contents for all manual pages
Index of all manual pages