Best way to simulate turbulence?
What is the best way to simulate air turbulence? I made a program some years ago in VB (really slow, so I converted myself to C++ and SDL). It used a 2-dimensional matrix to represent a plane. Each element represented a square in the plane and had three properties: Density (actually I had two densities, cause there was two differen kind of gases, so there was really four properties), x velocity and y velocity. From the density I calculated a pressure, which gave a force when multiplying it with the side length of the squares (ok I know I have to multiply a pressure with an area to get a force, but let's just say I had divided everything by the height of the squares. Since they really didn't got any height). Each square had a fix position, it was only the gases inside the squares which moved around between the different squares. In this way I could simulate blast waves quite good.
I have already started to make a new such program in C++, using SDL. But I wonder, is there some better way of doing this? There maybe is a better representation form than just a matrix?
And then if you instead of air want to simulate turbulence in an uncompressible fluid, like water, how do you do that? You can't have the density property anymore, since water is uncompressible and hence can't change density, or can you? Or can you replace that property with some other property, or is it possible to do the simulation completely without the property?