Fluid flow and solute transport modeling in porous media and conduit using Lattice Boltzmann methods (LBM ).
Code based on Lattice Boltzmann methods (LBM) is available for download.
1-D Gaussian hill. LBM simulation is verified with Analytical solution from CXTFIT.

Anisotropic Dispersion:
Here dispersivity in longitudinal direction is 1 and dispersivity in transverse direction is 0.5
with non-uniform velocity (Vx=0.01, Vy=0.005) in 200x100 domain. The dispersivity ratio is limited to 5 using Zhang et al.[8,9] model.
LBM simulation (red) of two dimensional contour map of anisotropic dispersion is verified with Analytical solution from CXTFIT (blue) using axis rotation.


Flow of solute in conduit, followed by flushing.
Black color represent solid particle and white color is pore space in domain (272x166) through which solute/water flows.
Solute and thermal induced buoyancy (Sukop and Thorne, 2006)
Groundwater is generally contaminated with some solute of relatively higher or lower density and it flows under varying temperature boundary and this solute contamination (eg: salt water contamination in coastal region) and temperature variation leads to change in fresh water density, which leads to buoyancy effect. depending upon the balance between effect of temperature and solute on fresh water density , fresh water could either rise or sink.
At every lattice node velocity is computed based upon thermal buoyancy (
)
and solute buoyancy (
) , this induces buoyancy
effect due to solute and thermal effect.
Following are two simulations showing buoyancy effect due to solute (Red) and Temperature (Green) alone. The simulation started with a bubble(radii 3-lu ) of solute and temperature (relatively high) in the centre of a 32lu x 32lu domain with a fresh water of density 1.0 mu/lu3 filled in the domain. solute has increased the density of freshwater and thus its sinking whereas relatively high temperature makes the fresh water lighter and hence it will rise towards the top boundary.

References:
Bhatnagar, P., E.P. Gross., and M.K. Krook. 1954. A model for collision processes in gases: I. small amplitude processes in charged and neutral one-component system. Phys. Rev. 94:511-525.
Chen, S., and G.D. Doolen. 1998. Lattice Boltzmann method for fluid flows. Annu. Rev. Fluid. Mech. 30:329-364.
J. Simunek, M.Th. van Genuchten, M. Sejna, N. Toride, and F. J. Leij . 2000. CXTFIT 2.0, 3DADE.
Michael C. Sukop, Daniel T. Jr Thorne 2006. Lattice Boltzmann Modeling : An Introduction for Geoscientists and Engineers. Springer. Berlin.
O. Dardis, J. McCloskey, Lattice Boltzmann with real numbered solid density for the simulations of flow in porous media, Phys. Rev. E 57 (1998) 4834-4837.
O. Dardis, J. McCloskey, Permeability porosity relationships from numerical simulations of fluid flow, Geophys.Res. Lett. 25 (1998) 1471-1474.
Wolf-Gladrow, D. A. 2000. Lattice gas cellular automata and lattice Boltzmann models: an introduction. Lecture notes in Mathematics. Springer. Berlin.
Zhang X.; Bengough A.G.; Crawford J.W.; Young I.M. A lattice BGK model for advection and anisotropic dispersion equation. Advances in water Resources, Volume 25. (2002) 1-8.
Zhang X.; Crawford J.W.; Glyn Bengough A.; Young I.M. On boundary conditions in the lattice Boltzmann model for advection and anisotropic dispersion equation. Advances in Water Resources, Volume 25. (2002) 601-609.
Zhou Y, Zhang R, Staroselsky I, Chen H (2004) Numerical simulation of laminar and turbulent buoyancy-driven flows using a lattice Boltzmann based algo-rithm. Int J Heat Mass Tran 47:4869-4879
Zou Q, He X (1997) On pressure and velocity boundary conditions for the lattice Boltzmann BGK model. Phys Fluids 9:1591-1598