Preconditioners - PC: Examples

The Scalable Linear Equations Solvers (SLES) component provides an easy-to-use interface to the combination of a Krylov subspace iterative method and a preconditioner (in the KSP and PC components, respectively) or a sequential direct solver. SLES users can set various preconditioning options at runtime via the options database (e.g., -pc_type jacobi ). SLES users can also set PC options directly in application codes by first extracting the PC context from the SLES context via SLESGetPC() and then directly calling the PC routines listed below (e.g., PCSetType() ). PC components can be used directly to create and destroy solvers; this is not needed for users but is for library developers.

Beginner - Basic usage
MGType PCASMType PCSide
PC PCCompositeType PCType
Intermediate - Setting options for algorithms and data structures
MGSetLevels PCDiagonalScaleSet PCILUSetUseDropTolerance
PCASMSetOverlap PCEisenstatNoDiagonalScaling PCILUSetUseInPlace
PCASMSetType PCEisenstatSetOmega PCJacobiSetUseRowMax
PCASMSetUseInPlace PCGetType PCLUSetDamping
PCBJacobiSetLocalBlocks PCICCSetFill PCLUSetFill
PCBJacobiSetTotalBlocks PCICCSetLevels PCLUSetMatOrdering
PCBJacobiSetUseTrueLocal PCICCSetMatOrdering PCLUSetPivoting
PCCholeskySetDamping PCILUDTSetReuseFill PCLUSetReuseFill
PCCholeskySetFill PCILUSetAllowDiagonalFill PCLUSetReuseOrdering
PCCholeskySetMatOrdering PCILUSetDamping PCLUSetUseInPlace
PCCholeskySetReuseFill PCILUSetFill PCSORSetIterations
PCCholeskySetReuseOrdering PCILUSetLevels PCSORSetOmega
PCCholeskySetUseInPlace PCILUSetMatOrdering PCSORSetSymmetric
PCDiagonalScaleLeft PCILUSetReuseOrdering PCSetType
PCDiagonalScaleRight PCILUSetSinglePrecisionSolves
Advanced - Setting more advanced options and customization
MGCheck MGSetResidual PCComputeExplicitOperator
MGDefaultResidual MGSetRestriction PCGetFactoredMatrix
MGGetCoarseSolve MGSetRhs PCGetOptionsPrefix
MGGetLevels MGSetType PCRedundantGetOperators
MGGetSmoother MGSetX PCRedundantGetPC
MGGetSmootherDown PCASMCreateSubdomains2D PCRedundantSetScatter
MGGetSmootherUp PCASMGetLocalSubdomains PCRegisterAll
MGSetCycles PCASMGetLocalSubmatrices PCRegisterDestroy
MGSetCyclesOnLevel PCASMGetSubSLES PCRegisterDynamic
MGSetInterpolate PCASMSetLocalSubdomains PCSLESGetSLES
MGSetNumberSmoothDown PCASMSetTotalSubdomains PCSLESSetUseTrue
MGSetNumberSmoothUp PCAppendOptionsPrefix PCSetModifySubMatrices
MGSetR PCBJacobiGetSubSLES PCSetOptionsPrefix
Developer - Interfaces intended primarily for library developers, not for typical applications programmers
PCApply PCCompositeSpecialSetAlpha PCSetUp
PCApplyBAorAB PCCreate PCSetUpOnBlocks
PCApplyBAorABTranspose PCDestroy PCSetVector
PCApplyRichardson PCDiagonalScale PCShellGetName
PCApplyRichardsonExists PCGetOperators PCShellSetApply
PCApplySymmetricLeft PCGetVector PCShellSetApplyRichardson
PCApplySymmetricRight PCModifySubMatrices PCShellSetApplyTranspose
PCApplyTranspose PCNullSpaceAttach PCShellSetName
PCCompositeAddPC PCPostSolve PCShellSetSetUp
PCCompositeGetPC PCPreSolve PCShellSetView
PCCompositeSetType PCSetFromOptions PCView
PCCompositeSetUseTrue PCSetOperators

Table of Contents