3D and 2D Lattice Boltzmann Calculations of Dispersion and Reaction

Harlan W. Stockman,  Dept. 6118, Sandia National Laboratories

Co-conspirators: J.T. Fredrich and R.M. O'Connor, Sandia Dept. 6117;  D. Noble, Sandia Dept. 9111; R.J. Glass, Sandia Dept. 6115, and S.R. Brown, New England Research

Here we present examples of dispersion and reaction calculations via the BGK lattice Boltzmann method.  All the simulations were run on 200 MHz Pentium Pro and 300 MHz PII PCs, using the JB* and dQ codes.   Rory O'Connor is developing an 8 PPro network for running larger simulations, and versions of the codes have been run on alpha 21164a, SGI R10k and i860 systems.  This site is under constant construction; for example, we are developing methods to simulate heat and gas flow in microprocessor backplanes cooled by forced convection, at Reynolds and Peclet numbers near 4000, and will add those results as they become available.

Note some of the MPEGs are rather large (3 MB), while others are more modest (0.1 MB).  If you have a slow internet connection, think twice before downloading the larger MPEGs.  You may use either InterVU or vmpeg to play mpegs under Windows.  If you do not have an mpeg player: two of our "popular" movies are available here as animated gifs: dendrite growth  and  thunderbird (you may have click on the gifs repeatedly to play them).

If you have trouble accessing this site (slow MPEG loading), there is a mirror site here.

If you would like more background on the lattice Boltzmann method, look here; or check the mirror site.

CONTENTS                                   QUICK MPEG (MOVIE) ACCESS 
2D Porous, High Pe (Thunderbird)
Dissolution and Precipitation (Dendrites)
Vectors for 3D LB
3D Miscible Rayleigh-Taylor Instability
3D Fracture Dispersion, Fractally Rough
3D Porous "Sandstone"
3D Permeability Test
Mixing at Rough Fracture Junctions
BIG Porous Medium: NEW Method
Acknowledgments
ThunderBird Dispersion (1018 KB, short version)
Thunderbird Dispersion (3097 KB, full length)
Dendrite Growth (643 KB)
Dissolving Ghosts, High Re & Pe (2166 KB)
Rayleigh-Taylor (589 KB)
Fracture Dispersion, Small (95 KB)
Fracture Dispersion, Medium (364 KB)
"Sandstone" Dispersion (838 KB)
2D Porous Medium at High Peclet #.  This 2D calculation employs a "porous medium" on the right side; the solid particles are denoted by white octagons, and the initial carrier fluid is red.  After the flow field equilibrates, a slug of blue tracer, shaped like a Sandia Labs thunderbird, is dropped into the flow field.  The high Peclet number (~800, relative to average solid spacing) causes stringers of solute to remain in the wakes of the solid particles.  The simulation used 660x240 nodes, and took ~30 minutes for 16000 steps on a 200 MHz Pentium Pro PC.  For a larger image, click the thumbnail at left.
2D Thunderbird dispersion (short version, 1018 KB)

2D Thunderbird dispersion (full version, 3097 KB)

This MPEG movie follows the thunderbird calculation through 16000 steps.


Transition State Dissolution and Precipitation.  Solids in an LB simulation can be made to react with the bulk fluid and each other, so they dissolve and precipitate by transition state theory (TST) rate laws.  At left, the ghosts and pacmen represent isomorphs; i.e. both solids have the same chemical composition, but the ghosts are more soluble than the pacmen (e.g., like aragonite/calcite, or anhydrite/gypsum).  The solute concentration in the initial fluid (red) is intemediate between the solubilities of the two phase.  As fresh fluid is injected on the left, the ghosts dissolve; the high fluid speed strips away the boundary layer around the ghosts, so the leading edges ablate rapidly.  The solute reprecipitates on the snouts of the pacmen; because the flow is fast, the "dendrites" on the pacmen lift the boundary layer, making the ends of the dendrites the most likely sites for further precipitation. For a larger image, click the thumbnail at left.
Dendrite Growth on Pacmen (643 KB) This MPEG movie follows the simulation above. The Peclet number is ~100.
Ghost Dissolution, High Pe (2166 KB) This MPEG follows a simulation at higher Peclet and Reynolds numbers (~1000). Consequently, unstable vortices form in the wakes of the dissolving ghosts. Pacmen-shaped slugs of solute are introduced at 2 times; one becomes trapped in a vortex on the left side.


Click above for a larger image.

Vectors for 3D LB Calculations

At left:  the 19 vectors used for the carrier fluid in the D3Q19 model.

1 “rest particle” (0,0,0) with weight 1/3;

6 along cartesian axes with weight 1/18;

12 = 4x3 diagonals in the x-y, x-z and y-z planes, with weight 1/36

Some Tricks: High vector numbers (14 to 19) are needed only for Navier-Stokes fluids.  For solutes, 6 cartesian vectors are enough; one can arrange memory structure so only 2 of 6 vectors are actually translated in memory.  After the flow field equilibrates, the memory used for the carrier fluid can be reclaimed to increase the size of the simulation.


Miscible Rayleigh-Taylor Instability.  The blue fluid is denser.  Two sites at the blue-red interface are perturbed, causing the fluids to overturn in mushroom-shaped patterns.  The timestep is given below each frame. This calculation used128x64x64 nodes, and 14 hours on a Pentium Pro PC.

This calculation pushes the limits of the technique; some of the fingers move at a significant fraction of the numerical speed of sound, and non-physical compression waves form on the leading edges.

Click the thumbnail for a larger image.

3D Rayleigh-Taylor Instability (589 KB) The slight up-and-down oscillation, visible in the MPEG, occurs because the fluid is numerically compressible, even though we are modeling incompressible flow.  When the calculation commences, the buoyancy forces suddenly placed on the system are analogous to a brick placed suddenly on a spring.


A Fractally Rough Surface.  The contours correspond to the number of standard deviations below and above the x-z plane. This surface was replicated three times in the simulation below, and used to delimit the top and bottom walls of a rough "fracture".  Click on the thumbnail for a larger image.
Dispersion through a Rough Fracture.  The surface above was used to create a rough-walled channel.  After left-to-right flow was established in the red carrier fluid, a slug of blue solute was injected at left (the solute consists of a bar and the obscure word "HARLAN").  The step number is given in the upper right corner of each frame.  The top of each frame is a "cut" midway between the fracture surfaces (parallel to the x-z plane), and the bottom of each frame is a cut perpendicular to the bounding surfaces (x-y plane).  The roughness traps the solute near the walls, greatly enhancing dispersion relative to a smooth-walled fracture.
3D Fracture Dispersion (Small, 95KB) This smaller MPEG is appropriate for slow-speed internet connections.
3D Fracture Dispersion (Large/Cloned, 364KB) This calculation used 1.77 million sites, and cloned the fractal geometry 3 times to save memory space; it took ~1.4 hours on a Pentium Pro PC.


Dispersion in a 3D "Sandstone".   The sandstone was created from face-centered cubic closest-packed spheres, with the radii and (x,y,z) positions randomly perturbed by 10%.  A red carrier fluid is allowed to reach an equilibrium velocity distribution, then a blue tracer is injected in the back left face.  The slight randomness of the geometry causes inhomogenous flow fields that cause channeling and enhance dispersion.  See the example of a flow in a BIGGER porous medium, below.
3D "Sandstone" (838 KB) This MPEG show how some fingers of tracer course ahead of others, due to flow-field inhomogeneities.  Relative to the grain size, the Peclet # is ~100.  For this 72x72x108 site calculation, flow equilibration was achieved in a few minutes of calculation.
Vector Flow Fields in the "Sandstone".  The two vertical slices (at left and below left) were taken parallel to the left face of the prism shown above.  In a perfect, cubic closest-packed solid, these two slices would be equivalent; however, the slight variations in sphere position and radii induce extreme variations in the flow fields.  The flow variations, in turn, enhance dispersion at all scales, dependent on the Peclet number.  The larger vectors (higher flow speed) are warmer colors like red and orange, and the shorter vectors (lower flow speed) are cooler colors like black and dark purple.

Click on the thumbnail at left for a larger image.

Click on the thumbnail at left for a larger image.


Quantitative Permeability Test: Simple Cubic Packing of Spheres.  At left is a potion of the test geometry-- spheres in a simple cubic packing.  The drag coefficients for Stokesian flow through this geometry were calculated by Zick and Homsy (1982, J. Fluid Mech. 115, 13-26); permeabilities are easily extracted from the drag coefficients.  Subsequent permeability calculations typically agreed with the Zick & Homsy data to within a percent.  Click any image at left for a larger version.
Results of Lattice Boltzmann Calculations.  At left is a comparison of the LB calculations with the Zick and Homsy results, as a function of the size X of the LB cell; the sphere radius R = 0.5X.  For spheres with radii above ~12 LB pixels, the agreement is quite good. When R is only 6 pixels, the permeability is about 17% high; given the errors in permeability measurements in real samples, this is not a very bad disagreement.  One source of the error is discussed below.
Pixelation Error for Small Radii.  The source of the error can be understood from this figure, which depicts an inlet channel on the face of the cubic array.  The ideal geometry of the inlet channel is given in red, and a black outline shows the actual pixelation used for the LB calculation.  The LB calculation focusses more of the flow in the central region, and eliminates the thin, slow-moving regions where the spheres nearly touch.


Click above for a larger image.

Mixing at "Rough" Fracture Junctions.  Each row represents a different 3D fracture geometry, and time increases from left to right (the rightmost frame represents equilibrium).  Blue fluid enters at left, and red fluid at the bottom; both streams have ~the same inflow rate.  Both intersections are defined by the same Peclet number (U*W)/(1.4142*Dm) ~ 45, where W is the fracture width, U is the average flow speed, and Dm is the molecular diffusion coefficient (for a more detailed discussion, look here).

For row A, about 20% of the blue solute exits through the right side, and 80% through the top; for row B, only 10% exits through the right.  The difference is mainly due to: (1) formation of a fast-flowing channel in the center of A's horizontal fracture; and (2) a wider mixing region along the diagonal, due to chance misalignment of the fractures.


Click above for larger image.

A New, Fast, Efficient Lattice Boltzmann Method for “Slow” Flow (Re <100) in Porous Media.  The white represents solids, and color indicates the fluid speed in the interstices, from black (no flow), through blue (low speed), through green (medium speed), to red (highest speed).  

The new method uses 1/7 the memory of conventional LB, independent of the solids fraction, and achieved 1 million site updates/second on a single Pentium II 300 MHz PC.  The calculation used 400x400x100 = 16 million sites.  The method is still based on a 19-vector lattice, but the vectors are not explicit.

The synthetic solid was generated from a face-centered cubic array (close-packed).  The sphere positions, radii and eccentricities were randomized slightly.  The bulk flow direction is from the back left face (hidden), out through the front right face.


Acknowledgments

This work was supported in part by the Department of Energy Basic Energy Sciences Program, and the Sandia National Laboratories LDRD Program.

*The JB code is named after Jean Bureau (soldat du génie, Bataille de Castillon, 1453), whose philosophy (and approach to solving problems) supplied much of the inspiration for recent code improvements.


Contact: Henry Westrich
Back to top of page || Questions and Comments || Acknowledgment and Disclaimer