# PCSetType

Builds PC for a particular preconditioner.

### Synopsis

    #include "petscpc.h"
    PetscErrorCode PETSCKSP_DLLEXPORT PCSetType(PC pc, PCType type)

Collective on PC

### Input Parameter

| pc | - the preconditioner context.
| type | - a known method

### Options Database Key

-pc_type <type> -Sets PC type

Use -help for a list of available methods (for instance, jacobi or bjacobi)

### Notes

See "petsc/include/petscpc.h" for available methods (for instance, PCJACOBI, PCILU, or PCBJACOBI).

Normally, it is best to use the KSPSetFromOptions() command and then set the PC type from the options database rather than by using this routine. Using the options database provides the user with maximum flexibility in evaluating the many different preconditioners. The PCSetType() routine is provided for those situations where it is necessary to set the preconditioner independently of the command line or options database. This might be the case, for example, when the choice of preconditioner changes during the execution of the program, and the user's application is taking responsibility for choosing the appropriate preconditioner. In other words, this routine is not for beginners.

### Keywords

PC, set, method, type

### See Also

KSPSetType(), PCType

Level:intermediate
Location:src/ksp/pc/interface/pcset.c
Index of all PC routines
Table of Contents for all manual pages
Index of all manual pages

### Examples

src/ksp/pc/examples/tutorials/ex1.c.html
src/ksp/pc/examples/tutorials/ex2.c.html
src/ksp/examples/tutorials/ex1.c.html
src/ksp/examples/tutorials/ex7.c.html
src/ksp/examples/tutorials/ex8.c.html
src/ksp/examples/tutorials/ex12.c.html
src/ksp/examples/tutorials/ex13.c.html
src/ksp/examples/tutorials/ex15.c.html
src/ksp/examples/tutorials/ex23.c.html
src/ksp/examples/tutorials/ex1f.F.html
src/ksp/examples/tutorials/ex2f.F.html