PCSetType#

Builds PC for a particular preconditioner type

Synopsis#

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

Collective

Input Parameters#

  • pc - the preconditioner context

  • type - a known method, see PCType for possible values

Options Database Key#

  • -pc_type - Sets PC type

Notes#

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.

Developer Notes#

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

See Also#

KSP: Linear System Solvers, KSPSetType(), PCType, PCRegister(), PCCreate(), KSPGetPC()

Level#

intermediate

Location#

src/ksp/pc/interface/pcset.c

Examples#

src/dm/impls/stag/tutorials/ex1.c
src/dm/impls/stag/tutorials/ex2.c
src/dm/impls/stag/tutorials/ex3.c
src/snes/tutorials/ex99.c
src/tao/constrained/tutorials/maros.c
src/tao/pde_constrained/tutorials/parabolic.c
src/tao/pde_constrained/tutorials/hyperbolic.c
src/tao/constrained/tutorials/ex1.c
src/dm/impls/stag/tutorials/ex4.c
src/tao/unconstrained/tutorials/eptorsion2.c


Index of all PC routines
Table of Contents for all manual pages
Index of all manual pages