|
[Sponsors] |
February 20, 2022, 03:02 |
Need GAMG guide
|
#1 |
Member
ff
Join Date: Feb 2010
Posts: 81
Rep Power: 16 |
Hello All Foamers and Experts,
I am developing some stuff and found some potential issue in GAMG. So I need to know details about GAMG solver, how it is working and how the code implemented in OpenFOAM. Can anyone provide me a document or somewhere I can find a detailed guide for GAMG solver? Thanks very much. Cheers, |
|
February 20, 2022, 03:45 |
|
#2 |
Senior Member
|
GAMG is the Generalized Geometric-Algebraic MultiGrid solver in OpenFoam.
GAMG consists of two phases: a set-up phase and a solve-phase. In the set-up phase GAMG constructs a set of coarser meshes, the corresponding linear systems on these meshes, and the intergrid transfer operators. GAMG employs MGridGen http://glaros.dtc.umn.edu/gkhome/mgridgen/overview to do so. In the solve phase, GAMG performs multigrid cycling via matrix-vector operations. Details are (most obviously) in the source code. More precisely, here, https://github.com/OpenFOAM/OpenFOAM...x/solvers/GAMG . What exactly are you looking for? |
|
February 20, 2022, 23:36 |
|
#3 | |
Member
ff
Join Date: Feb 2010
Posts: 81
Rep Power: 16 |
Quote:
Thanks very much for your reply. This is exactly what I am looking for. I just wonder if anywhere has a bit details of how GAMG setup coarse grid set. I may need to play this a bit. Thanks very much. Cheers, |
||
February 21, 2022, 04:15 |
|
#4 |
Senior Member
Michael Alletto
Join Date: Jun 2018
Location: Bremen
Posts: 616
Rep Power: 16 |
Do you know this book https://www.springerprofessional.de/...d-ufvm/2406636
There is also a chapter about gamg inside. You may find it useful Best Michael |
|
February 21, 2022, 07:51 |
|
#5 |
Senior Member
|
Thank you both for your further elaboration.
The GAMG set-up phase is performed by MGridgen. Details on how agglomeration is performed might thus well depend on parameters by which MGridGen is called. I have not yet been able to identify where in the source code MGridGen is called. Nor am I aware what parameters mean. Possibly this https://github.com/OpenFOAM/OpenFOAM...GAgglomerate.C is a starting point. Literature on MGridGen should explain the meaning of the parameters. Details might also depend on what parameters OpenFoam allows to modify. This might be OpenFoam version dependent. It is clear that GAMG allows to limit the number of coarsest level point as a means via nCellsCoarsestLevel to control the number of number of levels. The Darwish and Moukalled book (that Michael refers to) has Listing 10.11 on page 357 with the parameter agglomerator. This parameter is however not (or no longer) available in version-2012, see https://www.openfoam.com/documentati...grid-gamg.html So I have no idea what is does. I am happy to learn more on this topic. |
|
February 21, 2022, 19:53 |
|
#6 | |
Member
ff
Join Date: Feb 2010
Posts: 81
Rep Power: 16 |
Quote:
|
||
February 21, 2022, 19:57 |
|
#7 | |
Member
ff
Join Date: Feb 2010
Posts: 81
Rep Power: 16 |
Quote:
Thanks very much for your kind reply. This is very helpful. So it seems more complicated than I expected. I will start looking in the code and the book Michael refers. See if I can make any progress. Thanks for both help. Cheers. |
||
February 28, 2022, 08:59 |
|
#9 |
Senior Member
|
Any luck?
A master student just managed to run both Ruge/Stueben and smoothed aggregation that Julia (julialang.org) provides. Can you dump your matrix to file and read it into Julia? Would this be valuable? Cheers, Domenico. |
|
|
|
Similar Threads | ||||
Thread | Thread Starter | Forum | Replies | Last Post |
Suppress twoPhaseEulerFoam energy | AlmostSurelyRob | OpenFOAM Running, Solving & CFD | 33 | September 25, 2018 17:45 |
chtMultiRegionSimpleFoam turbulent case | Aditya Patil | OpenFOAM Running, Solving & CFD | 6 | April 24, 2017 22:13 |
Wrong fluctuation of pressure in transient simulation | caitao | OpenFOAM Running, Solving & CFD | 2 | March 5, 2015 21:33 |
pimpleFoam: turbulence->correct(); is not executed when using residualControl | hfs | OpenFOAM Running, Solving & CFD | 3 | October 29, 2013 08:35 |
Differences between serial and parallel runs | carsten | OpenFOAM Bugs | 11 | September 12, 2008 11:16 |