PCGAMGAGG#

Smooth aggregation, [VanvekMB96], [VanveekBM01], variant of PETSc’s algebraic multigrid (PCGAMG) preconditioner

Options Database Keys#

  • -pc_gamg_agg_nsmooths <nsmooth, default=1> - number of smoothing steps to use with smooth aggregation to construct prolongation

  • -pc_gamg_aggressive_coarsening <n,default=1> - number of aggressive coarsening (MIS-2) levels from finest.

  • -pc_gamg_aggressive_square_graph <bool,default=false> - Use square graph (A’A) or MIS-k (k=2) for aggressive coarsening

  • -pc_gamg_mis_k_minimum_degree_ordering <bool,default=true> - Use minimum degree ordering in greedy MIS algorithm

  • -pc_gamg_pc_gamg_asm_hem_aggs <n,default=0> - Number of HEM aggregation steps for ASM smoother

  • -pc_gamg_aggressive_mis_k <n,default=2> - Number (k) distance in MIS coarsening (>2 is ‘aggressive’)

Notes#

To obtain good performance for PCGAMG for vector valued problems you must call MatSetBlockSize() to indicate the number of degrees of freedom per grid point. Call MatSetNearNullSpace() (or PCSetCoordinates() if solving the equations of elasticity) to indicate the near null space of the operator

The many options for PCMG and PCGAMG such as controlling the smoothers on each level etc. also work for PCGAMGAGG

References#

[VanveekBM01]

P. Vaněek, M. Brezina, and J. Mandel. Convergence of algebraic multigrid based on smoothed aggregation. Numerische Mathematik, 88(3):559–579, 2001.

[VanvekMB96]

P. Vaněk, J. Mandel, and M. Brezina. Algebraic multigrid by smoothed aggregation for second and fourth order elliptic problems. Computing, 56(3):179–196, 1996.

See Also#

PCGAMG, the Users Manual section on PCGAMG, the Users Manual section on PCMG, KSP: Linear System Solvers, PCCreate(), PCSetType(), MatSetBlockSize(), PCMGType, PCSetCoordinates(), MatSetNearNullSpace(), PCGAMGSetType(), PCGAMGAGG, PCGAMGGEO, PCGAMGCLASSICAL, PCGAMGSetProcEqLim(), PCGAMGSetCoarseEqLim(), PCGAMGSetRepartition(), PCGAMGRegister(), PCGAMGSetReuseInterpolation(), PCGAMGASMSetUseAggs(), PCGAMGSetParallelCoarseGridSolve(), PCGAMGSetNlevels(), PCGAMGSetThreshold(), PCGAMGGetType(), PCGAMGSetUseSAEstEig()

Level#

intermediate

Location#

src/ksp/pc/impls/gamg/agg.c


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