Skip to main content

lbmpy

Binder Docs pipeline status coverage report

Run fast fluid simulations based on the lattice Boltzmann method in Python on CPUs and GPUs. lbmpy creates highly optimized LB compute kernels in C or CUDA, for a wide variety of different collision operators, including MRT, entropic, and cumulant schemes.

All collision operators can be easily adapted, for example, to integrate turbulence models, custom force terms, or multi-phase models. It even comes with an integrated Chapman Enskog analysis based on sympy!

Common test scenarios can be set up quickly:

from pystencils import Target
from lbmpy.session import *

ch = create_channel(domain_size=(300, 100, 100), force=1e-7, method=Method.TRT,
                    equilibrium_order=2, compressible=True,
                    relaxation_rates=[1.97, 1.6], optimization={'target': Target.GPU})

To find out more, check out the interactive tutorial notebooks online with binder.

Installation

For local installation use pip:

pip install lbmpy[interactive]

Without [interactive] you get a minimal version with very little dependencies.

All options:

  • gpu: use this if a NVIDIA GPU is available and CUDA is installed
  • opencl: use this to enable the target opencl (execution using OpenCL)
  • alltrafos: pulls in additional dependencies for loop simplification e.g. libisl
  • interactive: installs dependencies to work in Jupyter including image I/O, plotting etc.

Options can be combined e.g.

pip install lbmpy[interactive,gpu,doc]

Documentation

Contributing

To see how to open issues, submit bug reports, create feature requests or submit your additions to lbmpy please refer to contribution documentation of pystencils since lbmpy is heavily build on pystencils.

Many thanks go to the contributors of lbmpy.

Please cite us

If you use lbmpy in a publication, please cite the following articles:

Overview:

Multiphase:

  • M. Holzer et al, Highly efficient lattice Boltzmann multiphase simulations of immiscible fluids at high-density ratios on CPUs and GPUs through code generation. The International Journal of High Performance Computing Applications, 2021. https://doi.org/10.1177/10943420211016525

Further Reading

  • F. Hennig et al, Automatic Code Generation for the Cumulant Lattice Boltzmann Method. ICMMES, 2021. Poster Link

Metadata

Release files for lbmpy 2.1.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for lbmpy 2.1.1
File Size Uploaded
lbmpy-2.1.1.tar.gz 299.9 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for lbmpy 2.1.1
File Interpreter ABI Platform
lbmpy-2.1.1-py3-none-any.whl Python 3 none any Details

Total release size: 587.8 kB

Release files / lbmpy-2.1.1.tar.gz

Download URL lbmpy-2.1.1.tar.gz
Size 299.9 kB
Tags Source
SHA-256 checksum
How to use checksums
f307f0ffa77914c923937917d53f198476819a72c562eb15ed53cb4522e0e7a9
BLAKE2b-256 checksum
How to use checksums
096f692a3f59614caa46b310c84586058af6db7391180597714750dd3d6e6795
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.14.6

Release files / lbmpy-2.1.1-py3-none-any.whl

Download URL lbmpy-2.1.1-py3-none-any.whl
Size 287.9 kB
Tags Python 3
SHA-256 checksum
How to use checksums
6c9abeec9e72657d770793f43d7a9733b2e0dd4eaf5f47648dd84ba713c2d6db
BLAKE2b-256 checksum
How to use checksums
0a7b52be8aeaec44a388074854c9796e97f8495b5c99cbc079aba4e3f8362a1d
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.14.6

Release history Release notifications | RSS feed

This release

2.1.1 This release

2 release files

2.1

2 release files

2.0

2 release files

1.4.1

2 release files

1.4

2 release files

1.3.7

2 release files

1.3.6

1 release file

1.3.5

1 release file

1.3.4

1 release file

1.3.3

1 release file

1.3.2

1 release file

1.3.1

1 release file

1.3

1 release file

1.2

1 release file

1.1.1

1 release file

1.1

1 release file

1.0.1

1 release file

1.0

1 release file

0.4.4

1 release file

0.4.3

1 release file

0.4.2

1 release file

0.4.1

1 release file

0.4.0

1 release file

0.3.4

1 release file

0.3.3

1 release file

0.3.2

1 release file

0.3.1

1 release file

0.3.0

1 release file

0.2.15

1 release file

0.2.14

1 release file

0.2.13

1 release file

0.2.12

1 release file

0.2.11

1 release file

0.2.10

1 release file

0.2.9

2 release files

0.2.8

1 release file

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page