About multigrid methods
Hi all,
I'm working on a small NavierStokes 2D solver, and after several tests, it seems that it's not obvious to make a solver converge with conjugate gradients or biconjugate gradient methods, even using multigrid methods. It seems that most of the time, the correction computed by coarser mesh fails to improve convergence on fine mesh. Did someone have similar problems ? As I read somewhere, multigrid methods are quite "ad hoc", so I wonder where I could find some theory or practical tricks about multigrid methods. Thanks for any suggestions Lionel 
Re: About multigrid methods
Hi Lionel:
perhaps u can perform more cycles at the coarse grid levels, b4 prolongation is performed to the finest grid level? KC 
Re: About multigrid methods
Hi KC,
Actually, the number of cycles is adaptative. I make subcycles as far as it doesn't converge to a great precision. as soon as I have a good residual on a grid, I perform prolongation to the finer grid, and so on. But unfortunately, it doesn't improve convergence on finer grid level. 
Re: About multigrid methods
You must be doing wrong agglomoration. If you are merging more than 34 volumes to make coarser volume, the convergence could be hampered. Best way is to merge two volumes at a time, based on the coefficient. Chose the neghbour with largest coefficient and merge it with it. (this is the best tip for this).

Re: About multigrid methods
Ok, thank you for this advice. In fact I was merging serveral cells (4 most of the time in structured meshes) based on geometry, not on coefficients.

Re: About multigrid methods
The biggest problem in the way I asked you to merge is you have to generate agglomoration every time you iterate. I do not know how Fluent starCCM etc manage it, but it seems they generate on each iteration. (it seems with fluent).

Re: About multigrid methods
I don't really understand why. Because if I choose agglomeration in function of matrix coefficients (i.e. agglomerate elements having the biggest flux from each to other) the agglomeration won't change from one iteration to next.
... Or maybe do you mean at each time step (or nonlinear update of matrix coefficient) ? By the way, sometimes I wonder if Fluent updates the matrix coefficient at each linear (conjugate gradients or whatever) iteration or only from a "pseudotimestep" to next one. 
Re: About multigrid methods
I presume that the element of the coefficient matrix (say: pressure equation) will be changed in the initial phase of the solution. If the solution is approaching convergence, of course, it is hardly to note any changes in the coefficient matrix, and therefore agglomeration can be stopped.
The reason in altering the agglomeration configuration (based on largest neighbouring coefficient) is to ensure desirable convergence at each multigrid cycle, by considering the stiffness direction (anisotropy) of the matrix itself. When there is any changes in the coefficient matrix, the agglomeration algorithm should be activated again to form a new desirable 'coarse level' matrix, with the aim of promoting convergence. I presume that for a algebraic multigrid method, agglomeration is not an expensive process in fact, as compared to those required for a FAS cycle implemented in the Geometric Multigrid process, whereby agglomeration is done based on the 'Geometry' itself. khai ching 
Re: About multigrid methods
hi lionel...im facing the same problem.. presently im solving cavity flow problem using FAS(multigrid) with simple algorithm in finite volume method using colocated grids. can u give ur mail id . i will contact u..

Re: About multigrid methods
Ok: lionel.selosse_(AT)_econophone_(DOT)_ch
surely you have to replace the _(AT)_ and the _(DOT)_ , it's just to avoid automated spamming... 
Re: About multigrid methods
this is my id d.kumar@iitg.ernet.in

All times are GMT 4. The time now is 04:15. 