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 PCSUPPORTGRAPH
PCCHOLESKY PCMGCycleType PCSide
PCCompositeType PCMGType PCTFS
PCEISENSTAT PCNONE PCType
PCExoticType PCPBJACOBI
Intermediate - Setting options for algorithms and data structures
Block_Preconditioners PCFactorSetPivotInBlocks PCLSC
PCASMSetOverlap PCFactorSetReuseFill PCMAT
PCASMSetSortIndices PCFactorSetReuseOrdering PCMG
PCASMSetType PCFactorSetShiftInBlocks PCMGGetGalerkin
PCBFBtGetKSP PCFactorSetShiftNonzero PCMGSetGalerkin
PCBFBtSetOperators PCFactorSetShiftPd PCMGSetLevels
PCBJacobiGetLocalBlocks PCFactorSetUseDropTolerance PCML
PCBJacobiGetTotalBlocks PCFactorSetUseInPlace PCNN
PCBJacobiSetLocalBlocks PCFactorSetZeroPivot PCOPENMP
PCBJacobiSetTotalBlocks PCFieldSplitSchurPreType PCPythonSetType
PCBJacobiSetUseTrueLocal PCFieldSplitSchurPrecondition PCREDISTRIBUTE
PCCOMPOSITE PCFieldSplitSetBlockSize PCREDUNDANT
PCCP PCFieldSplitSetFields PCSASetVectors
PCDiagonalScaleLeft PCFieldSplitSetIS PCSORSetIterations
PCDiagonalScaleRight PCGALERKIN PCSORSetOmega
PCDiagonalScaleSet PCGalerkinGetKSP PCSORSetSymmetric
PCEisenstatNoDiagonalScaling PCGalerkinSetInterpolation PCSPAISetBlockSize
PCEisenstatSetOmega PCGalerkinSetRestriction PCSPAISetCacheSize
PCExoticSetType PCGetOperators PCSPAISetEpsilon
PCFIELDSPLIT PCGetOperatorsSet PCSPAISetMax
PCFactorGetMatSolverPackage PCGetType PCSPAISetMaxNew
PCFactorReorderForNonzeroDiagonal PCHYPRE PCSPAISetNBSteps
PCFactorSetAllowDiagonalFill PCHYPREGetType PCSPAISetSp
PCFactorSetColumnPivot PCHYPRESetType PCSPAISetVerbose
PCFactorSetFill PCJacobiSetUseAbs PCSetCoordinates
PCFactorSetLevels PCJacobiSetUseRowMax PCSetDA
PCFactorSetMatOrderingType PCJacobiSetUseRowSum PCSetOperators
PCFactorSetMatSolverPackage PCKSP PCSetType
Advanced - Setting more advanced options and customization
PCASASetDM PCKSPGetKSP PCMGSetType
PCASASetTolerances PCKSPSetUseTrue PCMGSetX
PCASMCreateSubdomains PCMGDefaultResidual PCPFMG
PCASMCreateSubdomains2D PCMGGetCoarseSolve PCRedundantGetOperators
PCASMDestroySubdomains PCMGGetLevels PCRedundantGetPC
PCASMGetLocalSubdomains PCMGGetSmoother PCRedundantSetNumber
PCASMGetLocalSubmatrices PCMGGetSmootherDown PCRedundantSetScatter
PCASMGetSubKSP PCMGGetSmootherUp PCRegister
PCASMSetLocalSubdomains PCMGMultiplicativeSetCycles PCRegisterAll
PCASMSetTotalSubdomains PCMGSetCycleType PCRegisterDestroy
PCAppendOptionsPrefix PCMGSetCyclesOnLevel PCRegisterDynamic
PCBJacobiGetSubKSP PCMGSetInterpolation PCRichardsonConvergedReason
PCComputeExplicitOperator PCMGSetNumberSmoothDown PCSHELL
PCEXOTIC PCMGSetNumberSmoothUp PCSetModifySubMatrices
PCFactorGetMatrix PCMGSetR PCSetOptionsPrefix
PCFieldSplitGetSchurBlocks PCMGSetResidual PCShellGetContext
PCFieldSplitGetSubKSP PCMGSetRestriction PCShellSetContext
PCGetOptionsPrefix PCMGSetRhs
Developer - Interfaces intended primarily for library developers, not for typical applications programmers
PCApply PCCompositeSpecialSetAlpha PCShellGetName
PCApplyBAorAB PCCreate PCShellSetApply
PCApplyBAorABTranspose PCDestroy PCShellSetApplyBA
PCApplyRichardson PCDiagonalScale PCShellSetApplyRichardson
PCApplyRichardsonExists PCFieldSplitSetType PCShellSetApplyTranspose
PCApplySymmetricLeft PCModifySubMatrices PCShellSetDestroy
PCApplySymmetricRight PCPostSolve PCShellSetName
PCApplyTranspose PCPreSolve PCShellSetPostSolve
PCApplyTransposeExists PCSAMG PCShellSetPreSolve
PCCompositeAddPC PCSetFromOptions PCShellSetSetUp
PCCompositeGetPC PCSetInitialGuessNonzero PCShellSetView
PCCompositeSetType PCSetUp PCView
PCCompositeSetUseTrue PCSetUpOnBlocks
No deprecated routines

Table of Contents