A High-Order Spectral Element Lattice Boltzmann Solver
NekLBM is a high-order Spectral Element Lattice Boltzmann Method (SELBM) solver built upon the scalable Nek5000 framework. By leveraging Nek5000βs robust mesh generation, high-performance I/O, and advanced MPI distribution systems, NekLBM provides a powerful platform for simulating complex fluid dynamics.
NekLBM is engineered for high-fidelity simulations across multiple regimes:
- Single-phase flows
- Multi-phase flows
- Multi-species fluid dynamics
NekLBM is fully integrated with the Nek5000 ecosystem, inheriting its industrial-grade capabilities for High-Performance Computing (HPC):
- Mesh Geometry: Utilizes native spectral element mesh information for complex geometries.
- I/O System: High-efficiency data handling for large-scale simulations.
- Distributed Systems: Optimized for massive parallelism via MPI.
If you use NekLBM in your research, please cite our latest work:
[1] Zhao, C., Patel, S.S., Lin, H.L., Min, M. and Lee, T., 2026. A flux bounce-back scheme for the filtered Spectral Element Lattice Boltzmann Method. Computers & Fluids, p.106987. https://doi.org/10.1016/j.compfluid.2025.106987
NekLBM is built on top of the Nek5000 framework. Before proceeding, ensure you have a working environment for the core solver.
Follow the official Nek5000 Quickstart Guide to install the base framework, compilers, and dependencies: π Nek5000 Installation & Quickstart
To enable the LBM driver, you must replace the default drive1.f file within the Nek5000 source tree:
- Target Path:
Nek5000/core/drive1.f - Action: Replace this file with the
drive1.fprovided in the NekLBM repository.
The lattice structures and simulation parameters are defined in specific header/source files. Choose the file corresponding to your simulation requirements:
| Dimension | Lattice Type | Parameter File |
|---|---|---|
| 2D | D2Q9 | LBMD2Q9 |
| 3D | D3Q13 | LBMD3Q13 |
| 3D | D3Q15 | LBMD3Q15 |
| 3D | D3Q19 | LBMD3Q19 |
| 3D | D3Q27 | LBMD3Q27 |
For specialized physics, parameters are stored in the following files:
- Multi-Phase Flow:
- 2D:
LBMPHASE - 3D:
LBMPHASE3
- 2D:
- Multi-Species Flow:
- 2D:
LBMDIFFUSION - 3D:
LBMDIFFUSION3Once the files are exchanged and parameters are set:
- 2D:
- Initialize your case directory using
makenek. - Compile as you would for a standard Nek5000 project.