:orphan: # 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 ## 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. ## References - **** -*** Malachi Phillips and Paul Fischer, Optimal Chebyshev Smoothers and One-sided V-cycles, https://arxiv.org/abs/2210.03179. - **** -*** James Lottes, Optimal Polynomial Smoothers for Multigrid V-cycles, https://arxiv.org/abs/2202.08830. ## See Also [](ch_ksp), `KSPCHEBYSHEV` `KSPChebyshevKind`, `KSPChebyshevGetKind()` ## Level intermediate ## Location src/ksp/ksp/impls/cheby/cheby.c ## Implementations KSPChebyshevSetKind_Chebyshev in src/ksp/ksp/impls/cheby/cheby.c
--- [Edit on GitLab](https://gitlab.com/petsc/petsc/-/edit/release/src/ksp/ksp/impls/cheby/cheby.c) [Index of all KSP routines](index.md) [Table of Contents for all manual pages](/manualpages/index.md) [Index of all manual pages](/manualpages/singleindex.md)