A personal collection of research codes for lattice Boltzmann methods in periodic 2D domains.
For actual simulation work take a look at other codes.
When organizing an LBM code, there are two main choices for the data layout
In the SoA layout, the PDF's pointing in a given direction at different spatial points are stored contiguously. In the AoS layout, the PDF's pointing in different directions at a given spatial point are stored contiguously.
The chosen layout carries large performance implications. For optimum performance the collision and streaming kernels should be specialized for the chosen layout.
Some of these libraries may also be used in the future:
For large-scale simulations consider using one of the following freely availables codes
For industrial purpose simulations the following solvers can also be used
A bunch of other (mostly research oriented) codes are described in the list by Sthavishtha Bhopalam Rajakumar (@sthavishtha).