PETSc version 3.17.2

Preconditioners - PC:

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 PCHMGSetCoarseningComponent PCMGalerkinType
PCASM PCHMGSetInnerPCType PCNONE
PCASMType PCHMGSetReuseInterpolation PCPBJACOBI
PCBJACOBI PCHMGSetUseSubspaceCoarsening PCPatchConstructType
PCCHOLESKY PCHMGUseMatMAIJ PCQR
PCCompositeType PCICC PCSOR
PCEISENSTAT PCILU PCSPAI
PCExoticType PCJACOBI PCSide
PCFailedReason PCKaczmarz PCTFS
PCGASM PCLU PCType
PCGASMSetTotalSubdomains PCMGCoarseSpaceType PCVPBJACOBI
PCGASMType PCMGCycleType
PCHMG PCMGType
Intermediate - Setting options for algorithms and data structures
PCASMGetDMSubdomains PCFieldSplitGetDetectSaddlePoint PCHYPRESetBetaPoissonMatrix
PCASMGetLocalType PCFieldSplitGetDiagUseAmat PCHYPRESetDiscreteCurl
PCASMGetType PCFieldSplitGetIS PCHYPRESetDiscreteGradient
PCASMSetDMSubdomains PCFieldSplitGetISByIndex PCHYPRESetEdgeConstantVectors
PCASMSetLocalType PCFieldSplitGetOffDiagUseAmat PCHYPRESetInterpolations
PCASMSetOverlap PCFieldSplitGetSchurPre PCHYPRESetType
PCASMSetSortIndices PCFieldSplitGetType PCISSetSubdomainDiagonalScaling
PCASMSetType PCFieldSplitSchurFactType PCISSetSubdomainScalingFactor
PCBDDC PCFieldSplitSchurPreType PCISSetUseStiffnessScaling
PCBDDCGetDirichletBoundaries PCFieldSplitSetBlockSize PCJacobiGetFixDiagonal
PCBDDCGetDirichletBoundariesLocal PCFieldSplitSetDMSplits PCJacobiGetType
PCBDDCGetNeumannBoundaries PCFieldSplitSetDetectSaddlePoint PCJacobiGetUseAbs
PCBDDCGetNeumannBoundariesLocal PCFieldSplitSetDiagUseAmat PCJacobiSetFixDiagonal
PCBDDCGetPrimalVerticesIS PCFieldSplitSetFields PCJacobiSetType
PCBDDCGetPrimalVerticesLocalIS PCFieldSplitSetGKBDelay PCJacobiSetUseAbs
PCBDDCInterfaceExtType PCFieldSplitSetGKBMaxit PCJacobiType
PCBDDCSetChangeOfBasisMat PCFieldSplitSetGKBNu PCKSP
PCBDDCSetCoarseningRatio PCFieldSplitSetGKBTol PCLMVM
PCBDDCSetDirichletBoundaries PCFieldSplitSetIS PCLMVMClearIS
PCBDDCSetDirichletBoundariesLocal PCFieldSplitSetOffDiagUseAmat PCLMVMGetMatLMVM
PCBDDCSetDofsSplitting PCFieldSplitSetSchurFactType PCLMVMSetIS
PCBDDCSetDofsSplittingLocal PCFieldSplitSetSchurPre PCLMVMSetMatLMVM
PCBDDCSetLevels PCFieldSplitSetSchurScale PCLSC
PCBDDCSetLocalAdjacencyGraph PCFieldSplitSetType PCLoad
PCBDDCSetNeumannBoundaries PCGALERKIN PCMAT
PCBDDCSetNeumannBoundariesLocal PCGAMG PCMG
PCBDDCSetPrimalVerticesIS PCGAMGASMSetUseAggs PCMGGalerkinGetMatProductAlgorithm
PCBDDCSetPrimalVerticesLocalIS PCGAMGClassicalGetType PCMGGalerkinSetMatProductAlgorithm
PCBJKOKKOS PCGAMGClassicalSetType PCMGGetAdaptCR
PCBJacobiGetLocalBlocks PCGAMGGetType PCMGGetAdaptInterpolation
PCBJacobiGetTotalBlocks PCGAMGLayoutType PCMGGetGalerkin
PCBJacobiSetLocalBlocks PCGAMGSetCoarseEqLim PCMGSetAdaptCR
PCBJacobiSetTotalBlocks PCGAMGSetCoarseGridLayoutType PCMGSetAdaptInterpolation
PCCOMPOSITE PCGAMGSetCpuPinCoarseGrids PCMGSetGalerkin
PCCP PCGAMGSetEigenvalues PCMGSetLevels
PCDEFLATION PCGAMGSetNSmooths PCML
PCDeflationSetCorrectionFactor PCGAMGSetNlevels PCNN
PCDeflationSetInitOnly PCGAMGSetProcEqLim PCPARMS
PCDeflationSetLevels PCGAMGSetRankReductionFactors PCPARMSGlobalType
PCDeflationSetReductionFactor PCGAMGSetRepartition PCPARMSLocalType
PCDeflationSetSpace PCGAMGSetReuseInterpolation PCPARMSSetFill
PCDeflationSetSpaceToCompute PCGAMGSetSquareGraph PCPARMSSetGlobal
PCDeflationSpaceType PCGAMGSetSymGraph PCPARMSSetLocal
PCDiagonalScaleLeft PCGAMGSetThreshold PCPARMSSetNonsymPerm
PCDiagonalScaleRight PCGAMGSetType PCPARMSSetSolveRestart
PCEisenstatGetNoDiagonalScaling PCGAMGSetUseParallelCoarseGridSolve PCPARMSSetSolveTolerances
PCEisenstatGetOmega PCGAMGType PCPATCH
PCEisenstatSetNoDiagonalScaling PCGASMDestroySubdomains PCPythonSetType
PCEisenstatSetOmega PCGASMGetUseDMSubdomains PCREDISTRIBUTE
PCExoticSetType PCGASMSetOverlap PCREDUNDANT
PCFIELDSPLIT PCGASMSetSortIndices PCSORGetIterations
PCFactorGetAllowDiagonalFill PCGASMSetType PCSORGetOmega
PCFactorGetLevels PCGASMSetUseDMSubdomains PCSORGetSymmetric
PCFactorGetMatSolverType PCGalerkinGetKSP PCSORSetIterations
PCFactorGetShiftAmount PCGalerkinSetComputeSubmatrix PCSORSetOmega
PCFactorGetShiftType PCGalerkinSetInterpolation PCSORSetSymmetric
PCFactorGetUseInPlace PCGalerkinSetRestriction PCSPAISetBlockSize
PCFactorGetZeroPivot PCGetApplicationContext PCSPAISetCacheSize
PCFactorReorderForNonzeroDiagonal PCGetDM PCSPAISetEpsilon
PCFactorSetAllowDiagonalFill PCGetOperators PCSPAISetMax
PCFactorSetColumnPivot PCGetOperatorsSet PCSPAISetMaxNew
PCFactorSetDropTolerance PCGetReusePreconditioner PCSPAISetNBSteps
PCFactorSetFill PCGetType PCSPAISetSp
PCFactorSetLevels PCGetUseAmat PCSPAISetVerbose
PCFactorSetMatOrderingType PCHPDDM PCSetApplicationContext
PCFactorSetMatSolverType PCHPDDMCoarseCorrectionType PCSetCoordinates
PCFactorSetPivotInBlocks PCHPDDMFinalizePackage PCSetDM
PCFactorSetReuseFill PCHPDDMGetCoarseCorrectionType PCSetDiagonalScale
PCFactorSetReuseOrdering PCHPDDMHasNeumannMat PCSetOperators
PCFactorSetShiftAmount PCHPDDMInitializePackage PCSetReusePreconditioner
PCFactorSetShiftType PCHPDDMSetAuxiliaryMat PCSetType
PCFactorSetUpMatSolverType PCHPDDMSetCoarseCorrectionType PCSetUseAmat
PCFactorSetUseInPlace PCHYPRE PCViewFromOptions
PCFactorSetZeroPivot PCHYPREGetType
PCFieldSplitGetDMSplits PCHYPRESetAlphaPoissonMatrix
Advanced - Setting more advanced options and customization
PCASMCreateSubdomains PCGetFailedReasonRank PCPFMG
PCASMCreateSubdomains2D PCGetInterpolations PCPatchSetComputeFunction
PCASMDestroySubdomains PCGetOptionsPrefix PCPatchSetComputeFunctionInteriorFacets
PCASMGetLocalSubdomains PCHPDDMGetComplexities PCPatchSetComputeOperator
PCASMGetLocalSubmatrices PCHPDDMGetSTShareSubKSP PCPatchSetComputeOperatorInteriorFacets
PCASMGetSubKSP PCHPDDMSetRHSMat PCRedistributeGetKSP
PCASMGetSubMatType PCHPDDMShellApply PCRedundantGetKSP
PCASMSetLocalSubdomains PCHPDDMShellMatApply PCRedundantGetOperators
PCASMSetSubMatType PCKSPGetKSP PCRedundantSetNumber
PCASMSetTotalSubdomains PCKSPSetKSP PCRedundantSetScatter
PCAppendOptionsPrefix PCMGGetCoarseSolve PCRegister
PCBDDCSetDiscreteGradient PCMGGetCoarseSpaceConstructor PCRegisterAll
PCBDDCSetDivergenceMat PCMGGetGridComplexity PCRichardsonConvergedReason
PCBJKOKKOSGetKSP PCMGGetInjection PCRowScalingViennaCL
PCBJKOKKOSSetKSP PCMGGetInterpolation PCSAViennaCL
PCBJacobiGetSubKSP PCMGGetLevels PCSHELL
PCCHOWILUViennaCL PCMGGetRScale PCSVD
PCComputeOperator PCMGGetRestriction PCSetErrorIfFailure
PCDeflationGetCoarseKSP PCMGGetSmoother PCSetFailedReason
PCDeflationGetPC PCMGGetSmootherDown PCSetModifySubMatrices
PCEXOTIC PCMGGetSmootherUp PCSetOptionsPrefix
PCFactorGetMatrix PCMGGetType PCShellGetContext
PCFieldSplitGetSchurBlocks PCMGMultiplicativeSetCycles PCShellSetContext
PCFieldSplitGetSubKSP PCMGRegisterCoarseSpaceConstructor PCSysPFMG
PCFieldSplitRestrictIS PCMGSetCycleType PCTELESCOPE
PCFieldSplitSchurGetS PCMGSetCycleTypeOnLevel PCTelescopeGetDM
PCFieldSplitSchurGetSubKSP PCMGSetDistinctSmoothUp PCTelescopeGetIgnoreDM
PCFieldSplitSchurRestoreS PCMGSetInjection PCTelescopeGetIgnoreKSPComputeOperators
PCGAMGRegister PCMGSetInterpolation PCTelescopeGetKSP
PCGAMGSetThresholdScale PCMGSetNumberSmooth PCTelescopeGetReductionFactor
PCGAMGSetUseSAEstEig PCMGSetOperators PCTelescopeGetSubcommType
PCGASMCreateSubdomains PCMGSetR PCTelescopeGetUseCoarseDM
PCGASMCreateSubdomains2D PCMGSetRScale PCTelescopeSetIgnoreDM
PCGASMGetSubKSP PCMGSetResidual PCTelescopeSetIgnoreKSPComputeOperators
PCGASMGetSubdomains PCMGSetResidualTranspose PCTelescopeSetReductionFactor
PCGASMGetSubmatrices PCMGSetRestriction PCTelescopeSetSubcommType
PCGASMSetSubdomains PCMGSetRhs PCTelescopeSetUseCoarseDM
PCGetCoarseOperators PCMGSetType
PCGetFailedReason PCMGSetX
Developer - Interfaces intended primarily for library developers, not for typical applications programmers
PCApply PCCompositeSetType PCSetFromOptions
PCApplyBAorAB PCCompositeSpecialSetAlpha PCSetPreSolve
PCApplyBAorABTranspose PCCreate PCSetUp
PCApplyRichardson PCDeflationSetCoarseMat PCSetUpOnBlocks
PCApplyRichardsonExists PCDeflationSetProjectionNullSpaceMat PCShellGetName
PCApplySymmetricLeft PCDestroy PCShellSetApply
PCApplySymmetricRight PCGAMGFilterGraph PCShellSetApplyBA
PCApplyTranspose PCGAMGFinalizePackage PCShellSetApplyRichardson
PCApplyTransposeExists PCGAMGInitializePackage PCShellSetApplySymmetricLeft
PCBDDCCreateFETIDPOperators PCGetDiagonalScale PCShellSetApplySymmetricRight
PCBDDCFinalizePackage PCMGMatResidualDefault PCShellSetApplyTranspose
PCBDDCInitializePackage PCMGMatResidualTransposeDefault PCShellSetDestroy
PCBDDCMatFETIDPGetRHS PCMGResidualDefault PCShellSetMatApply
PCBDDCMatFETIDPGetSolution PCMGResidualTransposeDefault PCShellSetName
PCCompositeAddPC PCMatApply PCShellSetPostSolve
PCCompositeAddPCType PCModifySubMatrices PCShellSetPreSolve
PCCompositeGetNumberPC PCPostSolve PCShellSetSetUp
PCCompositeGetPC PCPreSolve PCShellSetView
PCCompositeGetType PCReset PCView
No deprecated routines

Table of Contents