GAMG hexa vs. tetrahedron meshes
Hello Foamers!
Has anybody experience to set up GAMG for hexa or tetraeder? On tet, Do I have to increase, for instance, smoother iteration or merge levels? Cheers in advance |
Hi Claus,
in my opinion it doesn't matter for GAMG if you are using hexas or tetras. A good choice of settings for my projects is: Code:
solvers - nPreSweeps must be 0 for other equation systems than pressure - to use the minIter option you must patch GAMG sources in most OpenFOAM versions - cacheAgglomeration must be switched off when using dynamic mesh refinement Playing with the options don't give remarkable speedup for my problems. Martin |
Thanks MartinB, the informations are valueable for me! However, there is one question concernins the option nCellsInCorseLeve: Why the sqrt of the cells? Have you an paper or something like that?
Cheers |
Hi Claus,
I found the hint for sqrt(#cells) in the forum some time ago and made a note in my fvSolution template without paying too much attention to it... This might be an interesting thread (especially the links to the PDFs), if you want to use some variants of AMG: http://www.cfd-online.com/Forums/ope...41dev-svn.html However it could be some work to integrate these solvers and preconditioners in the newer OpenFOAM versions. Martin |
Do you probaly mean: If I have n processors then I have to take (total no. cells)^(1/n)?
|
I mean: sqrt(1000000) = 1000
But: I never tested it in more detail... my value of 500 was fine, changing it had no big influence on my computation speed. You can test it out: start your simulation, change the value after a few iterations and check the new iteration times. Then make another change and check again... Many other posts in the forum prefer values of 10 to 30 for nCellsInCoarsestLevel... http://www.cfd-online.com/OpenFOAM_D...tml?1162930507 Martin |
FYI: For future reference, the link on the previous post is for the following thread in the new forum format: http://www.cfd-online.com/Forums/ope...rsus-iccg.html
|
Hi,
Thank you for your assistance. I am wondering: where do these values stem from? Specifically, why does nPreSweeps need to be 1 for pd? -Mimi |
Quick answer: I can never remember off-hand which equations have a symmetric A matrix and which ones have an asymmetric A matrix... but the "nPreSweeps" has to be set to 1 probably because the "pd" (pressure) equation is the opposite type of symmetry from the other equations.
|
Thanks for responding. I have an easier simpler question. What encompasses one iteration? In the log file, I'll get something like "GAMG: Solving for pd, Initial residual = 3.833447548e-13, Final residual = 3.908110229e-15, No Iterations 2."
What are the two iterations? Is that one V cycle? multiple V cycles? I can't seem to find a good answer anywhere. -Mimi |
Quick answer: I don't know what a V-cycle technically is, but the number of iterations is how many iterations it does to try and solve the "A*x=b" equation.
It (usually) does not include how many intermediate passes it does within the matrix solver, e.g. pre/post-sweeps are not accounted by the number of iterations. In foam-extend, you can find:
|
Thanks for your help! So it looks like one iteration IS one V-cycle. The V Cycle goes from fine to coarse and then fine again.
|
All times are GMT -4. The time now is 06:04. |