Metadata-Version: 2.1
Name: fluidsim
Version: 0.3.2
Summary: Framework for studying fluid dynamics with simulations.
Home-page: https://bitbucket.org/fluiddyn/fluidsim
Author: Pierre Augier
Author-email: pierre.augier@legi.cnrs.fr
License: CeCILL
Description: 
        .. |binder| image:: https://mybinder.org/badge_logo.svg
           :target: https://mybinder.org/v2/gh/fluiddyn/fluidsim/master?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 --no-cache-dir [--user]
        
        Add ``--user`` flag if you do not have permission to write in the directory of
        the python executable and you don't want to / can't setup a virtual environment
        or use pyenv or conda.
        
        Installation
        ------------
        
        To take full advantage of fluidsim, consider installing the following
        (optional) dependencies and configurations before installing fluidsim. Click on
        the links to know more:
        
        1. OpenMPI or equivalent
        2. FFT libraries such as MPI-enabled FFTW (for 2D and 3D solvers) and P3DFFT,
           PFFT (for 3D solvers) either using a package manager or `from source
           <https://fluidfft.readthedocs.io/en/latest/install/fft_libs.html>`__
        3. Install optional Python `package dependencies
           <https://fluidsim.readthedocs.io/en/latest/install.html#dependencies>`__
        4. `A C++11 compiler and BLAS
           libraries <https://pythran.readthedocs.io/en/latest/#installation>`__ and
           `configure
           <https://fluidsim.readthedocs.io/en/latest/install.html#dependencies>`__
           ``~/.pythranrc`` to customize compilation of Pythran extensions
        5. `Configure
           <https://fluidfft.readthedocs.io/en/latest/install.html#basic-installation-with-pip>`__
           ``~/.fluidfft-site.cfg`` to detect the FFT libraries and install
           ``fluidfft``
        
        **Note**: Detailed instructions to install the above dependencies using Anaconda
        / Miniconda or in a specific operating system such as Ubuntu, macOS etc. can be
        found `here
        <https://fluiddyn.readthedocs.io/en/latest/get_good_Python_env.html>`__.
        
        You can get the source code from `Bitbucket
        <https://bitbucket.org/fluiddyn/fluidsim>`__ or from `the Python
        Package Index <https://pypi.python.org/pypi/fluidsim/>`__.
        The development mode is often useful if you intend to modify fluidsim . From
        the root directory::
        
          python setup.py develop
        
        Tests
        -----
        After installing fluidsim run the tests to ensure everything works::
        
          fluidsim-test
          mpirun -np 2 fluidsim-test
        
        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}
            }
        
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
Requires-Python: >= 3.6
Provides-Extra: doc
Provides-Extra: dev
Provides-Extra: mpi
Provides-Extra: full
Provides-Extra: sphere
Provides-Extra: fft
Provides-Extra: test
