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 PCPrometheus
PCASM PCILU PCSOR
PCASMType PCJACOBI PCSPAI
PCBJACOBI PCLU PCSide
PCCholesky PCMGType PCType
PCCompositeType PCNONE
PCEISENSTAT PCPBJACOBI
Intermediate - Setting options for algorithms and data structures
PCASMSetOverlap PCFactorSetReuseFill PCMG
PCASMSetType PCFactorSetReuseOrdering PCMGGetGalerkin
PCASMSetUseInPlace PCFactorSetShiftNonzero PCMGSetGalerkin
PCBJacobiGetLocalBlocks PCFactorSetShiftPd PCMGSetLevels
PCBJacobiGetTotalBlocks PCFactorSetUseDropTolerance PCML
PCBJacobiSetLocalBlocks PCFactorSetUseInPlace PCNN
PCBJacobiSetTotalBlocks PCFactorSetZeroPivot 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
Advanced - Setting more advanced options and customization
PCASMCreateSubdomains2D PCMGGetCoarseSolve PCMGSetX
PCASMGetLocalSubdomains PCMGGetLevels PCRedundantGetOperators
PCASMGetLocalSubmatrices PCMGGetSmoother PCRedundantGetPC
PCASMGetSubKSP PCMGGetSmootherDown PCRedundantSetScatter
PCASMSetLocalSubdomains PCMGGetSmootherUp PCRegister
PCASMSetTotalSubdomains PCMGSetCycles PCRegisterAll
PCAppendOptionsPrefix PCMGSetCyclesOnLevel PCRegisterDestroy
PCBJacobiGetSubKSP PCMGSetInterpolate PCRegisterDynamic
PCComputeExplicitOperator PCMGSetNumberSmoothDown PCSHELL
PCFieldSplitGetSubKSP PCMGSetNumberSmoothUp PCSetModifySubMatrices
PCGetFactoredMatrix PCMGSetR PCSetOptionsPrefix
PCGetOptionsPrefix PCMGSetResidual PCShellGetContext
PCKSPGetKSP PCMGSetRestriction PCShellSetContext
PCKSPSetUseTrue PCMGSetRhs
PCMGDefaultResidual PCMGSetType
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