To run on CPU:
uv run LatticeBoltzmannDemo.py
and to run with Cupy and GPU support:
uv run --group gpu LatticeBoltzmannDemo.py
This based on the Python version of https://physics.weber.edu/schroeder/fluids/ found here by Daniel V. Schroeder (Weber State University).
The "wind tunnel" entry/exit conditions are inspired by Graham Pullan's code. Additional inspiration from Thomas Pohl's applet.
Other portions of code are based on Wagner and Gonsalves; code adapted from Succi.
Learn about LBM:
- Introduction to Lattice Boltzmann Method by Tim Krüger - ESPResSo Summer School 2020
For inspiration on possible future studies:
-
Study using LLMs and coding in agent-mode for optimization and parallelization
- Refactoring code
- Use a normal profiler and use LLMs to fix bottlenecks
- Compiling hot spots, with Pythran, Numba, Jax, Cupy
- Source to source compilation (Transpiling) to another language that you are not familiar with (think Julia, Rust, Nim, Zig, Chapel etc.)
- Parallelizing
-
Quantum Computing for Quantum LBM:
- "Quantum algorithm for lattice Boltzmann (QALB) simulation of incompressible fluids with a nonlinear collision term", Wael Itani, Katepalli R. Sreenivasan, Sauro Succi - Physics of Fluids(2024)
- "Scaling Quantum Computing Research to a New Milestone", Apurva Tiwari et al. - arXiv (2025), Blog post from Ansys (2025)
- "Quantum lattice Boltzmann method for simulating nonlinear fluid dynamics", Boyuan Wang, Zhaoyuan Meng, Yaomin Zhao, Yue Yang - arXiv (2025)