Skip to main content
`Ctrl`+`K`

# SNESGetPicard

Returns the context for the Picard iteration

## Synopsis

    #include "petscsnes.h"
    PetscErrorCode SNESGetPicard(SNES snes, Vec *r, SNESFunctionFn **f, Mat *Amat, Mat *Pmat, SNESJacobianFn **J, void **ctx)

Not Collective, but `Vec` is parallel if `SNES` is parallel. Collective if `Vec` is requested, but has not been created yet.

## Input Parameter

- snes - the `SNES` context

## Output Parameters

- r - the function (or `NULL`)

- f - the function (or `NULL`); for calling sequence see `SNESFunctionFn`

- Amat - the matrix used to defined the operation A(x) x - b(x) (or `NULL`)

- Pmat - the matrix from which the preconditioner will be constructed (or `NULL`)

- J - the function for matrix evaluation (or `NULL`); for calling sequence see `SNESJacobianFn`

- ctx - the function context (or `NULL`)

## See Also

SNES: Nonlinear Solvers, `SNESSetFunction()`, `SNESSetPicard()`, `SNESGetFunction()`, `SNESGetJacobian()`, `SNESGetDM()`, `SNESFunctionFn`, `SNESJacobianFn`

## 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