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 PCMGGetGalerkin
PCASMSetType PCFactorSetShiftNonzero PCMGSetGalerkin
PCASMSetUseInPlace PCFactorSetShiftPd PCMGSetLevels
PCBJacobiGetLocalBlocks PCFactorSetUseDropTolerance PCML
PCBJacobiGetTotalBlocks PCFactorSetUseInPlace PCNN
PCBJacobiSetLocalBlocks PCFactorSetZeroPivot PCOPENMP
PCBJacobiSetTotalBlocks PCFieldSplitSetBlockSize PCREDUNDANT
PCBJacobiSetUseTrueLocal PCFieldSplitSetFields PCSASetVectors
PCCOMPOSITE PCGALERKIN PCSORSetIterations
PCDiagonalScaleLeft PCGalerkinGetKSP PCSORSetOmega
PCDiagonalScaleRight PCGalerkinSetInterpolation PCSORSetSymmetric
PCDiagonalScaleSet PCGalerkinSetRestriction PCSPAISetBlockSize
PCEisenstatNoDiagonalScaling PCGetOperators PCSPAISetCacheSize
PCEisenstatSetOmega PCGetOperatorsSet PCSPAISetEpsilon
PCFIELDSPLIT PCGetType PCSPAISetMax
PCFactorReorderForNonzeroDiagonal PCHYPRE PCSPAISetMaxNew
PCFactorSetAllowDiagonalFill PCHYPREGetType PCSPAISetNBSteps
PCFactorSetFill PCHYPRESetType PCSPAISetSp
PCFactorSetLevels PCJacobiSetUseAbs PCSPAISetVerbose
PCFactorSetMatOrdering PCJacobiSetUseRowMax PCSetCoordinates
PCFactorSetPivotInBlocks PCKSP PCSetOperators
PCFactorSetPivoting PCMAT PCSetType
PCFactorSetReuseFill PCMG
Advanced - Setting more advanced options and customization
PCASMCreateSubdomains2D PCMGGetCoarseSolve PCMGSetType
PCASMGetLocalSubdomains PCMGGetLevels PCMGSetX
PCASMGetLocalSubmatrices PCMGGetSmoother PCRedundantGetOperators
PCASMGetSubKSP PCMGGetSmootherDown PCRedundantGetPC
PCASMSetLocalSubdomains PCMGGetSmootherUp PCRedundantSetScatter
PCASMSetTotalSubdomains PCMGMultiplicativeSetCycles PCRegister
PCAppendOptionsPrefix PCMGSetCycleType PCRegisterAll
PCBJacobiGetSubKSP PCMGSetCyclesOnLevel PCRegisterDestroy
PCComputeExplicitOperator PCMGSetInterpolate PCRegisterDynamic
PCFieldSplitGetSubKSP PCMGSetNumberSmoothDown PCSHELL
PCGetFactoredMatrix PCMGSetNumberSmoothUp PCSetModifySubMatrices
PCGetOptionsPrefix PCMGSetR PCSetOptionsPrefix
PCKSPGetKSP PCMGSetResidual PCShellGetContext
PCKSPSetUseTrue PCMGSetRestriction PCShellSetContext
PCMGDefaultResidual PCMGSetRhs
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