KSPSetType#

Builds the KSP data structure for a particular KSPType

Synopsis#

#include "petscksp.h" 
PetscErrorCode KSPSetType(KSP ksp, KSPType type)

Logically Collective

Input Parameters#

  • ksp - the Krylov space context

  • type - a known method

Options Database Key#

  • -ksp_type - Sets the method; use -help for a list of available methods (for instance, cg or gmres)

Notes#

See “petsc/include/petscksp.h” for available methods (for instance, KSPCG or KSPGMRES).

Normally, it is best to use the KSPSetFromOptions() command and then set the KSP 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 Krylov methods. The KSPSetType() routine is provided for those situations where it is necessary to set the iterative solver independently of the command line or options database. This might be the case, for example, when the choice of iterative solver changes during the execution of the program, and the user’s application is taking responsibility for choosing the appropriate method. In other words, this routine is not for beginners.

Developer Note#

KSPRegister() is used to add Krylov types to KSPList from which they are accessed by KSPSetType().

See Also#

KSP: Linear System Solvers, PCSetType(), KSPType, KSPRegister(), KSPCreate(), KSP

Level#

intermediate

Location#

src/ksp/ksp/interface/itcreate.c

Examples#

src/snes/tutorials/ex11.c
src/dm/impls/stag/tutorials/ex8.c
src/tao/pde_constrained/tutorials/hyperbolic.c
src/tao/constrained/tutorials/ex1.c
src/tao/bound/tutorials/jbearing2.c
src/dm/impls/stag/tutorials/ex3.c
src/dm/impls/stag/tutorials/ex2.c
src/tao/pde_constrained/tutorials/parabolic.c
src/dm/impls/stag/tutorials/ex4.c
src/tao/constrained/tutorials/maros.c


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