PCML#

Use the SNL ML algebraic multigrid preconditioner.

Options Database Keys#

Multigrid options(inherited)#

  • -pc_mg_cycle_type - v for V cycle, w for W-cycle (PCMGSetCycleType())

  • -pc_mg_distinct_smoothup - Should one configure the up and down smoothers separately (PCMGSetDistinctSmoothUp())

  • -pc_mg_type - (one of) additive multiplicative full kascade

ML Options Database Key#

  • -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 - (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 - Method used for estimating spectral radius (ML_Set_SpectralNormScheme_Anorm())

  • -pc_ml_repartition - 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 - Repartitioning library to use (ML_Repartition_Set_Partitioner())

  • -pc_ml_repartitionZoltanScheme - Repartitioning scheme to use (None)

  • -pc_ml_Aux - Aggregate using auxiliary coordinate-based Laplacian (None)

  • -pc_ml_AuxThreshold <0.0> - Auxiliary smoother drop tol (None)

Developer Note#

The coarser grid matrices and restriction/interpolation operators are computed by ML, with the matrices converted to PETSc matrices in MATAIJ format and the restriction/interpolation operators wrapped as PETSc shell matrices.

See Also#

KSP: Linear System Solvers, PCCreate(), PCSetType(), PCType, PC, PCMGType, PCMG, PCHYPRE, PCGAMG, 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