Metadata-Version: 2.1
Name: pylbm
Version: 0.9.0
Summary: A flexible Python package for lattice Boltzmann method
Project-URL: Source, https://github.com/pylbm/pylbm
Project-URL: Documentation, https://pylbm.readthedocs.io
Author-email: Benjamin Graille <benjamin.graille@universite-paris-saclay.fr>, Loic Gouarin <loic.gouarin@polytechnique.edu>
License-Expression: BSD-3-Clause
License-File: LICENSE
Keywords: Boltzmann,Lattice,Methods
Classifier: Intended Audience :: Developers
Classifier: Intended Audience :: Science/Research
Classifier: License :: OSI Approved :: BSD License
Classifier: Operating System :: MacOS
Classifier: Operating System :: Microsoft :: Windows
Classifier: Operating System :: POSIX
Classifier: Operating System :: Unix
Classifier: Programming Language :: Cython
Classifier: Programming Language :: Python
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3 :: Only
Classifier: Programming Language :: Python :: 3.6
Classifier: Programming Language :: Python :: 3.7
Classifier: Programming Language :: Python :: 3.8
Classifier: Programming Language :: Python :: 3.9
Classifier: Topic :: Scientific/Engineering
Classifier: Topic :: Scientific/Engineering :: Mathematics
Classifier: Topic :: Scientific/Engineering :: Physics
Classifier: Topic :: Software Development
Classifier: Topic :: Software Development :: Code Generators
Requires-Python: >=3.6
Requires-Dist: cerberus
Requires-Dist: colorama
Requires-Dist: colorlog
Requires-Dist: cython
Requires-Dist: h5py
Requires-Dist: jinja2
Requires-Dist: matplotlib
Requires-Dist: mpi4py
Requires-Dist: numpy
Requires-Dist: numpy-stl
Requires-Dist: sympy>=1.3
Provides-Extra: gpu
Requires-Dist: loo-py==2017.2; extra == 'gpu'
Requires-Dist: pyopencl; extra == 'gpu'
Description-Content-Type: text/x-rst

pylbm
=====

|Binder| |GithubAction| |Doc badge| |Gitter Badge|

.. |Binder| image:: https://mybinder.org/badge.svg
   :target: https://mybinder.org/v2/gh/pylbm/pylbm/master
.. |GithubAction| image:: https://github.com/pylbm/pylbm/workflows/ci/badge.svg
.. |Gitter Badge| image:: https://badges.gitter.im/pylbm/pylbm.svg
   :alt: Join the chat at https://gitter.im/pylbm/pylbm
   :target: https://gitter.im/pylbm/pylbm?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge
.. |Doc badge| image:: https://readthedocs.org/projects/pylbm/badge/?version=latest
   :target: http://pylbm.readthedocs.io/en/latest/

pylbm is an all-in-one package for numerical simulations using Lattice Boltzmann solvers.

This package gives all the tools to describe your lattice Boltzmann scheme in 1D, 2D and 3D problems.

We choose the D'Humières formalism to describe the problem. You can have complex geometry with a set of simple shape like circle, sphere, ...

pylbm performs the numerical scheme using Cython, NumPy or Loo.py from the scheme and the domain given by the user. Pythran and Numba wiil be available soon. pylbm has MPI support with mpi4py.

Installation
============

You can install pylbm in several ways

**With mamba or conda**

.. code:: bash

   mamba install pylbm -c conda-forge

.. code:: bash

   conda install pylbm -c conda-forge

With Pypi
---------

.. code::

   pip install pylbm

or

.. code::

   pip install pylbm --user

From source
-----------

You can also clone the project and install the latest version

.. code::

   git clone https://github.com/pylbm/pylbm

To install pylbm from source, we encourage you to create a fresh environment using conda.

.. code::

    conda create -n pylbm_env python

As mentioned at the end of the creation of this environment, you can activate it
using the comamnd line

.. code::

    conda activate pylbm_env

Now, you just have to go into the pylbm directory that you cloned and install
the dependencies

.. code::

    conda install --file requirements-dev.txt -c conda-forge

and then, install pylbm

.. code::

   python setup.py install

For more information about what you can achieve with pylbm, take a look at the documentation

`<http://pylbm.readthedocs.io>`_

