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