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()





Index of all PC routines
Table of Contents for all manual pages
Index of all manual pages