Skip to content

ENCCS/lbm-sim-demo

Repository files navigation

2D LBM simulator demo

Screencast_20251107_092501.webm

To run on CPU:

uv run LatticeBoltzmannDemo.py

and to run with Cupy and GPU support:

uv run --group gpu LatticeBoltzmannDemo.py

Credits

This based on the Python version of https://physics.weber.edu/schroeder/fluids/ found here by Daniel V. Schroeder (Weber State University).

Other prior work

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.

See also

Learn about LBM:

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)

About

2D Lattice Boltzmann Method Simulator

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages