DMDASNESSetPicardLocal#
set a local right-hand side and matrix evaluation function for Picard iteration with DMDA
Synopsis#
#include "petscdmda.h" 
#include "petscsnes.h" 
PetscErrorCode DMDASNESSetPicardLocal(DM dm, InsertMode imode, PetscErrorCode (*func)(DMDALocalInfo *info, void *x, void *f, void *ctx), PetscErrorCode (*jac)(DMDALocalInfo *info, void *x, Mat jac, Mat Jp, void *ctx), void *ctx)
Logically Collective
Input Parameters#
- dm - - DMto associate callback with
- imode - - INSERT_VALUESif local function computes owned part,- ADD_VALUESif it contributes to ghosted part
- func - local residual evaluation 
- jac - function to compute Jacobian 
- ctx - optional context for local residual evaluation 
Calling sequence of func#
- info - defines the subdomain to evaluate the residual on 
- x - dimensional pointer to state at which to evaluate residual 
- f - dimensional pointer to residual, write the residual here 
- ctx - optional context passed above 
Calling sequence of jac#
- info - defines the subdomain to evaluate the residual on 
- x - dimensional pointer to state at which to evaluate residual 
- jac - the Jacobian 
- Jp - approximation to the Jacobian used to compute the preconditioner, often - J
- ctx - optional context passed above 
Note#
The user must use SNESSetFunction(snes,NULL,SNESPicardComputeFunction,&user));
in their code before calling this routine.
See Also#
SNES: Nonlinear Solvers, SNES, DMDA, DMSNESSetFunction(), DMDASNESSetJacobian(), DMDACreate1d(), DMDACreate2d(), DMDACreate3d()
Level#
beginner
Location#
Examples#
Index of all SNES routines
Table of Contents for all manual pages
Index of all manual pages