petsc-3.8.4 2018-03-24
Report Typos and Errors


Sets routine to use as preconditioner in Richardson iteration.


#include "petscpc.h" 
PetscErrorCode  PCShellSetApplyRichardson(PC pc,PetscErrorCode (*apply)(PC,Vec,Vec,Vec,PetscReal,PetscReal,PetscReal,PetscInt,PetscBool,PetscInt*,PCRichardsonConvergedReason*))
Logically Collective on PC

Input Parameters

pc - the preconditioner context
apply - the application-provided preconditioning routine

Calling sequence of apply

   PetscErrorCode apply (PC pc,Vec b,Vec x,Vec r,PetscReal rtol,PetscReal abstol,PetscReal dtol,PetscInt maxits)

pc - the preconditioner, get the application context with PCShellGetContext()
b - right-hand-side
x - current iterate
r - work space
rtol - relative tolerance of residual norm to stop at
abstol - absolute tolerance of residual norm to stop at
dtol - if residual norm increases by this factor than return
maxits - number of iterations to run

Notes: the function MUST return an error code of 0 on success and nonzero on failure.


PC, shell, set, apply, Richardson, user-provided

See Also

PCShellSetApply(), PCShellSetContext()

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