petsc-3.3-p6 2013-02-11

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

Table of Contents