-
Notifications
You must be signed in to change notification settings - Fork 98
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
Coarse level options for AMG preconditioner #359
base: main
Are you sure you want to change the base?
Conversation
Codecov ReportAll modified and coverable lines are covered by tests ✅
Additional details and impacted files@@ Coverage Diff @@
## main #359 +/- ##
=======================================
Coverage 41.13% 41.13%
=======================================
Files 13 13
Lines 4108 4108
=======================================
Hits 1690 1690
Misses 2418 2418 ☔ View full report in Codecov by Sentry. |
After reviewing this a bit more, I noticed that we do not have the option to add iterative refinement with the AMG PC. Even though NK and ANK solvers default to no refinement, would it make sense to add a similar block like:
to the AMG PC setup? |
The new changes look good. I also want to add the option to enable iterative refinement to ANK and NK if desired. Default should be no refinement as that is what the code is doing for all cases now. I want to add 2 python options that control this behavior: Should we make this change in this PR or should I create a new PR for this? I can also make these changes here and push. Up to you @sseraj. |
I think it would be better to make the ANK and NK changes in a separate PR |
Purpose
This PR adds separate ASM overlap, ILU fill level, and inner (ILU) iteration options for the coarse levels when using the AMG preconditioner. The motivation behind this is to allow for cheaper iterations at the coarse levels to speed up the overall solution time. The defaults for the coarse levels are set to the cheapest options possible (no ASM overlap, no ILU fill, 1 inner iteration). This changes the default behavior but should be advantageous for most cases.
Expected time until merged
2-3 weeks
Type of change
Testing
I added an AMG test with non-default options. The default options are used in the existing tests.
Checklist
flake8
andblack
to make sure the Python code adheres to PEP-8 and is consistently formattedfprettify
or C/C++ code withclang-format
as applicable