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

test and debug the agglomerated multigrid preconditioner #49

Closed
anilyil opened this issue Jun 3, 2020 · 3 comments · Fixed by #305
Closed

test and debug the agglomerated multigrid preconditioner #49

anilyil opened this issue Jun 3, 2020 · 3 comments · Fixed by #305
Assignees
Labels
enhancement New feature or request

Comments

@anilyil
Copy link
Contributor

anilyil commented Jun 3, 2020

Type of issue

  • Bugfix (non-breaking change which fixes an issue)
  • New feature (non-breaking change which adds functionality)

Description

The agglomerated multigrid (AGMG) preconditioner was added to ADflow a while back but never got tested extensively. This functionality should be tested and debugged so that we can use it regularly, as it possibly provides better scaling.

@anilyil anilyil self-assigned this Jun 3, 2020
@anilyil anilyil mentioned this issue Jun 4, 2020
1 task
@anilyil anilyil added the enhancement New feature or request label Jun 5, 2020
@joanibal
Copy link
Collaborator

I'm down to tackle this with you.
Are there any particular papers I should read to understand this?

@joanibal joanibal self-assigned this Jun 11, 2020
@anilyil
Copy link
Contributor Author

anilyil commented Jun 11, 2020

Thanks @joanibal, I think @Xiaosong2105 is also interested. I think all 3 of us should take a look at this and try to even improve it. Here is a brief summary of the situation:

Before we did ANK+NK, we were doing multigrid with RK or DADI to converge. Once ANK and NK got robust enough, we switched to these. As a result, the main computational cost is linear solver cost. we use ILU preconditioning, so cost scales like n log n. If we can get a proper AGMG preconditioning working for the linear solvers, we can get closer to linear scaling! I did not test this, but has the potential to change the scaling directly, so the speedups will be larger as we increase cell count.

What we need to do to get it working is:
figure out what each AGMG option does, check how it works. debug. Document behavior with multiblock and overset cases, and finally, figure out when it is actually faster than no AMG.

I have read a few good resources on this in the past. I will try to dig those up and post them here. I doubt we need to understand the theory details now just to debug it. I believe the main machinery is in place. I think debugging all the use cases will be the main work here.

@anilyil anilyil changed the title test and debug the algebraic multigrid preconditioner test and debug the agglomerated multigrid preconditioner Jun 11, 2020
@anilyil
Copy link
Contributor Author

anilyil commented Jun 11, 2020

I was confused, this is not an "algebraic multigrid" its an "agglomerated multigrid", hence the acronym AGMG. Algebraic Multigrid (AMG) is purely a mathematical approach applied on linear systems, where with AGMG, we actually need to create coarser levels of the grid. Here are some resources for this:

https://fun3d.larc.nasa.gov/papers/ASM_2013_multigrid_jlt.pdf
https://www.ams.org/publications/books/monographs/B0-8218-0988-1-03002-8.pdf
https://ntrs.nasa.gov/archive/nasa/casi.ntrs.nasa.gov/20100025598.pdf

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

Successfully merging a pull request may close this issue.

3 participants