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 PCMG
PCASMSetOverlap PCFactorSetReuseFill PCMGGetGalerkin
PCASMSetSortIndices PCFactorSetReuseOrdering PCMGSetGalerkin
PCASMSetType PCFactorSetShiftAmount PCMGSetLevels
PCBFBtGetKSP PCFactorSetShiftType PCML
PCBFBtSetOperators PCFactorSetUseInPlace PCNN
PCBJacobiGetLocalBlocks PCFactorSetZeroPivot PCOPENMP
PCBJacobiGetTotalBlocks PCFieldSplitSchurPreType PCPythonSetType
PCBJacobiSetLocalBlocks PCFieldSplitSchurPrecondition PCREDISTRIBUTE
PCBJacobiSetTotalBlocks PCFieldSplitSetBlockSize PCREDUNDANT
PCBJacobiSetUseTrueLocal PCFieldSplitSetFields PCSASetVectors
PCCOMPOSITE PCFieldSplitSetIS PCSORSetIterations
PCCP PCGALERKIN PCSORSetOmega
PCDiagonalScaleLeft PCGalerkinGetKSP PCSORSetSymmetric
PCDiagonalScaleRight PCGalerkinSetInterpolation PCSPAISetBlockSize
PCDiagonalScaleSet PCGalerkinSetRestriction PCSPAISetCacheSize
PCEisenstatNoDiagonalScaling PCGetOperators PCSPAISetEpsilon
PCEisenstatSetOmega PCGetOperatorsSet PCSPAISetMax
PCExoticSetType PCGetType PCSPAISetMaxNew
PCFIELDSPLIT PCHYPRE PCSPAISetNBSteps
PCFactorGetMatSolverPackage PCHYPREGetType PCSPAISetSp
PCFactorReorderForNonzeroDiagonal PCHYPRESetType PCSPAISetVerbose
PCFactorSetAllowDiagonalFill PCJacobiSetUseAbs PCSetCoordinates
PCFactorSetColumnPivot PCJacobiSetUseRowMax PCSetDA
PCFactorSetFill PCJacobiSetUseRowSum PCSetOperators
PCFactorSetLevels PCKSP PCSetType
PCFactorSetMatOrderingType PCLSC
PCFactorSetMatSolverPackage PCMAT
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 PCSysPFMG
Developer - Interfaces intended primarily for library developers, not for typical applications programmers
PCApply PCCompositeSpecialSetAlpha PCShellSetApply
PCApplyBAorAB PCCreate PCShellSetApplyBA
PCApplyBAorABTranspose PCDestroy PCShellSetApplyRichardson
PCApplyRichardson PCDiagonalScale PCShellSetApplyTranspose
PCApplyRichardsonExists PCFieldSplitSetType PCShellSetDestroy
PCApplySymmetricLeft PCModifySubMatrices PCShellSetName
PCApplySymmetricRight PCPostSolve PCShellSetPostSolve
PCApplyTranspose PCPreSolve PCShellSetPreSolve
PCApplyTransposeExists PCSetFromOptions PCShellSetSetUp
PCCompositeAddPC PCSetInitialGuessNonzero PCShellSetView
PCCompositeGetPC PCSetUp PCView
PCCompositeSetType PCSetUpOnBlocks
PCCompositeSetUseTrue PCShellGetName
No deprecated routines

Table of Contents