qlbm -- A Quantum Lattice Boltzmann Software Framework
Călin A. Georgescu, Merel A. Schalkers, Matthias Möller
TL;DR
qlbm delivers an end-to-end Python framework for developing, simulating, and analyzing Quantum Lattice Boltzmann Methods (QBMs). It introduces a modular quantum component architecture (primitives, operators, algorithms) and system-level separation (Lattice, Infrastructure, SimulationConfig) to enable rapid prototyping across multiple QBMs such as QTM and STQBM. The paper presents novel performance enhancements, including ancilla reuse, adaptable registers, classical preprocessing, statevector snapshots, sampling, and reinitialization, demonstrated on 2D and 3D simulations with CPU and GPU backends and cross-vendor compilers. By providing extensive testing, documentation, visualization, and a replication package, qlbm aims to accelerate QBM research, enhance reproducibility, and foster collaboration in quantum CFD.
Abstract
We present qlbm, a Python software package designed to facilitate the development, simulation, and analysis of Quantum Lattice Boltzmann Methods (QBMs). qlbm is a modular framework that introduces a quantum component abstraction hierarchy tailored to the implementation of novel QBMs. The framework interfaces with state-of-the-art quantum software infrastructure to enable efficient simulation and validation pipelines, and leverages novel execution and pre-processing techniques that significantly reduce the computational resources required to develop quantum circuits. We demonstrate the versatility of the software by showcasing multiple QBMs in 2D and 3D with complex boundary conditions, integrated within automated benchmarking utilities. Accompanying the source code are extensive test suites, thorough online documentation resources, analysis tools, visualization methods, and demos that aim to increase the accessibility of QBMs while encouraging reproducibility and collaboration. The source code of qlbm is publicly available under a permissive MPL 2.0 license at https://github.com/QCFD-Lab/qlbm.
