Skip to content
Switch branches/tags

Latest commit


Git stats


Failed to load latest commit information.
Latest commit message
Commit time

TCLB Solver Header

TCLB Solver ZENADO DOI Article

TCLB is a MPI+CUDA or MPI+CPU high-performance Computational Fluid Dynamics simulation code, based on the Lattice Boltzmann Method. It provides a clear interface for calculation of complex physics, and the implementation of new models.

How to use it


git clone


make configure
./configure --enable-graphics --with-cuda-arch=sm_30


make d2q9


CLB/d2q9/main example/flow/2d/karman.xml

More information


The documentation (including tutorials) is published at

For the develop version, the most recent documentation can be found at

You can contribute to the documentation at CFD-GO/TCLB_docs.

Supported architectures

This code is designed to run on Linux. We strongly recommend using Linux for compilation, computation and postprocessing.

Nevertheless, TCLB can be compiled on Windows (CPU only), using the Windows Subsystem for Linux. It also can be compiled on MacOS (also CPU only). Both Debian and Red Hat based Linux distributions are supported by the script described below, as is MacOS (with brew package manager).


For the code to compile and work you'll need a few things:

You can install many of these with the provided tools/ script (note that this requires sudo):

sudo tools/ essentials   # Installs essential system packages needed by TCLB
sudo tools/ r            # Installs R
sudo tools/ openmpi      # Installs OpenMPI
     tools/ rdep         # Installs needed R packages
sudo tools/ cuda         # Installs CUDA (we recommend to do it on your own)
sudo tools/ python-dev   # Installs Python libraries with headers

You can run the tools/ script with the --dry option, which will print the commands to run, so you can run them on your own. We do not recommend running anything with sudo without checking

develop Branch:

If you want a more recent version, you could try the development branch with git checkout develop


To compile the code for CPU, you can use the --disable-cuda option for ./configure:

./configure --disable-cuda

Parallel run

To run TCLB in parallel (both on multiple CPU and multiple GPU), you can use the standard syntax of MPI parallel run:

mpirun -np 8 CLB/d2q9/main example/flow/2d/karman.xml

Running on clusters

To assist with using TCLB on HPC clusters (SLURM/PBS), there are scripts provided in the TCLB_cluster repository.

LBM-DEM computation

TCLB code can be coupled with Discrete Element Method (DEM) codes, to enable computation of flow with particles.

The DEM codes that TCLB can be integrated with are:

Refer to the documentation for instructions on compilation and coupling.



TCLB began development in 2012 with the aim at providing a framework for efficient CFD computations with LBM, mainly for research.

Author: Łukasz Łaniewski-Wołłk



Developed at:


Please use appropriate citations if using this software in any research publication. The publication should cite the original paper about TCLB and papers which describe the used LMB models. You can find the list of TCLB publications at You can also find the information about published articles in the source code of the models. The code can be cited additionally, by its Zenodo DOI.


This software is distributed under the GPL v3 License.

If you need this software under a different license, please contact the main author.

Contact: llaniewski(monkey)