Skip to main content

Framework for studying fluid dynamics with simulations.

Project description

FluidSim

Latest version Supported Python versions Documentation status Chat room Code coverage Heptapod CI Github Actions

Fluidsim is an extensible framework for studying fluid dynamics with numerical simulations using Python. Fluidsim is an object-oriented library to develop Fluidsim "solvers" (i.e. Python packages solving equations) 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 notebook

For a basic installation it should be sufficient to run:

pip install fluidsim

or with conda/mamba:

conda install -c conda-forge fluidsim

Much more detailed instructions are given in the documentation.

How does it work?

Fluidsim is a HPC code. It is part of the wider project FluidDyn and its pseudospectral solvers rely on the library fluidfft to use very efficient FFT libraries. Fluidfft is written in C++, Cython and Python. Fluidfft and fluidsim take advantage of 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.

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.9); 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.

Metapapers and citations

If you use FluidSim to produce scientific articles, please cite our metapapers presenting the FluidDyn project, FluidFFT, and FluidSim:

@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}
}

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

fluidsim-0.8.1.tar.gz (1.4 MB view hashes)

Uploaded Source

Built Distributions

fluidsim-0.8.1-cp312-cp312-win_amd64.whl (3.2 MB view hashes)

Uploaded CPython 3.12 Windows x86-64

fluidsim-0.8.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (2.8 MB view hashes)

Uploaded CPython 3.12 manylinux: glibc 2.17+ x86-64

fluidsim-0.8.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (2.5 MB view hashes)

Uploaded CPython 3.12 manylinux: glibc 2.17+ ARM64

fluidsim-0.8.1-cp312-cp312-macosx_11_0_arm64.whl (3.1 MB view hashes)

Uploaded CPython 3.12 macOS 11.0+ ARM64

fluidsim-0.8.1-cp312-cp312-macosx_10_9_x86_64.whl (3.9 MB view hashes)

Uploaded CPython 3.12 macOS 10.9+ x86-64

fluidsim-0.8.1-cp311-cp311-win_amd64.whl (3.2 MB view hashes)

Uploaded CPython 3.11 Windows x86-64

fluidsim-0.8.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (2.8 MB view hashes)

Uploaded CPython 3.11 manylinux: glibc 2.17+ x86-64

fluidsim-0.8.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (2.5 MB view hashes)

Uploaded CPython 3.11 manylinux: glibc 2.17+ ARM64

fluidsim-0.8.1-cp311-cp311-macosx_11_0_arm64.whl (3.1 MB view hashes)

Uploaded CPython 3.11 macOS 11.0+ ARM64

fluidsim-0.8.1-cp311-cp311-macosx_10_9_x86_64.whl (3.8 MB view hashes)

Uploaded CPython 3.11 macOS 10.9+ x86-64

fluidsim-0.8.1-cp310-cp310-win_amd64.whl (3.2 MB view hashes)

Uploaded CPython 3.10 Windows x86-64

fluidsim-0.8.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (2.8 MB view hashes)

Uploaded CPython 3.10 manylinux: glibc 2.17+ x86-64

fluidsim-0.8.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (2.5 MB view hashes)

Uploaded CPython 3.10 manylinux: glibc 2.17+ ARM64

fluidsim-0.8.1-cp310-cp310-macosx_11_0_arm64.whl (3.1 MB view hashes)

Uploaded CPython 3.10 macOS 11.0+ ARM64

fluidsim-0.8.1-cp310-cp310-macosx_10_9_x86_64.whl (3.8 MB view hashes)

Uploaded CPython 3.10 macOS 10.9+ x86-64

fluidsim-0.8.1-cp39-cp39-win_amd64.whl (3.2 MB view hashes)

Uploaded CPython 3.9 Windows x86-64

fluidsim-0.8.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (2.8 MB view hashes)

Uploaded CPython 3.9 manylinux: glibc 2.17+ x86-64

fluidsim-0.8.1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (2.5 MB view hashes)

Uploaded CPython 3.9 manylinux: glibc 2.17+ ARM64

fluidsim-0.8.1-cp39-cp39-macosx_11_0_arm64.whl (3.1 MB view hashes)

Uploaded CPython 3.9 macOS 11.0+ ARM64

fluidsim-0.8.1-cp39-cp39-macosx_10_9_x86_64.whl (3.8 MB view hashes)

Uploaded CPython 3.9 macOS 10.9+ x86-64

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page