petsc-3.4.2 2013-07-02

# DMDASNESSetPicardLocal

set a local right hand side and matrix evaluation function for Picard iteration

### 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,MatStructure*,void*),void *ctx)

Logically Collective

### Input Arguments

| 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 for func

| info | - DMDALocalInfo defining 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

Notes: The user must use extern PetscErrorCode SNESPicardComputeFunction(SNES,Vec,Vec,void*); extern PetscErrorCode SNESPicardComputeJacobian(SNES,Vec,Mat*,Mat*,MatStructure*,void*); ierr = SNESSetFunction(snes,NULL,SNESPicardComputeFunction,&user);CHKERRQ(ierr); in their code before calling this routine.

### See Also

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

Level:beginner
Location:src/snes/utils/dmdasnes.c
Index of all SNES routines
Table of Contents for all manual pages
Index of all manual pages

### Examples

src/snes/examples/tutorials/ex15.c.html