<< mixing

mixing immiscible fluids
nature of mathematical modeling | final project.
ben fry


This applet simulates the action of two fluids of different densities. Ideally, these fluids are immiscible, like oil and water. In the simulation, the denser fluid starts on top, and slowly the two fluids change places. This phenomenon is known as a Rayleigh-Taylor instability. (As an aside, two 'miscible' fluids would simply diffuse into one another, in the manner of milk being poured into coffee.)

To do this, I used a lattice gas cellular automata. Neil's book discusses both FHP and HPP lattice gases, so I won't re-describe these here. In this case, I used FHP. In particular, I used FHP-III, which is a variant of FHP-I which is described in the book.

FHP-III distinguishes itself by having 14 states, and several additional collision rules than those of FHP-I described in the book. The states include the original 6 states as used by FHP-I, plus a seventh, which is simply a particle at rest (but with stored momentum, to ensure conservation of momentum). There are two sets of these seven, to account for the two fluids.

FHP-III is by default a miscible model, so there are a number of methods that exist to simulate immiscibility. I chose a pseudo-immiscible model that 'fakes' it. The details of this method can be found in the third reference listed at the bottom of the page. The basic idea is that any time a single particle of one fluid is at a site with two or more particles of the other fluid, that single particle has a chance of instantaneously turning into the same fluid as the others. The likelihood of this event is set by a constant. This is done the same way for the opposite fluid, so things stay more or less even.

Once the pseudo-immiscible part is working, gravity is simulated by flipping the directions of a few particles at each time step to simulate the force of gravity. More specifically, a small portion particles from each fluid are changed from a rest state and put in motion in the direction of (or against) gravity.

I researched many references for this particular project, I've listed several of the most useful ones.

1. U. Frisch, B. Hasslacher, Y. Pomeau, "Lattice-Gas Automata for the Navier-Stokes Equation" Physical Review Letters, Volume 56, Number 14 (April 1986) 1505.
This is the paper that started it all, though I didn't find it to provide much that wasn't covered in the NMM book.

2. D. d'Humieres, P. Lallemand, "Numerical Simulations of Hydrodynamics with Lattice Gas Automata in Two Dimensions" Complex Systems I, (1987) 599-632.
This piece was extremely useful at going over the details of the method as well as more specific implementation details. There are also other useful tidbits in the same volume.

3. H. Cabannes, "Mechanics of Fluids" C. R. Acad. Sc. Paris, t. 303, Series II, No. 13 (1986) 1169.
Describes the method I wound up using. This article is in French.

4. H. Cabannes, "Hydrodynamics of Lattice Gases" Computational Fluid Dynamics, (1988) 3.
Very broad, brief description of the method used above, as well as more implementation details. This one is written in English.

5. D. Rothman, S. Zaleski, "Lattice-Gas Cellular Automata" Cambridge University Press (1997)
An interesting and useful book. Also describes a fully immiscible model that I worked with as an alternate implementation, with varying degrees of success.

6. A. Gunstensen, D. Rothman, "A Galilean-Invariant Immiscible Lattice-Gas" Physica D 47 (1991) 53-63.
I exchanged a little bit of mail with Daniel Rothman, and he was kind enough to point me in the direction of this article, which describes a Rayleigh-Taylor simulation using an immiscible lattice gas (described in his book above as well as other papers). Given the chance, I would spend more time pursuing this model, however the cutoff had to come somewhere.