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.
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 https://github.com/pylbm/pylbm
and then use the command
python setup.py install
or if you don’t have root privileges
python setup.py 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
the geometry (see here for documentation)
the scheme (see here for documentation)
the boundary conditions (see here for documentation)
another informations like the space step, the scheme velocity, the generator of the functions…
To understand how to use pylbm, you have a lot of Python notebooks in the tutorial.
The most important classes
Create a geometry that defines the fluid part and the solid part.
Create a domain that defines the fluid part and the solid part and computes the distances between these two states.
Create the class with all the needed informations for each elementary scheme.
create a class simulation
D. D’HUMIERES, Generalized Lattice-Boltzmann Equations, Rarefied Gas Dynamics: Theory and Simulations, 159, pp. 450-458, AIAA Progress in astronomics and aeronautics (1992).
F. DUBOIS, Equivalent partial differential equations of a lattice Boltzmann scheme, Computers and Mathematics with Applications, 55, pp. 1441-1449 (2008).
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).
Y.H. QIAN, D. D’HUMIERES, and P. LALLEMAND, Lattice BGK Models for Navier-Stokes Equation, Europhys. Lett., 17 (6), pp. 479-484 (1992).