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 with

  • imode - INSERT_VALUES if local function computes owned part, ADD_VALUES if 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#

src/snes/utils/dmdasnes.c

Examples#

src/snes/tutorials/ex15.c


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