Metadata-Version: 2.1
Name: fluidsim
Version: 0.5.0.post0
Summary: Framework for studying fluid dynamics with simulations.
Home-page: https://foss.heptapod.net/fluiddyn/fluidsim
Author: Pierre Augier
Author-email: pierre.augier@legi.cnrs.fr
License: CeCILL
Keywords: Fluid dynamics,research
Platform: UNKNOWN
Classifier: Development Status :: 5 - Production/Stable
Classifier: Intended Audience :: Science/Research
Classifier: Intended Audience :: Education
Classifier: Topic :: Scientific/Engineering
Classifier: License :: OSI Approved :: GNU General Public License v2 (GPLv2)
Classifier: Programming Language :: Python
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.6
Classifier: Programming Language :: Python :: 3.7
Classifier: Programming Language :: Python :: 3.8
Classifier: Programming Language :: Python :: 3.9
Requires-Python: >=3.6
License-File: LICENSE.txt
License-File: AUTHORS.rst
Requires-Dist: fluidsim-core (>=0.5.0)
Requires-Dist: h5py
Requires-Dist: h5netcdf
Requires-Dist: transonic (>=0.4.3)
Requires-Dist: setuptools-scm
Requires-Dist: xarray
Requires-Dist: rich
Requires-Dist: matplotlib (>=3.3)
Provides-Extra: dev
Requires-Dist: sphinx ; extra == 'dev'
Requires-Dist: sphinx-rtd-theme ; extra == 'dev'
Requires-Dist: numpydoc ; extra == 'dev'
Requires-Dist: nbsphinx ; extra == 'dev'
Requires-Dist: jupyter ; extra == 'dev'
Requires-Dist: pandas ; extra == 'dev'
Requires-Dist: scipy ; extra == 'dev'
Requires-Dist: pytest ; extra == 'dev'
Requires-Dist: pytest-cov ; extra == 'dev'
Requires-Dist: ipython ; extra == 'dev'
Requires-Dist: mpi4py ; extra == 'dev'
Requires-Dist: pyfftw (>=0.10.4) ; extra == 'dev'
Requires-Dist: fluidfft (>=0.2.7) ; extra == 'dev'
Requires-Dist: fluidsht (>=0.0.3a0) ; extra == 'dev'
Provides-Extra: doc
Requires-Dist: sphinx ; extra == 'doc'
Requires-Dist: sphinx-rtd-theme ; extra == 'doc'
Requires-Dist: numpydoc ; extra == 'doc'
Requires-Dist: nbsphinx ; extra == 'doc'
Requires-Dist: jupyter ; extra == 'doc'
Requires-Dist: pandas ; extra == 'doc'
Requires-Dist: scipy ; extra == 'doc'
Provides-Extra: fft
Requires-Dist: pyfftw (>=0.10.4) ; extra == 'fft'
Requires-Dist: fluidfft (>=0.2.7) ; extra == 'fft'
Provides-Extra: full
Requires-Dist: sphinx ; extra == 'full'
Requires-Dist: sphinx-rtd-theme ; extra == 'full'
Requires-Dist: numpydoc ; extra == 'full'
Requires-Dist: nbsphinx ; extra == 'full'
Requires-Dist: jupyter ; extra == 'full'
Requires-Dist: pandas ; extra == 'full'
Requires-Dist: scipy ; extra == 'full'
Requires-Dist: pytest ; extra == 'full'
Requires-Dist: pytest-cov ; extra == 'full'
Requires-Dist: ipython ; extra == 'full'
Requires-Dist: mpi4py ; extra == 'full'
Requires-Dist: pyfftw (>=0.10.4) ; extra == 'full'
Requires-Dist: fluidfft (>=0.2.7) ; extra == 'full'
Requires-Dist: fluidsht (>=0.0.3a0) ; extra == 'full'
Provides-Extra: mpi
Requires-Dist: mpi4py ; extra == 'mpi'
Provides-Extra: sphere
Requires-Dist: fluidsht (>=0.0.3a0) ; extra == 'sphere'
Provides-Extra: test
Requires-Dist: pytest ; extra == 'test'
Requires-Dist: pytest-cov ; extra == 'test'
Requires-Dist: ipython ; extra == 'test'


.. |binder| image:: https://mybinder.org/badge_logo.svg
   :target: https://mybinder.org/v2/gh/fluiddyn/fluidsim/branch%2Fdefault?urlpath=lab/tree/doc/ipynb
   :alt: Binder notebook

Fluidsim is an extensible framework for studying fluid dynamics with numerical
simulations using Python. Fluidsim is an object-oriented library to develop
solvers (mainly using pseudo-spectral methods) by writing mainly Python code.
The result is **very efficient** even compared to a pure Fortran or C++ code
since the time-consuming tasks are performed by optimized compiled functions.

**Documentation**: https://fluidsim.readthedocs.io

Getting started
---------------

To try fluidsim without installation: |binder|

For a **basic installation** it should be sufficient to run::

  pip install fluidsim

Much more detailed instructions are given in `the documentation
<https://fluidsim.readthedocs.io/en/latest/install.html>`__.

How does it work?
-----------------

Fluidsim is a `HPC <https://en.wikipedia.org/wiki/High-performance_computing>`_
code. It is part of the wider project `FluidDyn
<https://pypi.python.org/pypi/fluiddyn/>`_ and its pseudospectral solvers rely
on the library `fluidfft <http://fluidfft.readthedocs.io>`_ to use very
efficient FFT libraries. Fluidfft is written in C++, Cython and Python.
Fluidfft and fluidsim take advantage of `Pythran
<https://github.com/serge-sans-paille/pythran>`_, an ahead-of-time compiler
which produces very efficient binaries by compiling Python via C++11.

An advantage of a CFD code written mostly in Python is that, to run simulations
and analyze the results, the users communicate (possibly interactively)
together and with the machine with Python, which is nowadays among the best
languages to do these tasks. Moreover, it is much simpler and faster than with
pure Fortran or C++ codes to add any complicated analysis or to write a
modified solver. Fluidsim can also be used to extend existing solvers with
Python interfaces such as `Basilisk <http://basilisk.fr>`__.

We have created fluidsim to be **easy and nice to use and to develop**,
**efficient** and **robust**.

*Keywords and ambitions*: fluid dynamics research with Python (>=3.6);
modular, object-oriented, collaborative, tested and documented, free and
open-source software.

License
-------

FluidSim is distributed under the CeCILL_ License, a GPL compatible french
license.

.. _CeCILL: http://www.cecill.info/index.en.html

Metapapers and citations
------------------------

If you use FluidSim to produce scientific articles, please cite our metapapers
presenting the `FluidDyn project
<https://openresearchsoftware.metajnl.com/articles/10.5334/jors.237/>`__,
`FluidFFT
<https://openresearchsoftware.metajnl.com/articles/10.5334/jors.238/>`__, and
`FluidSim
<https://openresearchsoftware.metajnl.com/articles/10.5334/jors.239/>`__:

.. code ::

    @article{fluiddyn,
    doi = {10.5334/jors.237},
    year = {2019},
    publisher = {Ubiquity Press,  Ltd.},
    volume = {7},
    author = {Pierre Augier and Ashwin Vishnu Mohanan and Cyrille Bonamy},
    title = {{FluidDyn}: A Python Open-Source Framework for Research and Teaching in Fluid Dynamics
        by Simulations,  Experiments and Data Processing},
    journal = {Journal of Open Research Software}
    }

    @article{fluidfft,
    doi = {10.5334/jors.238},
    year = {2019},
    publisher = {Ubiquity Press,  Ltd.},
    volume = {7},
    author = {Ashwin Vishnu Mohanan and Cyrille Bonamy and Pierre Augier},
    title = {{FluidFFT}: Common {API} (C$\mathplus\mathplus$ and Python)
        for Fast Fourier Transform {HPC} Libraries},
    journal = {Journal of Open Research Software}
    }

    @article{fluidsim,
    doi = {10.5334/jors.239},
    year = {2019},
    publisher = {Ubiquity Press,  Ltd.},
    volume = {7},
    author = {Mohanan, Ashwin Vishnu and Bonamy, Cyrille and Linares, Miguel
        Calpe and Augier, Pierre},
    title = {{FluidSim}: {Modular}, {Object}-{Oriented} {Python} {Package} for
        {High}-{Performance} {CFD} {Simulations}},
    journal = {Journal of Open Research Software}
    }


