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 PCMAT
PCASMSetOverlap PCFactorSetPivotInBlocks PCMG
PCASMSetSortIndices PCFactorSetReuseFill PCMGGetGalerkin
PCASMSetType PCFactorSetReuseOrdering PCMGSetGalerkin
PCBFBtGetKSP PCFactorSetShiftAmount PCMGSetLevels
PCBFBtSetOperators PCFactorSetShiftType PCML
PCBJacobiGetLocalBlocks PCFactorSetUseInPlace PCNN
PCBJacobiGetTotalBlocks PCFactorSetZeroPivot PCOPENMP
PCBJacobiSetLocalBlocks PCFieldSplitSchurPreType PCPythonSetType
PCBJacobiSetTotalBlocks PCFieldSplitSchurPrecondition PCREDISTRIBUTE
PCBJacobiSetUseTrueLocal PCFieldSplitSetBlockSize PCREDUNDANT
PCCOMPOSITE PCFieldSplitSetFields PCSASetVectors
PCCP PCFieldSplitSetIS PCSORSetIterations
PCDiagonalScaleLeft PCGALERKIN PCSORSetOmega
PCDiagonalScaleRight PCGalerkinGetKSP PCSORSetSymmetric
PCDiagonalScaleSet PCGalerkinSetInterpolation PCSPAISetBlockSize
PCEisenstatNoDiagonalScaling PCGalerkinSetRestriction PCSPAISetCacheSize
PCEisenstatSetOmega PCGetOperators PCSPAISetEpsilon
PCExoticSetType PCGetOperatorsSet PCSPAISetMax
PCFIELDSPLIT PCGetType PCSPAISetMaxNew
PCFactorGetMatSolverPackage PCHYPRE PCSPAISetNBSteps
PCFactorReorderForNonzeroDiagonal PCHYPREGetType PCSPAISetSp
PCFactorSetAllowDiagonalFill PCHYPRESetType PCSPAISetVerbose
PCFactorSetColumnPivot PCJacobiSetUseAbs PCSetCoordinates
PCFactorSetDropTolerance PCJacobiSetUseRowMax PCSetDA
PCFactorSetFill PCJacobiSetUseRowSum PCSetOperators
PCFactorSetLevels PCKSP PCSetType
PCFactorSetMatOrderingType PCLSC
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