PETSc version 3.16.6
Fix/Edit manual page

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_distinct_smoothup - Should one configure the up and down smoothers separately (PCMGSetDistinctSmoothUp)
-pc_mg_type <multiplicative> - (one of) additive multiplicative full 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)
-pc_ml_repartition <false> - Allow ML to repartition levels of the hierarchy (ML_Repartition_Activate)
-pc_ml_repartitionMaxMinRatio <1.3> - Acceptable ratio of repartitioned sizes (ML_Repartition_Set_LargestMinMaxRatio)
-pc_ml_repartitionMinPerProc <512>: Smallest repartitioned size (ML_Repartition_Set_MinPerProc)
-pc_ml_repartitionPutOnSingleProc <5000> - Problem size automatically repartitioned to one processor (ML_Repartition_Set_PutOnSingleProc)
-pc_ml_repartitionType <Zoltan> - Repartitioning library to use (ML_Repartition_Set_Partitioner)
-pc_ml_repartitionZoltanScheme <RCB> - Repartitioning scheme to use (None)
-pc_ml_Aux <false> - Aggregate using auxiliary coordinate-based laplacian (None)
-pc_ml_AuxThreshold <0.0> - Auxiliary smoother drop tol (None)

See Also

PCCreate(), PCSetType(), PCType (for list of available types), PC, PCMGType,
PCMGSetLevels(), PCMGGetLevels(), PCMGSetType(), MPSetCycles(), PCMGSetDistinctSmoothUp(), PCMGGetCoarseSolve(), PCMGSetResidual(), PCMGSetInterpolation(), PCMGSetRestriction(), PCMGGetSmoother(), PCMGGetSmootherUp(), PCMGGetSmootherDown(), PCMGSetCycleTypeOnLevel(), 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