- Notifications
You must be signed in to change notification settings - Fork47
sthavishtha/list-lattice-Boltzmann-codes
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
Repository files navigation
A curated list of some open source frameworks, libraries and softwares employing lattice Boltzmann methods. This list is by no means complete. So if you would like me to add something, please send me a link tosthavishthabr@gmail.com or perform a pull request.
- ch4-project [1] - a parallelized numerical framework written in C++ which can simulatemultiphase flows, turbulence, lagrangian particles (point-sized, tracers etc.) andthermal flows. Developed by theUnité de Mécanique de Lille,University of Lille.
- HemeLB [2] - a parallelized numerical framework written in C which can simulate flows incomplex geometries including cerebral blood flow scenarios, ranging from normal to neuropathological conditions, aneurysms and arterio-venous malformations, as well as theentire intra-cranial vasculature. Developed at theCentre for Computational Science,University College London.
- HemeLB-GPU [3] - a GPU-extension of theHemeLB code mentioned above.
- HemoCell [4] - a parallelized numerical framework written in C++ for simulatingdeformable blood suspensions using a combined Immersed boundary-lattice Boltzmann method. This is built on top of thePalabos library. Developed at theComputational Science lab,University of Amsterdam.
- Lattice-Boltzmann-Method-GPU [5,6] - GPU implementation (on NVIDIA GPUs) of lattice Boltzmann methods for simulating steady/unsteady 3D single-phase flows.
- LBfoam [7] - an MPI parallelized numerical framework (extended from thePalabos library) for simulating foaming processes including bubble nucleation, coalescence using different rheological models. Developed at theDepartment of Mechanical Engineering,University of Toronto.
- LBDEMcoupling-public [8] - a parallelized coupling package between thePalabos library and the discrete element codeLIGGGHTS using C++. Can performresolved simulations of fluid-particle systems. Developed by theJohannes Kepler University Linz.
- LBSim - a C++ fluid dynamics simulator which can simulatecomplex flows, multiphase flows, thermal flows andmicrofluidics. Developed by theSoftware Development Center at theUniversity of Sao Paulo.
- LBsoft [9] - an MPI parallelized numerical solver written in FORTRAN90 for simulatingcolloidal emulsions by coupling lattice Boltzmann methods for the fluid and discrete particle dynamics for the colloids.
- LB3D [10] - an MPI parallelized numerical framework written in Fortran90 to simulate3D simple, binary oil/water andternary oil/water/amphiphile fluids using the Shan-Chen model for binary fluid interactions. Also offers the possibilities of studying flows involvingmicro-mixing, porous media, fluid surface interactions and othermulticomponent flows. Developed at theUniversity College London,University of Stuttgart andEindhoven University of Technology.
- LIFE - a parallelized numerical framework written in C++ employing lattice Boltzmann-immersed boundary-finite element solver for simulatingfluid-structure interaction problems involving slender structures.
- LUDWIG [11,12] - a parallelized numerical framework written in C which can simulatecomplex fluids including mixtures, symmetric binary fluids, colloidal suspensions, polar gels, charged fluids andliquid crystals. Developed at theUniversity of Edinburgh.
- LUMA [13] - an MPI parallelized numerical solver written in C/C++ for simulating3D complex fluid structure interaction andturbulent flow problems. Developed at theUniversity of Manchester.
- latnet [14] - an open source library for performing lattice Boltzmann simulations using neural networks.
- lettuce [15] - a GPU accelerated lattice Boltzmann framework using neural networks and automatic differentiation in pytorch.
- MF-LBM [16] - a parallelized (supports CPU, GPU, MIC and ARM) high performance code for direct numerical simulations of multiphase flows in porous media. Developed by theLos Alamos National laboratory.
- Microflow 3D [17,18] - an open-source parallel numerical framework (CUDA and GPU) for simulatingtransient flows in comlex geometries, inlcuding microflows in channels of microsystems or bio-chips andflows in narrow blood vessels. Developed at theWroclaw University of Science and Technology.
- MultiphasePorousMediaPalabos - an open source parallel numerical framework using thePalabos library for modelingsingle and multiphase flows in complex porous geometries. Developed at theUniversity of Texas, Austin.
- Musubi [19] - a parallel numerical solver written in Fortran 2003 for simulatingmulticomponent flows, blood flows, porous media andliquid mixtures. Developed at theInstitute of Software Methods for Product Virtualization atGerman Aerospace Center (DLR).
- NekLBM - a high-order parallelized numerical solver written in Fortran 90 and C, based on spectral element discontinuous Galerkin methods. Developed at theMathematics and Computer Science Division ofArgonne National Laboratory.
- OpenLB [20,21] - an MPI parallelized numerical framework written in C++ which can simulatemultiphase flows, multicomponent flows, turbulence, particulate flows, complex flows, thermal flows, non-Newtonian flows andporous media to name a few. Developed by theLattice Boltzmann research group atKalsruhe Institute of Technology.
- Palabos [22] - an MPI parallelized numerical framework written in C++ which can simulatemultiphase flows, multicomponent flows, turbulence, particulate flows, complex flows, thermal flows, non-Newtonian flows andgrid refinement. Developed by theScientific and Parallel Computing group atUniversity of Geneva.
- SailFish [23] - a numerical framework written in Python and CUDA C/OpenCL for GPUs (CUDA, OpenCL) which can simulatecomplex flows, multicomponent flows andturbulence.
- STLBM [24] - a massively efficient framework for multi-threaded parallel simulations on many-core CPUs and GPUs. Developed by theScientific and Parallel Computing group atUniversity of Geneva.
- SunlightLB - a 3D numerical framework written in C, perl, and python which can simulate a variety ofhydrodynamics problems, such as flow through pores, moving obstacles using a bounce-back method, passive scalar transport and a few more.
- Taxila LBM [25,26] - a parallel numerical framework written in Fortran90 which can simulate flows in porous and geometrically complex media (including single and multiphase flows). Developed by theLos Alamos National laboratory.
- TCLB - a parallel numerical solver (MPI+CUDA or MPI+CPU) for simulatingelectrokinetic flows, thermal flows, multiphase flows, non-Newtonian flows andshallow water flows. Developed at theC-CFD group,Warsaw University of Technology.
- VirtualFluids - a parallel numerical framework supporting CPU and GPU, for simulatingtubulent, thermal, multiphase/multicomponent flow and fluid-structure interaction. Developed at theInstitute for Computational Modeling in Civil Engineering (IRMB),TU Braunschweig.
- waLBerla [27] - a parallelized (both MPI and hybrid MPI/OpenMP are supported) numerical framework written in C++ supportingblock-structured adaptive mesh refinement, fully resolved particulate flows andfree surface flows to name a few. Developed by theChair for System Simulation,Friedrich–Alexander–Universität Erlangen–Nürnberg.
- wlb [28] - a github repository hosting C++ codes to simulate2D electrokinetic flows, by coupling Navier-Stokes, Nernst-Planck and Poisson’s equation of electrostatics.
- 2d-lbm-dem - a 2D coupled lattice Boltzmann and discrete element method written in C for simulatinggranular flows. Developed by theComputational Geomechanics group, a co-operation between two research groups at theUniversity of Cambridge andUniversity of California, Berkeley.
- EduLB - an educational C++ code to show the implementation of lattice Boltzmann method by simulating flow over an obstacle in a channel.
- gLBM [29] - a 3D LBM code implemented using GPUs.
- LAMBReX - implementation of a lattice Boltzmann code on top ofAMReX library for adaptive mesh refinements.
- LatBo.jl - an code developed in Julia programming language.
- Lattice-Boltzmann - CUDA implementations of some lattice Boltzmann codes.
- Lattice-Boltzmann-fluid-flow-in-Tensorflow - a github repository hosting lattice Boltzmann simulation results written in Tensorflow.
- LatticeBoltzmannMethod - a github repository hosting some excellent codes (C++) showcasing multiphase flows, microflows and immersed boundary-lattice Boltzmann methods to name a few.
- LBMCode - a FORTRAN90 code solving the shallow water equations to simulate flows in a straight channel.
- LBM-Cplusplus-A.A.Mohamad - this repository hosts the C++ version of codes implemented from the Appendix of a lattice Boltzmann book [30].
- LBM-1D - a github repository hosting some simple MATLAB codes to simulate 1D advection-diffusion and Navier-Stokes equations.
- lbmles - a github repository hosting a 2D lattice Boltzmann code using Large Eddy simulations to solve fluid flow in lid-driven cavity at very large Reynolds numbers. Both CPU and GPU (C++ and CUDA) versions are available.
- lbm_matlab - a github repository hosting some MATLAB codes showcasing grid refinement, viscosity counteraction approach (for achieving numerical stability), RANS Spalart-Allmaras turbulence model and a few more.
- lbm-principles-practice - a github repository hosting the codes (C++, MATLAB) used in the lattice Boltzmann book [31].
- listLBM - an object-oriented programming solver for simulations of multiphase flows in porous media.
- pylbm - an open source python framework for performing lattice Boltzmann simulations in 1D, 2D and 3D scenarios.
- 3D-LBM-AMR - a github repository hosting C++ codes showcasing adaptive mesh refinement in 3D problems.
Calzavarini, E.,Eulerian–Lagrangian fluid dynamics platform: The ch4-project, Software Impacts, Vol. 1, 2019.Link
Mazzeo, M.D., Coveney, P.V.,HemeLB: A high performance parallel lattice-Boltzmann code for large scale fluid flow in complex geometries, Computer Physics Communications, Vol. 178 (12), pp. 894-914, 2008.Link
Shealy, B. T. et al.,HGPU Acceleration of the HemeLB code for Lattice Boltzmann Simulations in Sparse Complex Geometries, IEEE Access, Vol. 9, pp. 61224-61236, 2021.Link
Závodszky, G. et al.,Cellular Level In-silico Modeling of Blood Rheology with An Improved Material Model for Red Blood Cells, Frontiers in Physiology, Vol. 8, pp. 563, 2017.Link
Zhou, X.,Ultrasound Imaging Augmented 3D Flow Reconstruction and Computational Fluid Dynamics Simulation, Dissertation, Imperial College London, 2019.Link
Zhou, X. et al., _ Measurement Augmented 3D Lattice Boltzmann Flow Simulation for Convergence Acceleration and Uncertainty Suppression_, Submitted to Computers & Fluids.
Ataei, M. et al.,LBfoam: An open-source software package for the simulation of foaming using the Lattice Boltzmann Method, arXiv, 2020.Link
Seil, P. and Pirker, S.,LBDEMcoupling: Open-Source Power for Fluid-Particle Systems, Proceedings of the 7th International Conference on Discrete Element Methods (DEM) 2016, Springer Proceedings in Physics, Vol. 188, 2017.Link
Bonaccorso, F. et al.,LBsoft: a parallel open-source software for simulation of colloidal systems, arXiv, 2020.Link
Schmieschek, S. et al.,LB3D: A parallel implementation of the Lattice-Boltzmann method for simulation of interacting amphiphilic fluids, Computer Physics Communications, Vol. 217, pp. 149-161, 2017.Link
Desplata, J.-C., Pagonabarraga, I. and Bladon, P.,LUDWIG: A parallel Lattice-Boltzmann code for complex fluids, Computer Physics Communications, Vol. 134 (3), pp. 273-290, 2001.Link
Gray, A. and Stratford, K.,Ludwig: multiple GPUs for a complex fluid lattice Boltzmann application, Designing Scientific Applications on GPUs, Chapman and Hall/CRC, 2013.
Harwood, A.R.G. et al.,LUMA: A many-core, Fluid–Structure Interaction solver based on the Lattice-Boltzmann Method, SoftwareX, Vol. 7, pp. 88-94, 2018.Link
Hennigh, O.,Lat-Net: Compressing Lattice Boltzmann Flow Simulations using Deep Neural Networks, arXiv, 2017.Link
Krämer, A., Wilde, D., Bedrunka, M., Lettuce: PyTorch-based Lattice Boltzmann Solver (Version 0.2.0), Zenodo, 2020.Link
Chen, Y. et al.,Inertial Effects During the Process of Supercritical CO2 Displacing Brine in a Sandstone: Lattice Boltzmann Simulations Based on the Continuum-Surface-Force and Geometrical Wetting Models, Water Resources Research, Vol. 55, pp. 11144-11165, 2019.Link
Tomczak, T., Szafran, R.,A new GPU implementation for lattice-Boltzmann simulations on sparse geometries, Computer Physics Communications, Vol. 235, pp. 258-278, 2019.Link
Tomczak, T., Szafran, R.,Sparse geometries handling in lattice Boltzmann method implementation for graphic processors, IEEE Transactions on Parallel and Distributed Systems, Vol. 29(8), pp. 1865 - 1878, 2018.Link
Hasert, M. et al.,Complex fluid simulations with the parallel tree-based Lattice Boltzmann solver Musubi, Journal of Computational Science, Vol. 5(5), pp. 784-794, 2014.Link
Heuveline, V. and Latt, J.,The OpenLB project: an open source and object oriented implementation of lattice boltzmann methods, International Journal of Modern Physics C, Vol. 18 (4), pp. 627-634,2007.Link
Heuveline, V. and Krause, M.J.,OpenLB: Towards an Efficient Parallel Open Source Library for Lattice Boltzmann Fluid Flow Simulations, PARA'08 Workshop on State-of-the-Art in Scientific and Parallel Computing, May 13-16, 2008.Link
Latt, J. et al.,Palabos: Parallel Lattice Boltzmann Solver, arXiv, 2019.Link
Januszewski, M. and Kostur, M.,Sailfish: A flexible multi-GPU implementation of the lattice Boltzmann method, Computer Physics Communications, Vol. 185 (9), pp. 2350-2368, 2014.Link
Latt, J., Coreixas, C. and Beny, J.,Cross-platform programming model for many-core lattice Boltzmann simulations, arXiv, 2020.Link
Coon, E.T., Porter, M.L. and Kang, Q,Taxila LBM: a parallel, modular lattice Boltzmann framework for simulating pore-scale flow in porous media. Computational Geosciences, Vol. 18, pp. 17–27, 2014.Link
Porter, M.L. et al.,Multicomponent interparticle-potential lattice Boltzmann model for fluids with large viscosity ratios, Physical Review E, Vol. 86 (3), 036701, 2012.Link
Bauer, M. et al.,waLBerla: A block-structured high-performance framework for multiphysics simulations, To appear in Computers & Mathematics with Applications, 2020.Link
Bülling, A.,Modelling of electrokinetic flow using the lattice-Boltzmann method, Master thesis, Chalmers University of Science and Technology, 2012.Link
Bray, A. et al.,gLBM: A GPU enabled Lattice Boltzmann Method Library, Journal of Open Source Software, Vol. 7 (70), 2555, 2022.Link
Mohamad, A. A.,Lattice Boltzmann Method: Fundamentals and Engineering Applications with Computer Codes, Springer International Publishing, ISBN 978-0-85729-455-5, 2019.Link
Krüger, T. et al.,The Lattice Boltzmann Method: Principles and Practice, Springer International Publishing, ISBN 978-3-319-44647-9, 2017.Link
Thanks to the following people for their suggestions:
Sebastian Geller - VirtualFluids
Andinet Enquobahrie - gLBM
About
Curated list of some open source codes employing lattice Boltzmann methods
Topics
Resources
Uh oh!
There was an error while loading.Please reload this page.