PCML

Use algebraic multigrid preconditioning. This preconditioner requires you provide fine grid discretization matrix. The coarser grid matrices and restriction/interpolation operators are computed by ML, with the matrices coverted to PETSc matrices in aij format and the restriction/interpolation operators wrapped as PETSc shell matrices.

Options Database Key

Multigrid options(inherited)
-pc_mg_cycles <1>: 1 for V cycle, 2 for W- cycle (MGSetCycles)
-pc_mg_smoothup <1>: Number of post- smoothing steps (MGSetNumberSmoothUp)
-pc_mg_smoothdown <1>: Number of pre- smoothing steps (MGSetNumberSmoothDown)
-pc_mg_type <multiplicative>: (one of) additive multiplicative full cascade kascade- ML options: + -pc_ml_PrintLevel <0>: Print level (ML_Set_PrintLevel)
-pc_ml_maxNlevels <10>: Maximum number of levels (None) -. -pc_ml_maxCoarseSize <1>: Maximum coarsest mesh size (ML_Aggregate_Set_MaxCoarseSize)
-pc_ml_CoarsenScheme <Uncoupled>: (one of) Uncoupled Coupled MIS METIS -. -pc_ml_DampingFactor <1.33333>: P damping factor (ML_Aggregate_Set_DampingFactor)
-pc_ml_Threshold <0>: Smoother drop tol (ML_Aggregate_Set_Threshold) -- -pc_ml_SpectralNormScheme_Anorm <false>: Method used for estimating spectral radius (ML_Set_SpectralNormScheme_Anorm)

Concepts: multigrid

See Also

PCCreate(), PCSetType(), PCType (for list of available types), PC, PCMGType,
PCMGSetLevels(), PCMGGetLevels(), PCMGSetType(), MPSetCycles(), PCMGSetNumberSmoothDown(), PCMGSetNumberSmoothUp(), PCMGGetCoarseSolve(), PCMGSetResidual(), PCMGSetInterpolation(), PCMGSetRestriction(), PCMGGetSmoother(), PCMGGetSmootherUp(), PCMGGetSmootherDown(), PCMGSetCyclesOnLevel(), PCMGSetRhs(), PCMGSetX(), PCMGSetR()

Level:intermediate
Location:
src/ksp/pc/impls/ml/ml.c
Index of all PC routines
Table of Contents for all manual pages
Index of all manual pages