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 -
DM
to associate callback withimode -
INSERT_VALUES
if local function computes owned part,ADD_VALUES
if it contributes to ghosted partfunc - 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