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 PCFactorSetMatSolverPackage PCKSP
PCASMSetOverlap PCFactorSetPivotInBlocks PCMAT
PCASMSetType PCFactorSetPivoting PCMG
PCASMSetUseInPlace PCFactorSetReuseFill PCMGGetGalerkin
PCBFBtGetKSP PCFactorSetReuseOrdering PCMGSetGalerkin
PCBFBtSetOperators PCFactorSetShiftInBlocks PCMGSetLevels
PCBJacobiGetLocalBlocks PCFactorSetShiftNonzero PCML
PCBJacobiGetTotalBlocks PCFactorSetShiftPd PCNN
PCBJacobiSetLocalBlocks PCFactorSetUseDropTolerance PCOPENMP
PCBJacobiSetTotalBlocks PCFactorSetUseInPlace PCPythonSetType
PCBJacobiSetUseTrueLocal PCFactorSetZeroPivot PCREDUNDANT
PCCOMPOSITE PCFieldSplitSchurPrecondition PCSASetVectors
PCCP PCFieldSplitSetBlockSize PCSORSetIterations
PCDMMGSetDM PCFieldSplitSetFields PCSORSetOmega
PCDiagonalScaleLeft PCFieldSplitSetIS PCSORSetSymmetric
PCDiagonalScaleRight PCGALERKIN PCSPAISetBlockSize
PCDiagonalScaleSet PCGalerkinGetKSP PCSPAISetCacheSize
PCEisenstatNoDiagonalScaling PCGalerkinSetInterpolation PCSPAISetEpsilon
PCEisenstatSetOmega PCGalerkinSetRestriction PCSPAISetMax
PCExoticSetDA PCGetOperators PCSPAISetMaxNew
PCExoticSetType PCGetOperatorsSet PCSPAISetNBSteps
PCFIELDSPLIT PCGetType PCSPAISetSp
PCFactorGetMatSolverPackage PCHYPRE PCSPAISetVerbose
PCFactorReorderForNonzeroDiagonal PCHYPREGetType PCSetCoordinates
PCFactorSetAllowDiagonalFill PCHYPRESetType PCSetOperators
PCFactorSetFill PCJacobiSetUseAbs PCSetType
PCFactorSetLevels PCJacobiSetUseRowMax
PCFactorSetMatOrderingType PCJacobiSetUseRowSum
Advanced - Setting more advanced options and customization
PCASASetDM PCKSPGetKSP PCMGSetType
PCASASetTolerances PCKSPSetUseTrue PCMGSetX
PCASMCreateSubdomains PCMGDefaultResidual PCRedundantGetOperators
PCASMCreateSubdomains2D PCMGGetCoarseSolve PCRedundantGetPC
PCASMDestroySubdomains PCMGGetLevels PCRedundantSetNumber
PCASMGetLocalSubdomains PCMGGetSmoother PCRedundantSetScatter
PCASMGetLocalSubmatrices PCMGGetSmootherDown PCRegister
PCASMGetSubKSP PCMGGetSmootherUp PCRegisterAll
PCASMSetLocalSubdomains PCMGMultiplicativeSetCycles PCRegisterDestroy
PCASMSetTotalSubdomains PCMGSetCycleType PCRegisterDynamic
PCAppendOptionsPrefix PCMGSetCyclesOnLevel PCRichardsonConvergedReason
PCBJacobiGetSubKSP PCMGSetInterpolation PCSHELL
PCComputeExplicitOperator PCMGSetNumberSmoothDown PCSetModifySubMatrices
PCEXOTIC PCMGSetNumberSmoothUp PCSetOptionsPrefix
PCFactorGetMatrix PCMGSetR PCShellGetContext
PCFieldSplitGetSchurBlocks PCMGSetResidual PCShellSetContext
PCFieldSplitGetSubKSP PCMGSetRestriction
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