pylbm is an all-in-one package for numerical simulations using Lattice Boltzmann solvers.

pylbm is licensed under the BSD license, enabling reuse with few restrictions.

Getting started

pylbm can be a simple way to make numerical simulations by using the Lattice Boltzmann method.

To install pylbm, you have several ways. You can install it using conda

conda install pylbm -c pylbm -c conda-forge

or using the last version on Pypi

pip install pylbm

You can also clone the project

git clone

and then use the command

python install

or if you don’t have root privileges

python install --user

Once the package is installed you just have to understand how build a dictionary that will be understood by pylbm to perform the simulation. The dictionary should contain all the needed informations as

To understand how to use pylbm, you have a lot of Python notebooks in the tutorial.

Documentation for users

Documentation of the code

The most important classes

Geometry(dico) Create a geometry that defines the fluid part and the solid part.
Domain([dico, geometry, stencil, …]) Create a domain that defines the fluid part and the solid part and computes the distances between these two states.
Scheme(dico[, stencil, check_inverse]) Create the class with all the needed informations for each elementary scheme.
Simulation(dico[, domain, scheme, sorder, …]) create a class simulation

The modules


[dH92]D. D’HUMIERES, Generalized Lattice-Boltzmann Equations, Rarefied Gas Dynamics: Theory and Simulations, 159, pp. 450-458, AIAA Progress in astronomics and aeronautics (1992).
[D08]F. DUBOIS, Equivalent partial differential equations of a lattice Boltzmann scheme, Computers and Mathematics with Applications, 55, pp. 1441-1449 (2008).
[G14]B. GRAILLE, Approximation of mono-dimensional hyperbolic systems: a lattice Boltzmann scheme as a relaxation method, Journal of Comutational Physics, 266 (3179757), pp. 74-88 (2014).
[QdHL92]Y.H. QIAN, D. D’HUMIERES, and P. LALLEMAND, Lattice BGK Models for Navier-Stokes Equation, Europhys. Lett., 17 (6), pp. 479-484 (1992).

Indices and tables