petsc-3.14.5 2021-03-03
Report Typos and Errors

# KSPSetFromOptions

Sets KSP options from the options database. This routine must be called before KSPSetUp() if the user is to be allowed to set the Krylov type.

### Synopsis

    #include "petscksp.h"
    PetscErrorCode  KSPSetFromOptions(KSP ksp)

Collective on ksp

### Input Parameters

| ksp | - the Krylov space context

### Options Database Keys

| -ksp_max_it | - maximum number of linear iterations
| -ksp_rtol rtol | - relative tolerance used in default determination of convergence, i.e. if residual norm decreases by this factor than convergence is declared
| -ksp_atol abstol | - absolute tolerance used in default convergence test, i.e. if residual norm is less than this then convergence is declared
| -ksp_divtol tol | - if residual norm increases by this factor than divergence is declared
| -ksp_converged_use_initial_residual_norm | - see KSPConvergedDefaultSetUIRNorm()
| -ksp_converged_use_min_initial_residual_norm | - see KSPConvergedDefaultSetUMIRNorm()
| -ksp_converged_maxits | - see KSPConvergedDefaultSetConvergedMaxits()
| -ksp_norm_type | - none - skip norms used in convergence tests (useful only when not using convergence test (say you always want to run with 5 iterations) to save on communication overhead preconditioned - default for left preconditioning unpreconditioned - see KSPSetNormType() natural - see KSPSetNormType()
| -ksp_check_norm_iteration it | - do not compute residual norm until iteration number it (does compute at 0th iteration) works only for PCBCGS, PCIBCGS and and PCCG
| -ksp_lag_norm | - compute the norm of the residual for the ith iteration on the i+1 iteration; this means that one can use the norm of the residual for convergence test WITHOUT an extra MPI_Allreduce() limiting global synchronizations. This will require 1 more iteration of the solver than usual.
| -ksp_guess_type | - Type of initial guess generator for repeated linear solves
| -ksp_fischer_guess <model,size> | - uses the Fischer initial guess generator for repeated linear solves
| -ksp_constant_null_space | - assume the operator (matrix) has the constant vector in its null space
| -ksp_test_null_space | - tests the null space set with MatSetNullSpace() to see if it truly is a null space
| -ksp_knoll | - compute initial guess by applying the preconditioner to the right hand side
| -ksp_monitor_cancel | - cancel all previous convergene monitor routines set
| -ksp_monitor <optional filename> | - print residual norm at each iteration
| -ksp_monitor_lg_residualnorm | - plot residual norm at each iteration
| -ksp_monitor_solution [ascii binary or draw][:filename][:format option] | - plot solution at each iteration
| -ksp_monitor_singular_value | - monitor extreme singular values at each iteration

### Notes

To see all options, run your program with the -help option or consult Users-Manual: ch_ksp

### See Also

KSPSetOptionsPrefix(), KSPResetFromOptions(), KSPSetUseFischerGuess()

### Level

beginner

### Location

src/ksp/ksp/interface/itcl.c

### Examples

src/dm/impls/stag/tutorials/ex1.c.html
src/dm/impls/stag/tutorials/ex2.c.html
src/dm/impls/stag/tutorials/ex3.c.html
src/dm/impls/stag/tutorials/ex4.c.html
src/ksp/pc/tutorials/ex1.c.html
src/ksp/pc/tutorials/ex2.c.html
src/ksp/pc/tutorials/ex3.c.html
src/ksp/ksp/tutorials/ex1.c.html
src/ksp/ksp/tutorials/ex2.c.html
src/ksp/ksp/tutorials/ex3.c.html
src/ksp/ksp/tutorials/ex4.c.html

### Implementations

KSPSetFromOptions_BCGS in src/ksp/ksp/impls/bcgs/bcgs.c
KSPSetFromOptions_BCGSL in src/ksp/ksp/impls/bcgsl/bcgsl.c
KSPSetFromOptions_CG in src/ksp/ksp/impls/cg/cg.c
KSPSetFromOptions_PIPELCG in src/ksp/ksp/impls/cg/pipelcg/pipelcg.c
KSPSetFromOptions_PIPEPRCG in src/ksp/ksp/impls/cg/pipeprcg/pipeprcg.c
KSPSetFromOptions_Chebyshev in src/ksp/ksp/impls/cheby/cheby.c
KSPSetFromOptions_FCG in src/ksp/ksp/impls/fcg/fcg.c
KSPSetFromOptions_PIPEFCG in src/ksp/ksp/impls/fcg/pipefcg/pipefcg.c
KSPSetFromOptions_FETIDP in src/ksp/ksp/impls/fetidp/fetidp.c
KSPSetFromOptions_GCR in src/ksp/ksp/impls/gcr/gcr.c
KSPSetFromOptions_PIPEGCR in src/ksp/ksp/impls/gcr/pipegcr/pipegcr.c
KSPSetFromOptions_AGMRES in src/ksp/ksp/impls/gmres/agmres/agmres.c
KSPSetFromOptions_DGMRES in src/ksp/ksp/impls/gmres/dgmres/dgmres.c
KSPSetFromOptions_FGMRES in src/ksp/ksp/impls/gmres/fgmres/fgmres.c
KSPSetFromOptions_GMRES in src/ksp/ksp/impls/gmres/gmres.c
KSPSetFromOptions_LGMRES in src/ksp/ksp/impls/gmres/lgmres/lgmres.c
KSPSetFromOptions_PGMRES in src/ksp/ksp/impls/gmres/pgmres/pgmres.c
KSPSetFromOptions_PIPEFGMRES in src/ksp/ksp/impls/gmres/pipefgmres/pipefgmres.c
KSPSetFromOptions_HPDDM in src/ksp/ksp/impls/hpddm/hpddm.cxx
KSPSetFromOptions_LCD in src/ksp/ksp/impls/lcd/lcd.c
KSPSetFromOptions_LSQR in src/ksp/ksp/impls/lsqr/lsqr.c
KSPSetFromOptions_QCG in src/ksp/ksp/impls/qcg/qcg.c
KSPSetFromOptions_Richardson in src/ksp/ksp/impls/rich/rich.c
KSPSetFromOptions_TSIRM in src/ksp/ksp/impls/tsirm/tsirm.c
Index of all KSP routines
Table of Contents for all manual pages
Index of all manual pages