petsc-3.8.4 2018-03-24
Report Typos and Errors

PCSetType

Builds PC for a particular preconditioner type

Synopsis

#include "petscpc.h" 
PetscErrorCode  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.

Developer Note: PCRegister() is used to add preconditioner types to PCList from which they are accessed by PCSetType().

Keywords

PC, set, method, type

See Also

KSPSetType(), PCType, PCRegister(), PCCreate(), KSPGetPC()

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/ksp/examples/tutorials/ex1.c.html
src/ksp/ksp/examples/tutorials/ex6.c.html
src/ksp/ksp/examples/tutorials/ex7.c.html
src/ksp/ksp/examples/tutorials/ex8.c.html
src/ksp/ksp/examples/tutorials/ex12.c.html
src/ksp/ksp/examples/tutorials/ex13.c.html
src/ksp/ksp/examples/tutorials/ex15.c.html
src/ksp/ksp/examples/tutorials/ex23.c.html
src/ksp/ksp/examples/tutorials/ex30.c.html