Last modified 4 months ago Last modified on 12/19/13 09:28:09

Welcome to the (very much work-in-progress) Taxila LBM website.

Taxila LBM is a parallel implementation of the Lattice Boltzmann Method for simulation of flow in porous and geometrically complex media.


The implementation:

  • solves both single and multi-phase systems.
  • is capable of solving D2Q9, D3Q19, and other mesh dependencies, on 2D or 3D grids. It is easily extended to other models of connectivity.
  • is based upon the Shan and Chen Lattice Boltzmann Method (with many advances).
  • handles multi-phase systems with different phase viscosities and/or molecular masses.
  • includes the ability to use (or not use) higher order derivatives or multiple relaxation times to improve stability at large viscosity ratios.
  • enables multiple mineral/wall materials, allowing for different wettabilities and contact angles on each mineral.
  • supports arbitrary, heterogeneous boundary conditions.
  • is massively parallel, showing excellent strong and weak scaling to tens of thousands of cores on Jaguar / Titan.
  • is just as easily compiled and run on multi/single core desktops and laptops (tested on MacOS / Linux only).
  • is modular, "object-oriented" Fortran-90, enabling extension for new features.
  • leverages PETSc, the Portable, Extensible Toolkit for Scientific Computation for data structures, communication, and (parallel) I/O.
  • may be called from PFloTran, a massively parallel solver for reactive transport in porous media. This allows for micro-scale solution of reactive transport, using Taxila LBM for flow (this coupling is not completely available as open source yet).
  • currently only allows structured, regular meshes.
  • currently is not implemented on GPUs.
  • currently does not handle curved geometries or other non-bounceback style interior boundary conditions (but we're accepting contributions!)

Authors, Contact, and Support


  • Ethan Coon (ecoon _at_ (Primary Contact)
  • Mark Porter (porterma _at_
  • Qinjun Kang (qkang _at_

The software framework of this work was supported by the DR-??, PI Bill Carey (bcarey@…). The physics kernels of this work are based upon implementations by Qinjun Kang and collaborators over the course of various projects at LANL. Much support was provided by the development team of the pore-scale and hybrid modeling group for carbon sequestration at LANL, including especially


In progress...

For more, see the source code's INSTALL and README files. A paper with most functionality and theory described is in preparation, and more extensive documentation and Users Manual will be completed as time and money allow...


Taxila LBM is available under the LGPL license. Please see the source code's COPYRIGHT and LICENSE files.

Code Citation

If you use this code in your work, please cite...

Code design, performance, etc: Ethan T Coon, Mark L Porter, Qinjun Kang. Taxila LBM: a parallel, modular lattice Boltzmann framework for simulating pore-scale flow in porous media. Computational Geosciences. DOI 10.1007/s10596-013-9379-6

Theory, models: Mark L. Porter, E. T. Coon, Q. Kang, J. D. Moulton, and J. W. Carey. Multicomponent interparticle-potential lattice Boltzmann model for fluids with large viscosity ratios. Phys Rev E. DOI 10.1103/PhysRevE.86.036701