PETSc version 3.16.5
Fix/Edit manual page

# 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.

### See Also

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

### Level

developer

### Location

src/ksp/pc/impls/shell/shellpc.c

### Examples

src/ksp/ksp/tutorials/ex15.c.html
src/ksp/ksp/tutorials/ex15f.F90.html
src/snes/tutorials/ex3.c.html
src/tao/pde_constrained/tutorials/parabolic.c.html
src/tao/pde_constrained/tutorials/hyperbolic.c.html

### Implementations

PCShellSetApply_Shell(PC pc,PetscErrorCode (*apply) in src/ksp/pc/impls/shell/shellpc.c
Index of all PC routines
Table of Contents for all manual pages
Index of all manual pages