Next: Creating isotropic 3-D Up: Computing material properties Previous: Non-wetting fluid injection


Cellular automaton fluid methods

Two additional computational fluid dynamics algorithms, originally based on cellular automaton ideas, which are alternative to the direct finite difference solution of the Stokes' equation, are the lattice gas [82] and lattice Boltzmann methods [83,84], as applied to porous materials. These methods, in contrast to the finite difference and finite element methods, do not directly discretize the continuum Navier-Stokes equations but rather operate at the "fluid particle" level.

The lattice gas method tracks the motion of particles moving on a lattice that are subject to collison rules that guarantee conservation of mass and momentum. Macroscopic variables like density and flow velocity are obtained from statistical analysis of the particle motions.

In contrast, the lattice Boltzmann method solves for the time evolution of the fluid particle velocity distribution function, which evolves due to the "collision" of fluid particles. Quantities like fluid density and velocity can be easily obtained from moments of the distribution function. The method can be applied to any digital image of a porous material, and the resulting fluid behavior proves to satisfy the Navier-Stokes equations. Due to ease of implementation, the lattice Boltzmann method is much more frequently used than the lattice gas method.

For a given digital image and the simple problem of saturated single fluid flow driven by a small pressure gradient, it may be easier to use the finite difference code for the Stokes equations. However, the lattice Boltzmann method is much more useful in treating multi-phase flow problems because interfacial forces between liquid, gas, and solid phases can be more easily incorporated. Thus flow and wetting properties in partially-saturated porous materials can be obtained in 2-D or 3-D [83,84].

One example is shown in Fig. 12, which depicts a 3-D computation of the phase separation of two immiscible fluids inside a model porous material. One fluid (red) wets the solid (white), and one does not (blue). The simulation starts with the fluids homogeneously mixed and present everywhere in the pore space. The lattice Boltzmann algorithm causes the two fluids to phase separate with the wetting fluid preferentially moving to the solid surface.

Figure 12: 3-D lattice Boltzmann simulation of the phase separation of two immiscible fluids in a porous material, where one fluid wets the solid phase (solid = white, red = wetting fluid) and the other does not (blue = non-wetting fluid).


Next: Creating isotropic 3-D Up: Computing material properties Previous: Non-wetting fluid injection