petsc-master 2017-10-20
Report Typos and Errors


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


#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 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()

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