KSPChebyshevSetKind#
set the kind of Chebyshev polynomial to use
Synopsis#
#include "petscksp.h"
PetscErrorCode KSPChebyshevSetKind(KSP ksp, KSPChebyshevKind kind)
Logically Collective
Input Parameters#
ksp - Linear solver context
kind - The kind of Chebyshev polynomial to use, see
KSPChebyshevKind
, one ofKSP_CHEBYSHEV_FIRST
,KSP_CHEBYSHEV_FOURTH
, orKSP_CHEBYSHEV_OPT_FOURTH
Options Database Key#
-ksp_chebyshev_kind
- which kind of Chebyshev polynomial to use
Note#
When using multigrid methods for problems with a poor quality coarse space (e.g., due to anisotropy or aggressive coarsening), it is necessary for the smoother to handle smaller eigenvalues. With first-kind Chebyshev smoothing, this requires using higher degree Chebyhev polynomials and reducing the lower end of the target spectrum, at which point the whole target spectrum experiences about the same damping. Fourth kind Chebyshev polynomials (and the “optimized” fourth kind) avoid the ad-hoc choice of lower bound and extend smoothing to smaller eigenvalues while preferentially smoothing higher modes faster as needed to minimize the energy norm of the error. [PF22], [Lot23]
References#
See Also#
KSP: Linear System Solvers, KSPCHEBYSHEV
KSPChebyshevKind
, KSPChebyshevGetKind()
, KSP_CHEBYSHEV_FIRST
, KSP_CHEBYSHEV_FOURTH
, KSP_CHEBYSHEV_OPT_FOURTH
Level#
intermediate
Location#
Implementations#
KSPChebyshevSetKind_Chebyshev() in src/ksp/ksp/impls/cheby/cheby.c
Index of all KSP routines
Table of Contents for all manual pages
Index of all manual pages