# PCShellSetApply

Sets routine to use as preconditioner.

### Synopsis

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

Collective on PC

### Input Parameters

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

### Calling sequence of apply

       PetscErrorCode apply (void *ptr,Vec xin,Vec xout)

| ptr | - the application context
| xin | - input vector
| xout | - output vector

### Keywords

PC, shell, set, apply, user-provided

### See Also

PCShellSetApplyRichardson(), PCShellSetSetUp(), PCShellSetApplyTranspose(), PCShellSetContext(), PCShellSetApplyBA()

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

### Examples

src/ksp/ksp/examples/tutorials/ex15.c.html
src/ksp/ksp/examples/tutorials/ex15f.F.html
src/ksp/ksp/examples/tutorials/ex21f.F.html
src/snes/examples/tutorials/ex6.c.html
src/snes/examples/tutorials/ex24.c.html
src/snes/examples/tutorials/ex31.c.html
src/snes/examples/tutorials/ex33f.F.html