Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Need PETSc solver settings for GAMG equivalent to ML when running in parallel #515

Open
baagaard-usgs opened this issue Jul 13, 2022 · 0 comments
Assignees
Labels
bug General bug

Comments

@baagaard-usgs
Copy link
Contributor

Describe the bug

We get very slow convergence and GMRES restart errors when we use the GAMG preconditioner for the displacement and fault Lagrange multiplier blocks when running in parallel with a fault. Using ML instead gives robust results.

To Reproduce

PETSc branch: knepley/pylith
PyLith branch: main

cd examples/strikeslip-2d
pylith step01_slip.cfg --nodes=2

Good PETSc settings

[pylithapp.problem]
petsc_defaults.solver = False

[pyliathapp.petsc]
fieldsplit_displacement_ksp_type = preonly
fieldsplit_displacement_pc_type = ml
fieldsplit_lagrange_multiplier_fault_ksp_type = preonly
fieldsplit_lagrange_multiplier_fault_pc_type = ml

pc_fieldsplit_schur_factorization_type = lower
pc_fieldsplit_schur_precondition = selfp
pc_fieldsplit_schur_scale = 1.0
pc_fieldsplit_type = schur
pc_type = fieldsplit
pc_use_amat = true

Bad PETSc settings (slow convergence, GMRES restart errors)

[pylithapp.problem]
petsc_defaults.solver = False

[pyliathapp.petsc]
fieldsplit_displacement_ksp_type = preonly
fieldsplit_displacement_pc_type = gamg
fieldsplit_lagrange_multiplier_fault_ksp_type = preonly
fieldsplit_lagrange_multiplier_fault_pc_type = gamg

pc_fieldsplit_schur_factorization_type = lower
pc_fieldsplit_schur_precondition = selfp
pc_fieldsplit_schur_scale = 1.0
pc_fieldsplit_type = schur
pc_type = fieldsplit
pc_use_amat = true

Desired solution

Find default PETSc settings for GAMG that give nearly the same results as ML when running in parallel with a fault.

@baagaard-usgs baagaard-usgs added the bug General bug label Jul 13, 2022
@baagaard-usgs baagaard-usgs added this to the Release v3.0.3 milestone Jul 27, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug General bug
Projects
None yet
Development

No branches or pull requests

2 participants