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 PCGASM PCNONE
PCASM PCGASMType PCPBJACOBI
PCASMType PCICC PCSOR
PCBJACOBI PCILU PCSPAI
PCCHOLESKY PCJACOBI PCSUPPORTGRAPH
PCCompositeType PCLU PCSide
PCEISENSTAT PCMGCycleType PCTFS
PCExoticType PCMGType PCType
Intermediate - Setting options for algorithms and data structures
PCASMSetOverlap PCFactorSetZeroPivot PCMG
PCASMSetSortIndices PCFieldSplitGetIS PCMGGetGalerkin
PCASMSetType PCFieldSplitSchurPreType PCMGSetGalerkin
PCBDDC PCFieldSplitSchurPrecondition PCMGSetLevels
PCBDDCGetNeumannBoundaries PCFieldSplitSetBlockSize PCML
PCBDDCSetCoarseProblemType PCFieldSplitSetFields PCNN
PCBDDCSetDofsSplitting PCFieldSplitSetIS PCPARMS
PCBDDCSetNeumannBoundaries PCGALERKIN PCPARMSGlobalType
PCBJacobiGetLocalBlocks PCGAMGSetCoarseEqLim PCPARMSLocalType
PCBJacobiGetTotalBlocks PCGAMGSetNSmooths PCPARMSSetFill
PCBJacobiSetLocalBlocks PCGAMGSetNlevels PCPARMSSetGlobal
PCBJacobiSetTotalBlocks PCGAMGSetProcEqLim PCPARMSSetLocal
PCBJacobiSetUseTrueLocal PCGAMGSetRepartitioning PCPARMSSetNonsymPerm
PCCOMPOSITE PCGAMGSetSymGraph PCPARMSSetSolveRestart
PCCP PCGAMGSetThreshold PCPARMSSetSolveTolerances
PCCreate_GAMG PCGAMGSetType PCPROMETHEUS
PCDiagonalScaleLeft PCGASMSetOverlap PCPythonSetType
PCDiagonalScaleRight PCGASMSetSortIndices PCREDISTRIBUTE
PCEisenstatNoDiagonalScaling PCGASMSetType PCREDUNDANT
PCEisenstatSetOmega PCGalerkinGetKSP PCSASetVectors
PCExoticSetType PCGalerkinSetInterpolation PCSORSetIterations
PCFIELDSPLIT PCGalerkinSetRestriction PCSORSetOmega
PCFactorGetMatSolverPackage PCGetApplicationContext PCSORSetSymmetric
PCFactorReorderForNonzeroDiagonal PCGetDM PCSPAISetBlockSize
PCFactorSetAllowDiagonalFill PCGetOperators PCSPAISetCacheSize
PCFactorSetColumnPivot PCGetOperatorsSet PCSPAISetEpsilon
PCFactorSetFill PCGetType PCSPAISetMax
PCFactorSetLevels PCHMPI PCSPAISetMaxNew
PCFactorSetMatOrderingType PCHYPRE PCSPAISetNBSteps
PCFactorSetMatSolverPackage PCHYPREGetType PCSPAISetSp
PCFactorSetPivotInBlocks PCHYPRESetType PCSPAISetVerbose
PCFactorSetReuseFill PCJacobiSetUseAbs PCSetApplicationContext
PCFactorSetReuseOrdering PCJacobiSetUseRowMax PCSetCoordinates
PCFactorSetShiftAmount PCJacobiSetUseRowSum PCSetDM
PCFactorSetShiftType PCKSP PCSetDiagonalScale
PCFactorSetUpMatSolverPackage PCLSC PCSetOperators
PCFactorSetUseInPlace PCMAT PCSetType
Advanced - Setting more advanced options and customization
PCASASetTolerances PCGASMSetTotalSubdomains PCMGSetRhs
PCASMCreateSubdomains PCGetOptionsPrefix PCMGSetType
PCASMCreateSubdomains2D PCKSPGetKSP PCMGSetX
PCASMDestroySubdomains PCKSPSetUseTrue PCPFMG
PCASMGetLocalSubdomains PCMGDefaultResidual PCRedistributeGetKSP
PCASMGetLocalSubmatrices PCMGGetCoarseSolve PCRedundantGetKSP
PCASMGetSubKSP PCMGGetInterpolation PCRedundantGetOperators
PCASMSetLocalSubdomains PCMGGetLevels PCRedundantSetNumber
PCASMSetTotalSubdomains PCMGGetRScale PCRedundantSetScatter
PCAppendOptionsPrefix PCMGGetRestriction PCRegister
PCBJacobiGetSubKSP PCMGGetSmoother PCRegisterAll
PCComputeExplicitOperator PCMGGetSmootherDown PCRegisterDestroy
PCEXOTIC PCMGGetSmootherUp PCRegisterDynamic
PCFactorGetMatrix PCMGMultiplicativeSetCycles PCRichardsonConvergedReason
PCFieldSplitGetSchurBlocks PCMGSetCycleType PCSHELL
PCFieldSplitGetSubKSP PCMGSetCyclesOnLevel PCSVD
PCGASMCreateSubdomains PCMGSetInterpolation PCSetModifySubMatrices
PCGASMCreateSubdomains2D PCMGSetNumberSmoothDown PCSetOptionsPrefix
PCGASMDestroySubdomains PCMGSetNumberSmoothUp PCShellGetContext
PCGASMGetLocalSubdomains PCMGSetR PCShellSetContext
PCGASMGetLocalSubmatrices PCMGSetRScale PCSysPFMG
PCGASMGetSubKSP PCMGSetResidual
PCGASMSetLocalSubdomains PCMGSetRestriction
Developer - Interfaces intended primarily for library developers, not for typical applications programmers
PCApply PCCompositeSpecialSetAlpha PCShellGetName
PCApplyBAorAB PCCreate PCShellSetApply
PCApplyBAorABTranspose PCDestroy PCShellSetApplyBA
PCApplyRichardson PCFieldSplitSetType PCShellSetApplyRichardson
PCApplyRichardsonExists PCGetDiagonalScale PCShellSetApplyTranspose
PCApplySymmetricLeft PCModifySubMatrices PCShellSetDestroy
PCApplySymmetricRight PCPostSolve PCShellSetName
PCApplyTranspose PCPreSolve PCShellSetPostSolve
PCApplyTransposeExists PCReset PCShellSetPreSolve
PCCompositeAddPC PCSetFromOptions PCShellSetSetUp
PCCompositeGetPC PCSetInitialGuessNonzero PCShellSetView
PCCompositeSetType PCSetUp PCView
PCCompositeSetUseTrue PCSetUpOnBlocks
No deprecated routines
None: Not yet cataloged
PCAINVCUSP PCSACUSP

Table of Contents