:orphan: # SNESGetPicard Returns the context for the Picard iteration ## Synopsis ``` #include "petscsnes.h" PetscErrorCode SNESGetPicard(SNES snes, Vec *r, PetscErrorCode (**f)(SNES, Vec, Vec, void *), Mat *Amat, Mat *Pmat, PetscErrorCode (**J)(SNES, Vec, Mat, Mat, void *), 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 `SNESFunction` - ***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 `SNESJacobianFunction` - ***ctx -*** the function context (or `NULL`) ## See Also [](ch_snes), `SNESSetFunction()`, `SNESSetPicard()`, `SNESGetFunction()`, `SNESGetJacobian()`, `SNESGetDM()`, `SNESFunction`, `SNESJacobianFunction` ## Level advanced ## Location src/snes/interface/snes.c --- [Edit on GitLab](https://gitlab.com/petsc/petsc/-/edit/release/src/snes/interface/snes.c) [Index of all SNES routines](index.md) [Table of Contents for all manual pages](/manualpages/index.md) [Index of all manual pages](/manualpages/singleindex.md)