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 PCILU PCSOR
PCASM PCJACOBI PCSPAI
PCASMType PCLU PCSUPPORTGRAPH
PCBJACOBI PCMGCyleType PCSide
PCCHOLESKY PCMGType PCTFS
PCCompositeType PCNONE PCType
PCEISENSTAT PCPBJACOBI
PCICC PCPROMETHEUS
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 PCOPENMP
PCBJacobiSetUseTrueLocal PCFieldSplitSetBlockSize PCREDUNDANT
PCCOMPOSITE PCFieldSplitSetFields PCSASetVectors
PCCP PCGALERKIN PCSORSetIterations
PCDMMGSetDM PCGalerkinGetKSP PCSORSetOmega
PCDiagonalScaleLeft PCGalerkinSetInterpolation PCSORSetSymmetric
PCDiagonalScaleRight PCGalerkinSetRestriction PCSPAISetBlockSize
PCDiagonalScaleSet PCGetOperators PCSPAISetCacheSize
PCEisenstatNoDiagonalScaling PCGetOperatorsSet PCSPAISetEpsilon
PCEisenstatSetOmega PCGetType PCSPAISetMax
PCFIELDSPLIT PCHYPRE PCSPAISetMaxNew
PCFactorReorderForNonzeroDiagonal PCHYPREGetType PCSPAISetNBSteps
PCFactorSetAllowDiagonalFill PCHYPRESetType PCSPAISetSp
PCFactorSetFill PCJacobiSetUseAbs PCSPAISetVerbose
PCFactorSetLevels PCJacobiSetUseRowMax PCSetCoordinates
PCFactorSetMatOrderingType PCJacobiSetUseRowSum PCSetOperators
PCFactorSetPivotInBlocks PCKSP PCSetType
PCFactorSetPivoting PCMAT
Advanced - Setting more advanced options and customization
PCASASetDM PCMGDefaultResidual PCMGSetType
PCASASetTolerances PCMGGetCoarseSolve PCMGSetX
PCASMCreateSubdomains2D PCMGGetLevels PCRedundantGetOperators
PCASMGetLocalSubdomains PCMGGetSmoother PCRedundantGetPC
PCASMGetLocalSubmatrices PCMGGetSmootherDown PCRedundantSetNumber
PCASMGetSubKSP PCMGGetSmootherUp PCRedundantSetScatter
PCASMSetLocalSubdomains PCMGMultiplicativeSetCycles PCRegister
PCASMSetTotalSubdomains PCMGSetCycleType PCRegisterAll
PCAppendOptionsPrefix PCMGSetCyclesOnLevel PCRegisterDestroy
PCBJacobiGetSubKSP PCMGSetInterpolation PCRegisterDynamic
PCComputeExplicitOperator PCMGSetNumberSmoothDown PCSHELL
PCFactorGetMatrix PCMGSetNumberSmoothUp PCSetModifySubMatrices
PCFieldSplitGetSubKSP PCMGSetR PCSetOptionsPrefix
PCGetOptionsPrefix PCMGSetResidual PCShellGetContext
PCKSPGetKSP PCMGSetRestriction PCShellSetContext
PCKSPSetUseTrue 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