adflow icon indicating copy to clipboard operation
adflow copied to clipboard

test and debug the agglomerated multigrid preconditioner

Open anilyil opened this issue 4 years ago • 3 comments

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 avatar Jun 03 '20 18:06 anilyil

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

joanibal avatar Jun 11 '20 16:06 joanibal

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 avatar Jun 11 '20 16:06 anilyil

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

anilyil avatar Jun 11 '20 18:06 anilyil