Basic Lattice-Boltzmann (LB) MATLAB Code

Implements LB BGK D2Q9.
13.6K Downloads
Updated 14 Nov 2005

No License

Simple, yet simplistic, Lattice Boltzmann (LB) MATLAB implementation. D2H9, BGK, omega = 1, laminar flow in a 2D channel used as benchmark. Requires Image Processing Toolbox.

The code is not optimized for memory nor for speed, i.e. not efficient at all. However, it is better than almost nothing (i.e. the present MATLAB situation at Feb 2005 ? as far as I know)
Optimization for memory should consider only dry locations.

Other free LB (FORTRAN, C, and Cpp) codes are available:

See the anb.f code at http://www.ccrl-nece.de/lba/ or the S.Succi code available from www.physics.buffalo.edu/phy516/Files/Topic6/lbe.f
See also D2Q9poi.f from Dieter Wolf-Gladrow and
http://www.lstm.uni-erlangen.de/lbm2001/download/ written by Kraft and Schultz t tu.muenchen.de

See also the translation into C of the original Succi FORTAN code
www.physics.buffalo.edu/phy516/Files/Topic6/lbe.c

See also lb2d.m (by Youngseuk Keehm) at
http://srb.stanford.edu/GP200/PDFs/Hw02_solution.pdf

For LB benchmarking see:
http://staff.science.uva.nl/~sloot/CSS/BGK_handin.PDF
and page 190-192 in: Lattice-gas cellular automata and lattice Boltzmann models: an introduction / Dieter A. Wolf-Gladrow. -. ISBN: 3540669736.

This code is written to be readable by the most, optimisation makes it less readable. It is mean to be of some help to students tackling LB for the first time. As usual no guarantee of bug free or proper functioning. in the hope that some of the many LB developers will make soon something better available to the MATLAB community? possibly 3D, possibly multi-phase / multi-component.

Suggestions: Rather than rating, please- makes available a better code than this, it is an easier task. The user should not be surprise by encountering instability by changing the parameters without a precise rational. I suggest reading the references that benchmark the LB BKG and follow the given examples in order to get a feeling of the sensitivity of the code to the different variables.

Cite As

gianni schena (2024). Basic Lattice-Boltzmann (LB) MATLAB Code (https://www.mathworks.com/matlabcentral/fileexchange/6904-basic-lattice-boltzmann-lb-matlab-code), MATLAB Central File Exchange. Retrieved .

MATLAB Release Compatibility
Created with R14SP3
Compatible with any release
Platform Compatibility
Windows macOS Linux
Categories
Find more on Fluid Dynamics in Help Center and MATLAB Answers

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!
Version Published Release Notes
1.0.0.0

improves an earlier code and allows simulation of porous systems in 2D