Framework for studying fluid dynamics with simulations.


Keywords
Fluid, dynamics, research
License
GPL-3.0
Install
pip install fluidsim==0.8.1

Documentation

FluidSim

Latest version Documentation status Code coverage Travis CI status

Fluidsim is a framework for studying fluid dynamics with numerical simulations using Python. It is part of the wider project FluidDyn.

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.

Fluidsim is a HPC code written mostly in Python. It uses the library fluidfft to use very efficient FFT libraries. Fluidfft is written in C++, Cython and python. Fluidfft and fluidsim take advantage of Pythran, a new static Python 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 complicate analysis or to write a modified solver.

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

Key words and ambitions: fluid dynamics research with Python (2.7 or >= 3.4); modular, object-oriented, collaborative, tested and documented, free and open-source software.

License

FluidDyn is distributed under the CeCILL License, a GPL compatible french license.

Installation

You can get the source code from Bitbucket or from the Python Package Index.

The development mode is often useful. From the root directory:

python setup.py develop

To try fluidsim online: Binder notebook

Tests

From the root directory:

make tests
make tests_mpi

Or, from the root directory or from any of the "test" directories:

python -m unittest discover

Alternatively, if you have installed FluidSim using pip or easy_install:

fluidsim-test
mpirun -np 2 fluidsim-test