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

Table of Contents