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.
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) | 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. |
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. |
|
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. |
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. |
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.