Hello all,
I am struggling to find the same convergence in iterations when using classical algebric multigrid in my code with PETSc 3.20 compared to PETSc 3.14.
I am using in order to solve a Poisson system:
-ksp_type cg -pc_type gamg -pc_gamg_type classical
I read the different releases notes between 3.15 and 3.20:
https://petsc.org/release/changes/317
https://petsc.org/main/manualpages/PC/PCGAMGSetThreshold/
And have a look at the archive mailing list (especially this one:
https://www.mail-archive.com/petsc-users@mcs.anl.gov/msg46688.html)
so I added some other options to try to have the same behaviour than PETSc 3.14:
-ksp_type cg -pc_type gamg -pc_gamg_type classical -mg_levels_pc_type sor -pc_gamg_threshold 0.
It improves the convergence but there still a different convergence though (26 vs 18 iterations).
On another of my test case, the number of levels is different (e.g. 6 vs 4) also, and here it is the same, but with a different coarsening according to the output from the -ksp_view option
The main point is that the convergence dramatically degrades in parallel on a third test case, so I can't upgrade to PETSc 3.20 for now unhappily.
I send you the partial report (petsc_314_vs_petsc_320.ksp_view) with -ksp_view (left PETSc 3.14, right PETSc 3.20) and the configure/command line options used (in petsc_XXX_petsc.TU files).
Could my issue related to the following 3.18 change ? I have not tried the first one.
Remove PCGAMGSetSymGraph() and -pc_gamg_sym_graph.
The user should now indicate symmetry and structural symmetry using MatSetOption() and
GAMG will symmetrize the graph if a symmetric options is not set
Change -pc_gamg_reuse_interpolation default
from false to true.
Any advice would be greatly appreciated,