PETSc version 3.15.5
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 heirarchy (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