petsc-3.10.3 2018-12-18
Report Typos and Errors

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

Table of Contents