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