Skip to main content

Quantum Algorithms for Lattice Boltzmann Methods.

Project description

qlbm

GitHub License GitHub top language Python Version from PEP 621 TOML PyPI - Version GitHub commits since latest release GitHub branch check runs Static Badge

qlbm is a package for the development, simulation, and analysis of Quantum Lattice Boltzmann Methods.


qlbm is a rapidly evolving, research-oriented piece of software. It contains building blocks for constructing quantum circuits for quantum LBMs and connects these with quantum software infrastructure. qlbm is built with end-to-end development environment in mind, including:

  • Parsing human-readable JSON specifications for QLBMs
  • Constructing quantum circuits in Qiskit that implement QLBMs
  • Compiling quantum circuits to quantum computer and simulator platforms with Qiskit and Pytket
  • Simulating quantum circuits on classical hardware with Qiskit and Qulacs
  • Visualizing results in Paraview
  • Analyzing the properties , scalability, and performance of quantum algorithms

Static Badge

Install from source

Alternatively, you can also install the latest version of qlbm by cloning the repository and installing from source as follows (again using Python 3.12 or 3.13):

git clone git@github.com:QCFD-Lab/qlbm.git
cd qlbm
python -m venv qlbm-cpu-venv
source qlbm-cpu-venv/bin/activate
pip install --upgrade pip
pip install -e .[cpu,dev,docs]

If you are using zsh you need to replace the last line by

pip install -e .\[cpu,dev,docs\]

We also provide a make script for this purpose, which will create the environment from scratch:

make install-cpu
source qlbm-cpu-venv/bin/activate

PyPI installation

qlbm can also be installed through pip. We recommend the use of a Python 3.12 or 3.13 virtual environment:

python -m venv qlbm-cpu-venv
pip install --upgrade pip
pip install qlbm

Note that qlbm evolves quickly and it is likely that the GitHub repository contains new features that the PyPI installation does not. To get the latest developments, we recommend the source installation.

Container installation

There are also Docker container images in the Docker directory that can be used to install qlbm in a container environment. Due to how quickly the code base is evolving, we recommend using the CPU option for stability purposes.

Algorithms and Usage

Currently, qlbm supports two algorithms:

The demos directory contains several use cases for simulating and analyzing these algorithms. Each demo requires minimal setup once the virtual environment has been configured. Consult the README.md file in the demos directory for further details.

Note on visualization: we rely on Paraview for visualizing the flow field of the simulation. You can install Paraview from this link.

Configuration

qlbm uses quantum circuits to simulate systems that users can specify in simple JSON configuration files. For instance, the following configuration describes a 2D system of 64x32 gridpoints, 4 discrete velocities per dimension, and with 3 solid objects placed in the fluid domain:

{
  "lattice": {
    "dim": {
      "x": 64,
      "y": 32
    },
    "velocities": {
      "x": 4,
      "y": 4
    }
  },
  "geometry": [
    { 
      "shape": "cuboid",
      "x": [18, 20],
      "y": [6, 25],
      "boundary": "specular"
    },
    {
      "shape": "cuboid",
      "x": [23, 25],
      "y": [3, 17],
      "boundary": "bounceback"
    },
    {
      "shape": "cuboid",
      "x": [28, 29],
      "y": [16, 29],
      "boundary": "specular"
    }
  ]
}

Citation

An open access peer-reviewed article describing qlbm is available here. If you use qlbm, you can cite it as:

@article{georgescu2025qlbm,
title = {qlbm – A quantum lattice Boltzmann software framework},
journal = {Computer Physics Communications},
volume = {315},
pages = {109699},
year = {2025},
issn = {0010-4655},
doi = {https://doi.org/10.1016/j.cpc.2025.109699},
url = {https://www.sciencedirect.com/science/article/pii/S0010465525002012},
author = {C\u{{a}}lin A. Georgescu and Merel A. Schalkers and Matthias M\"{o}ller},
}

Contact

In addition to opening issues, you can contact the developers of qlbm at qcfd-EWI@tudelft.nl.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

qlbm-0.0.6.tar.gz (102.3 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

qlbm-0.0.6-py3-none-any.whl (149.7 kB view details)

Uploaded Python 3

File details

Details for the file qlbm-0.0.6.tar.gz.

File metadata

  • Download URL: qlbm-0.0.6.tar.gz
  • Upload date:
  • Size: 102.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for qlbm-0.0.6.tar.gz
Algorithm Hash digest
SHA256 23c74533a9c28143e72288e0b0021f68a022967b949409b241fc54c6dddf8b2a
MD5 617c342886f507b03512e6110fba0ccb
BLAKE2b-256 5b46e6f163ecea38980fd86e0b8a4db077a8f79a9d28e27788b3677feceff436

See more details on using hashes here.

Provenance

The following attestation bundles were made for qlbm-0.0.6.tar.gz:

Publisher: release.yml on QCFD-Lab/qlbm

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file qlbm-0.0.6-py3-none-any.whl.

File metadata

  • Download URL: qlbm-0.0.6-py3-none-any.whl
  • Upload date:
  • Size: 149.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for qlbm-0.0.6-py3-none-any.whl
Algorithm Hash digest
SHA256 03b4b305737709aa3bc2624fe402e501569c51aa6feaba26f375b20d2bc04880
MD5 8c8155ad2dcbec2fd545be1d0e94657a
BLAKE2b-256 ef911f2458c3610c015e118fa6ba8ad2731aa85f0d2b6aee458e9dbb2fe6bd94

See more details on using hashes here.

Provenance

The following attestation bundles were made for qlbm-0.0.6-py3-none-any.whl:

Publisher: release.yml on QCFD-Lab/qlbm

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page