KSPSetReusePreconditioner#
reuse the current preconditioner for future KSPSolve()
, do not construct a new preconditioner even if the Mat
operator in the KSP
has different values
Synopsis#
#include "petscksp.h"
#include "petscmat.h"
PetscErrorCode KSPSetReusePreconditioner(KSP ksp, PetscBool flag)
Collective
Input Parameters#
ksp - iterative solver obtained from
KSPCreate()
flag -
PETSC_TRUE
to reuse the current preconditioner, orPETSC_FALSE
to construct a new preconditioner
Options Database Key#
-ksp_reuse_preconditioner <true,false> - reuse the previously computed preconditioner
Notes#
When using SNES
one can use SNESSetLagPreconditioner()
to determine when preconditioners are reused.
Reusing the preconditioner reduces the time needed to form new preconditioners but may (significantly) increase the number of iterations needed for future solves depending on how much the matrix entries have changed.
See Also#
KSP: Linear System Solvers, KSPCreate()
, KSPSolve()
, KSPDestroy()
, KSP
, KSPGetReusePreconditioner()
,
SNESSetLagPreconditioner()
, SNES
Level#
intermediate
Location#
Examples#
src/ksp/ksp/tutorials/ex6f.F90
Index of all KSP routines
Table of Contents for all manual pages
Index of all manual pages