CFD Online Discussion Forums

CFD Online Discussion Forums (
-   Siemens (
-   -   AMG method? (

HADD September 14, 2005 10:44

AMG method?

I can't find any information about method using for AMG technique. I mean, is it Gauss-Seidel method or CG or something else? As i understand, AMG is general technique of solving system of linear equation, but it should includes methods mentioned above. If my opinion is wrong, please correct me

Thanks in advance

staruser September 14, 2005 17:42

Re: AMG method?
AMG means algebraic multi grid. It's a method to solve equations systems effectively. You solve your equation system on different meshes (fin -> coarse). Since you have different frequency of errors on differ mesh density, you can solve low frequency errors on coarse grids more efficently. Mayby you should have a look at the theory behind it. Look for litterature by Achi Brandt and Hackbusch. It normally needs a "pre conditioner" e.g. CG (used in STAR-CD). If you can solve your equation system farily good after only a few CG iterations, it would be too expensive to start a AMG process, hence in STAR-CD AMG is only applied for the pressure equation which normally needs a lot of itersations. And yes, it is different from Gauss Seidel or CG.

HADD September 15, 2005 13:10

Re: AMG method?
Thank you very much for your detailed answer!

Could you, please, answer some more questions

1. You wrote: "You solve your equation system on different meshes (fin -> coarse)"

But what the method is used for solving the system of linear equation on, for example, coarse grid in STAR-CD? Is it any of iterative methods or direct?

2. Could you give any link for Achi Brandt and Hackbusch books?

Thanks in advance

staruser September 15, 2005 15:43

Re: AMG method?
1) It's allways an iterative method. Direct methods would need too much memory. The coarser meshes are virtual and are created authomatically by STAR-CD, hence you need to allocate more memory during the solver process. You can observe this in v3.15a, where the approximate memory usage is give after "starlink -x..."; during the run, more memory will be allocated.

2) and (e.g.) Hackbush, W., Multi-Grid Methods and Applications, Springer-Verlag, Berlin(1985). Look for "Hackbush multi" at google.

zxaar September 15, 2005 18:01

Re: AMG method?
imagine that you take some neighbouring cells and join them and make one single volume. So this way you can create coarser control volume(u get a coarse mesh). Now you can again merge these coarse volumes and create another coarser mesh. You can do it and create some coarser meshes, say 4-5 meshes.

A typical multigrid cycle starts at a finest level. The fine level solution is then transferred to next coarser level, this is called restriction. After some relaxation cycles this coarse level the solution is then restricted to next coarser level until the coarsest level is reached. The solution obtained at the coarsest level is than interpolated back to finer level, this step is called prolongation. The solution from this finer level is interpolated to next finer level after some relaxation iterations, called post multigrid sweeps. The solution is prorogated till the finest level is reached. The whole process is repeated until satisfactory convergence is reached.

HADD September 16, 2005 11:19

Re: AMG method?
Thanks a lot for yours explanations! its help me very much!

But I don't understand, what concrete iterative method is used in AMG algorithm ( within STAR-CD) ?

For example, in FLUENT documentation I read: " FLUENT solves this linear system using a point implicit (Gauss-Seidel) linear equation solver in conjunction with an algebraic multigrid (AMG) method"

zxaar September 16, 2005 16:23

Re: AMG method?
i can not speak of starCD, but starCCM+ also uses gauss-seidel, that it, at each level you solve by gauss-seidel solver. Its easy to use with unstructured grids. Fluent also gives an option of using BiCGStab.

staruser September 20, 2005 17:14

Re: AMG method?
STAR-CD uses CG (conjugate gradient) for pre-conditioning.

zxaar September 20, 2005 22:08

Re: AMG method?
conjugate gradient are for symmetric metrices, that is for pressure correction equation, this preconditioner is valid, what does it do for other scalars, does it use biCGStab, or anyother similar method?????

Hubert Janocha September 21, 2005 09:56

Re: AMG method?
Multigrid is a accelleration scheme / procedure for a wide range of quit normal matrix solvers, first of all Gauss Seidel Relaxation. This normal matrix solver is called in multigrid a "smoother".

"Numerical Recipes" gives a good and relativly short explanation (and example fortran and c sources) of what is multigrid. To explain it here even roughly is not possible. If you can understand german language I can give you a documantation, which very easy to understand. But you don't realy need this to know.

What you should know about multigird is:

- only reasonable for steady state problems.

- in 2D solver acceleration of possibly 100 times (depends on the mesh size)

- in 3D acceleration of about 5 to 10 times in optimal configuration and for very big meshes. In StarCD perhaps only 1.5 times (about 1 mill. cells, with good luck). Again this depends strongly on the mesh size.

- has some stability advantage for compressible flows.

- nearly linear convergence behaviour, so it is almost independend of the mesh size (dependent on the smoother). Therefore it becomes more and more advantagous for bigger and bigger meshes.

In the past it was good to overcome weak CPU-performance, but in the future it will be necessary to get convergence at all on extremly big meshes, because every solver becomes weak for a certain mesh size. E.g. the limitation of Gauss Seidel is about 2 mio cells. The solution progress is so small that the values of the cells react mainly only to the changes of the neihgbour cell.

Milovan Peric and Muzaferia are experts in applied Multigrid.

All times are GMT -4. The time now is 08:49.