Multigrid for finite differences
Hy,
Does anybody implement multigrid for finite difference methods? I am trying to do so in a NavierStokes explicit algorithm for aorspace applications. However, IT DOES NOT WORK! The solution I get is wrong, for a recirculation builds at the nose of the vehicle, which is wrong! I just don't know what is wrong. I've already checked the code for errors. I also tested it for a onegrid solution and it works fine. Could it it have something to do with the restriction/prolongation methods. Any help would be very very welcome. Thanks in advance, Bigarelli 
Re: Multigrid for finite differences
I once wrote a multigrid algorithm for an elliptic grid generator (FD) and had a similar problem. There are certain terms that you have to create (and add into the overall equation  in your case NS) when you transfer the computation onto the coarser grids. Check those terms, and how you derived them. I think your error lies there.

Re: Multigrid for finite differences
Thank you for your answer. Sorry, I didn't get what are those terms I should check. I mean, are them the corrections I restrict to coarser grids or are them physical terms that should be reconsidered for a multigrid operation?

Re: Multigrid for finite differences
Yes, those are the correction terms. I answered a question on "Elliptic meshing generation" a bit further down in the thread (please read). When solving Laplace's equation, using multigrid, those correction terms are referred to as 'source' terms, because they act like a source of energy or heat. The source terms make all grids (fine, intermediate, coarse) converge on the same solution. Without them it would be the same as running the problem on three grids independently (three as an example), which would never achieve convergence. Those source terms were a bit difficult to derive even for Laplace's equation (I only had one reference on the multigrid method at the time). I can only imagine what they would look like for a NS multigrid solver. Since your NS solver is working on the fine grid, I would assume that it is those correction terms which cause you problems.

Re: Multigrid for finite differences
One important thing to check is whether your prolongation operator is transpose of your relaxation operators, i.e., if you relax a field from coarse mesh to fine mesh and then prolong the resulting field on the fine mesh back to the coarse mesh, you should end up with what you had initially.

All times are GMT 4. The time now is 13:47. 