lettucecfd / lettuce

Computational Fluid Dynamics based on PyTorch and the Lattice Boltzmann Method
MIT License
201 stars 39 forks source link
cfd lattice-boltzmann machine-learning physics-simulation pytorch torch

.. image:: https://raw.githubusercontent.com/lettucecfd/lettuce/master/.source/img/logo_lettuce_typo.png

.. image:: https://github.com/lettucecfd/lettuce/actions/workflows/CI.yml/badge.svg :target: https://github.com/lettucecfd/lettuce/actions/workflows/CI.yml :alt: CI Status

.. image:: https://readthedocs.org/projects/lettucecfd/badge/?version=latest :target: https://lettucecfd.readthedocs.io/en/latest/?badge=latest :alt: Documentation Status

.. image:: https://zenodo.org/badge/DOI/10.5281/zenodo.3757641.svg :target: https://doi.org/10.5281/zenodo.3757641

GPU-accelerated Lattice Boltzmann Simulations in Python

Lettuce is a Computational Fluid Dynamics framework based on the lattice Boltzmann method (LBM).

Resources

.. _Paper: https://www.springerprofessional.de/en/lettuce-pytorch-based-lattice-boltzmann-framework/19862378 .. _Documentation: https://lettuceboltzmann.readthedocs.io .. _Preprint: https://arxiv.org/pdf/2106.12929.pdf .. _Slides: https://drive.google.com/file/d/1jyJFKgmRBTXhPvTfrwFs292S4MC3Fqh8/view .. _Video: https://www.youtube.com/watch?v=7nVCuuZDCYA .. _Code: https://github.com/lettucecfd/lettuce-paper

Getting Started

To find some very simple examples of how to use lettuce, please have a look at the examples_. These will guide you through lettuce's main features. The simplest example is:

https://github.com/lettucecfd/lettuce/blob/ef9830b59c6ad50e02fdf0ce24cc47ea520aa354/examples/00_simplest_TGV.py#L6-L21

Please ensure you have Jupyter installed to run the Jupyter notebooks.

.. _examples: https://github.com/lettucecfd/lettuce/tree/master/examples

Installation

Citation

If you use Lettuce in your research, please cite the following paper::

@inproceedings{bedrunka2021lettuce,
  title={Lettuce: PyTorch-Based Lattice Boltzmann Framework},
  author={Bedrunka, Mario Christopher and Wilde, Dominik and Kliemank, Martin and Reith, Dirk and Foysi, Holger and Kr{\"a}mer, Andreas},
  booktitle={High Performance Computing: ISC High Performance Digital 2021 International Workshops, Frankfurt am Main, Germany, June 24--July 2, 2021, Revised Selected Papers},
  pages={40},
  organization={Springer Nature}
}

Credits

We use the following third-party packages:

This package was created with Cookiecutter and the audreyr/cookiecutter-pypackage project template.

.. Cookiecutter: https://github.com/audreyr/cookiecutter .. audreyr/cookiecutter-pypackage: https://github.com/audreyr/cookiecutter-pypackage

.. _pytorch: https://github.com/pytorch/pytorch .. _numpy: https://github.com/numpy/numpy .. _pytest: https://github.com/pytest-dev/pytest .. _click: https://github.com/pallets/click .. _matplotlib: https://github.com/matplotlib/matplotlib .. _versioneer: https://github.com/python-versioneer/python-versioneer .. _pyevtk: https://github.com/pyscience-projects/pyevtk .. _h5py: https://github.com/h5py/h5py .. _mmh3: https://github.com/hajimes/mmh3

License

.. _LICENSE: https://github.com/lettucecfd/lettuce/blob/master/LICENSE