# PCShellSetApplyRichardson

Sets routine to use as preconditioner in Richardson iteration.

### Synopsis

    #include "petscpc.h"
    PetscErrorCode PETSCKSP_DLLEXPORT PCShellSetApplyRichardson(PC pc,PetscErrorCode (*apply)(void*,Vec,Vec,Vec,PetscReal,PetscReal,PetscReal,PetscInt))

Collective on PC

### Input Parameters

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

### Calling sequence of apply

       PetscErrorCode apply (void *ptr,Vec b,Vec x,Vec r,PetscReal rtol,PetscReal abstol,PetscReal dtol,PetscInt maxits)

| ptr | - the application context
| 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

### Keywords

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

### See Also

PCShellSetApply(), PCShellSetContext()

Level:developer
Location:src/ksp/pc/impls/shell/shellpc.c
Index of all PC routines
Table of Contents for all manual pages
Index of all manual pages