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 PCILUSetUseInPlace
PCASMSetOverlap PCEisenstatNoDiagonalScaling PCJacobiSetUseRowMax
PCASMSetType PCEisenstatSetOmega PCLUSetColumnPivoting
PCASMSetUseInPlace PCGetType PCLUSetDamping
PCBJacobiSetLocalBlocks PCICCSetFill PCLUSetFill
PCBJacobiSetTotalBlocks PCICCSetLevels PCLUSetMatOrdering
PCBJacobiSetUseTrueLocal PCICCSetMatOrdering PCLUSetReuseFill
PCCholeskySetDamping PCILUDTSetReuseFill PCLUSetReuseOrdering
PCCholeskySetFill PCILUSetAllowDiagonalFill PCLUSetUseInPlace
PCCholeskySetMatOrdering PCILUSetDamping PCSORSetIterations
PCCholeskySetReuseFill PCILUSetFill PCSORSetOmega
PCCholeskySetReuseOrdering PCILUSetLevels PCSORSetSymmetric
PCCholeskySetUseInPlace PCILUSetMatOrdering PCSetType
PCDiagonalScaleLeft PCILUSetReuseOrdering
PCDiagonalScaleRight PCILUSetUseDropTolerance
Advanced - Setting more advanced options and customization
MGCheck MGSetResidual PCGetFactoredMatrix
MGDefaultResidual MGSetRestriction PCGetOptionsPrefix
MGGetCoarseSolve MGSetRhs PCRedundantGetOperators
MGGetLevels MGSetType PCRedundantGetPC
MGGetSmoother MGSetX PCRedundantSetScatter
MGGetSmootherDown PCASMCreateSubdomains2D PCRegisterAll
MGGetSmootherUp PCASMGetLocalSubdomains PCRegisterDestroy
MGSetCycles PCASMGetSubSLES PCRegisterDynamic
MGSetCyclesOnLevel PCASMSetLocalSubdomains PCSLESGetSLES
MGSetInterpolate PCASMSetTotalSubdomains PCSLESSetUseTrue
MGSetNumberSmoothDown PCAppendOptionsPrefix PCSetModifySubMatrices
MGSetNumberSmoothUp PCBJacobiGetSubSLES PCSetOptionsPrefix
MGSetR PCComputeExplicitOperator
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 PCView
PCCompositeSetType PCSetFromOptions
PCCompositeSetUseTrue PCSetOperators

Table of Contents