Preconditioners - PC: Examples

The Scalable Linear Equations Solvers (KSP) 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. KSP users can set various preconditioning options at runtime via the options database (e.g., -pc_type jacobi ). KSP users can also set PC options directly in application codes by first extracting the PC context from the KSP context via KSPGetPC() 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
PC PCICC PCPBJACOBI
PCASM PCILU PCPROMETHEUS
PCASMType PCJACOBI PCSOR
PCBJACOBI PCLU PCSPAI
PCCHOLESKY PCMGCyleType PCSide
PCCompositeType PCMGType PCType
PCEISENSTAT PCNONE
Intermediate - Setting options for algorithms and data structures
PCASMSetOverlap PCFactorSetReuseOrdering PCMG
PCASMSetType PCFactorSetShiftNonzero PCMGGetGalerkin
PCASMSetUseInPlace PCFactorSetShiftPd PCMGSetGalerkin
PCBJacobiGetLocalBlocks PCFactorSetUseDropTolerance PCMGSetLevels
PCBJacobiGetTotalBlocks PCFactorSetUseInPlace PCML
PCBJacobiSetLocalBlocks PCFactorSetZeroPivot PCNN
PCBJacobiSetTotalBlocks PCFieldSplitSetBlockSize PCOPENMP
PCBJacobiSetUseTrueLocal PCFieldSplitSetFields PCREDUNDANT
PCCOMPOSITE PCGALERKIN PCSASetVectors
PCDiagonalScaleLeft PCGalerkinGetKSP PCSORSetIterations
PCDiagonalScaleRight PCGalerkinSetInterpolation PCSORSetOmega
PCDiagonalScaleSet PCGalerkinSetRestriction PCSORSetSymmetric
PCEisenstatNoDiagonalScaling PCGetOperators PCSPAISetBlockSize
PCEisenstatSetOmega PCGetOperatorsSet PCSPAISetCacheSize
PCFIELDSPLIT PCGetType PCSPAISetEpsilon
PCFactorReorderForNonzeroDiagonal PCHYPRE PCSPAISetMax
PCFactorSetAllowDiagonalFill PCHYPREGetType PCSPAISetMaxNew
PCFactorSetFill PCHYPRESetType PCSPAISetNBSteps
PCFactorSetLevels PCJacobiSetUseAbs PCSPAISetSp
PCFactorSetMatOrderingType PCJacobiSetUseRowMax PCSPAISetVerbose
PCFactorSetPivotInBlocks PCJacobiSetUseRowSum PCSetCoordinates
PCFactorSetPivoting PCKSP PCSetOperators
PCFactorSetReuseFill PCMAT PCSetType
Advanced - Setting more advanced options and customization
PCASMCreateSubdomains2D PCMGGetCoarseSolve PCMGSetType
PCASMGetLocalSubdomains PCMGGetLevels PCMGSetX
PCASMGetLocalSubmatrices PCMGGetSmoother PCRedundantGetOperators
PCASMGetSubKSP PCMGGetSmootherDown PCRedundantGetPC
PCASMSetLocalSubdomains PCMGGetSmootherUp PCRedundantSetNumber
PCASMSetTotalSubdomains PCMGMultiplicativeSetCycles PCRedundantSetScatter
PCAppendOptionsPrefix PCMGSetCycleType PCRegister
PCBJacobiGetSubKSP PCMGSetCyclesOnLevel PCRegisterAll
PCComputeExplicitOperator PCMGSetInterpolation PCRegisterDestroy
PCFieldSplitGetSubKSP PCMGSetNumberSmoothDown PCRegisterDynamic
PCGetFactoredMatrix PCMGSetNumberSmoothUp PCSHELL
PCGetOptionsPrefix PCMGSetR PCSetModifySubMatrices
PCKSPGetKSP PCMGSetResidual PCSetOptionsPrefix
PCKSPSetUseTrue PCMGSetRestriction PCShellGetContext
PCMGDefaultResidual PCMGSetRhs PCShellSetContext
Developer - Interfaces intended primarily for library developers, not for typical applications programmers
PCApply PCCreate PCShellSetApply
PCApplyBAorAB PCDestroy PCShellSetApplyBA
PCApplyBAorABTranspose PCDiagonalScale PCShellSetApplyRichardson
PCApplyRichardson PCFieldSplitSetType PCShellSetApplyTranspose
PCApplyRichardsonExists PCHasApplyTranspose PCShellSetDestroy
PCApplySymmetricLeft PCModifySubMatrices PCShellSetName
PCApplySymmetricRight PCPostSolve PCShellSetPostSolve
PCApplyTranspose PCPreSolve PCShellSetPreSolve
PCCompositeAddPC PCSAMG PCShellSetSetUp
PCCompositeGetPC PCSetFromOptions PCShellSetView
PCCompositeSetType PCSetUp PCView
PCCompositeSetUseTrue PCSetUpOnBlocks
PCCompositeSpecialSetAlpha PCShellGetName
No deprecated routines

Table of Contents