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

Table of Contents