petsc-3.6.2 2015-10-02
Report Typos and Errors

# PCShellSetApply

Sets routine to use as preconditioner.

### Synopsis

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

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 xin,Vec xout)

| pc | - the preconditioner, get the application context with PCShellGetContext()
| xin | - input vector
| xout | - output vector

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

Developer Notes: There should also be a PCShellSetApplySymmetricRight() and PCShellSetApplySymmetricLeft().

### 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/ex3.c.html
src/tao/pde_constrained/examples/tutorials/parabolic.c.html
src/tao/pde_constrained/examples/tutorials/hyperbolic.c.html