petsc-3.14.6 2021-03-30
Report Typos and Errors


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.


#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


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

See Also

KSPSetOptionsPrefix(), KSPResetFromOptions(), KSPSetUseFischerGuess()








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