:orphan: # PCGAMGSetThreshold Relative threshold to use for dropping edges in aggregation graph ## Synopsis ``` #include "petscpc.h" #include "petscksp.h" PetscErrorCode PCGAMGSetThreshold(PC pc, PetscReal v[], PetscInt n) ``` Not Collective ## Input Parameters - ***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 - ***-pc_gamg_threshold -*** the threshold to drop edges ## Notes 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, `PCGAMG` 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. ## See Also `PCGAMG`, `PCGAMGSetAggressiveLevels()`, `PCGAMGSetThresholdScale()` ## Level intermediate ## Location src/ksp/pc/impls/gamg/gamg.c ## Implementations PCGAMGSetThreshold_GAMG in src/ksp/pc/impls/gamg/gamg.c
--- [Edit on GitLab](https://gitlab.com/petsc/petsc/-/edit/release/src/ksp/pc/impls/gamg/gamg.c) [Index of all PC routines](index.md) [Table of Contents for all manual pages](/manualpages/index.md) [Index of all manual pages](/manualpages/singleindex.md)