/LatticeBoltzmann

MPI-parallel Lattice Boltzmann with Python

Primary LanguagePythonMIT LicenseMIT

Lattice Boltzmann with Python

This repository contains demonstration codes of how to implement and optimize an MPI parallel, two-dimensional (D2Q9) Lattice Boltzmann solver in Python.

The codes provided here come in three flavors:

  • opt0 is the bare implementation of the underlying mathematical formulation in Python+numpy.
  • opt1 contains optimizations of this Python code.
  • In opt2, part of the Python code has been moved to C++.

A detailed description of this code has been published in the Proceedings of the 5th bwHPC Symposium that can be found here.

Build status

The following badge should say build passing. This means that all automated tests completed successfully for the master branch.

Build Status

Requirements

To run the codes here you need numpy, pybind11 and Eigen. To run the pure C++ reference implementation you additional need boost.