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

Table of Contents