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 *, void *, void *, void *), PetscErrorCode (*jac)(DMDALocalInfo *, void *, Mat, Mat, void *), 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

  • ctx - optional context for local residual evaluation

Calling sequence of func#

PetscErrorCode func(DMDALocalInfo *info, void *x, void *f, void *ctx);
  • 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

Note#

The user must use SNESSetFunction(snes,NULL,SNESPicardComputeFunction,&user)); in their code before calling this routine.

See Also#

DMDA, DMSNESSetFunction(), DMDASNESSetJacobian(), DMDACreate1d(), DMDACreate2d(), DMDACreate3d()

Level#

beginner

Location#

src/snes/utils/dmdasnes.c

Examples#

src/snes/tutorials/ex15.c


Edit on GitLab

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