PETSc version v3.15.4-941-g333c02ea7d
Relative threshold to use for dropping edges in aggregation graph
PetscErrorCode PCGAMGSetThreshold(PC pc, PetscReal v, PetscInt n)
Not collective on PC
|pc ||- the preconditioner context
|v ||- array of threshold values for finest n levels; 0.0 means keep all nonzero entries in the graph; negative means keep even zero entries in the graph
|n ||- number of threshold values provided in array
Options Database Key
Increasing the threshold decreases the rate of coarsening. Conversely reducing the threshold increases the rate of coarsening (aggressive coarsening) and thereby reduces the complexity of the coarse grids, and generally results in slower solver converge rates. Reducing coarse grid complexity reduced the complexity of Galerkin coarse grid construction considerably.
Before coarsening or aggregating the graph, GAMG removes small values from the graph with this threshold, and thus reducing the coupling in the graph and a different (perhaps better) coarser set of points.
If n is less than the total number of coarsenings (see PCGAMGSetNlevels()), then threshold scaling (see PCGAMGSetThresholdScale()) is used for each successive coarsening.
In this case, PCGAMGSetThresholdScale() must be called before PCGAMGSetThreshold().
If n is greater than the total number of levels, the excess entries in threshold will not be used.
ImplementationsPCGAMGSetThreshold_GAMG in src/ksp/pc/impls/gamg/gamg.c
Index of all PC routines
Table of Contents for all manual pages
Index of all manual pages