Skip to content
GitLab
Explore
Sign in
Register
Primary navigation
Search or go to…
Project
F
fluidsim
Manage
Activity
Members
Labels
Plan
Issues
Issue boards
Milestones
Wiki
Code
Merge requests
Repository
Branches
Commits
Tags
Repository graph
Compare revisions
Snippets
Build
Pipelines
Jobs
Pipeline schedules
Artifacts
Deploy
Releases
Container Registry
Model registry
Operate
Environments
Monitor
Incidents
Service Desk
Analyze
Value stream analytics
Contributor analytics
CI/CD analytics
Repository analytics
Model experiments
Help
Help
Support
GitLab documentation
Compare GitLab plans
Community forum
Contribute to GitLab
Provide feedback
Terms and privacy
Keyboard shortcuts
?
Snippets
Groups
Projects
Show more breadcrumbs
fluiddyn
fluidsim
Commits
c1fab8d3
Commit
c1fab8d3
authored
6 years ago
by
Pierre Augier
Browse files
Options
Downloads
Plain Diff
Merged in gfdyn/fluidsim (pull request
#32
)
README refactor
parents
504428bc
458ace41
No related branches found
No related tags found
No related merge requests found
Changes
4
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
4 changed files
.travis.yml
+1
-0
1 addition, 0 deletions
.travis.yml
README.rst
+88
-49
88 additions, 49 deletions
README.rst
doc/logo.svg
+293
-0
293 additions, 0 deletions
doc/logo.svg
tox.ini
+3
-3
3 additions, 3 deletions
tox.ini
with
385 additions
and
52 deletions
.travis.yml
+
1
−
0
View file @
c1fab8d3
...
...
@@ -2,6 +2,7 @@
python
:
-
3.6
-
3.7
env
:
-
TOXENV=py,codecov-travis OMPI_CC=/usr/bin/gcc-6 OMPI_CXX=/usr/bin/g++-6
...
...
This diff is collapsed.
Click to expand it.
README.rst
+
88
−
49
View file @
c1fab8d3
======
==
FluidSim
======
==
======
|logo|
======
...
...
@@ -4,7 +4,10 @@
|release| |docs| |coverage| |travis|
|release| |pyversions| |docs| |coverage| |travis|
.. |logo| image:: https://bitbucket.org/fluiddyn/fluidsim/raw/default/doc/logo.svg
:alt: FluidSim
.. |release| image:: https://badge.fury.io/py/fluidsim.svg
:target: https://pypi.python.org/pypi/fluidsim/
:alt: Latest version
...
...
@@ -6,8 +9,11 @@
.. |release| image:: https://badge.fury.io/py/fluidsim.svg
:target: https://pypi.python.org/pypi/fluidsim/
:alt: Latest version
.. |pyversions| image:: https://img.shields.io/pypi/pyversions/fluidsim.svg
:alt: Supported Python versions
.. |docs| image:: https://readthedocs.org/projects/fluidsim/badge/?version=latest
:target: http://fluidsim.readthedocs.org
:alt: Documentation status
...
...
@@ -24,12 +30,10 @@
:target: https://mybinder.org/v2/gh/fluiddyn/fluidsim/master?filepath=doc%2Fipynb
:alt: Binder notebook
Fluidsim is a framework for studying fluid dynamics with numerical
simulations using Python. It is part of the wider project `FluidDyn
<https://pypi.python.org/pypi/fluiddyn/>`_.
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.
...
...
@@ -31,6 +35,68 @@
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 fluiddyn [--user]
pip install fluidsim [--user]
Add ``--user`` flag if you are installing without setting up a virtual
environment.
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. 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>`__
2. OpenMPI or equivalent
3. Python packages ``fluiddyn mako cython pyfftw pythran mpi4py``
4. `A C++11 compiler and BLAS
libraries <https://github.com/serge-sans-paille/pythran#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``
6. `Configure
<https://fluidsim.readthedocs.io/en/latest/install.html#basic-installation-with-pip>`__
``~/.fluidsim-site.cfg`` to activate some solver-specific Pythran
extensions
**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>`_
...
...
@@ -36,8 +102,9 @@
Fluidsim is a `HPC <https://en.wikipedia.org/wiki/High-performance_computing>`_
code written mostly in Python. It uses 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>`_, a
new static Python compiler which produces very efficient binaries by compiling
Python via C++11.
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.
...
...
@@ -43,5 +110,5 @@
An advantage of a CFD code written mostly in Python is that to run simulations
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
...
...
@@ -45,9 +112,10 @@
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.
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**.
...
...
@@ -50,10 +118,10 @@
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.
*Keywords and ambitions*: fluid dynamics research with Python (
>=3.6);
modular, object-oriented, collaborative, tested and
documented, free and
open-source software.
License
-------
...
...
@@ -63,32 +131,3 @@
.. _CeCILL: http://www.cecill.info/index.en.html
Installation
------------
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. From the root directory::
python setup.py develop
To try fluidsim online: |binder|
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
This diff is collapsed.
Click to expand it.
doc/logo.svg
0 → 100644
+
293
−
0
View file @
c1fab8d3
This diff is collapsed.
Click to expand it.
tox.ini
+
3
−
3
View file @
c1fab8d3
...
...
@@ -10,8 +10,8 @@
# this directory.
[tox]
envlist
=
py{36}
py{36}-pythran
py{36
,37
}
py{36
,37
}-pythran
lint
codecov
...
...
@@ -41,7 +41,7 @@
xarray
hg+https://bitbucket.org/fluiddyn/fluiddyn
#egg=fluiddyn
hg+https://bitbucket.org/fluiddyn/fluidfft
#egg=fluidfft
py36-
pythran:
git+https://github.com/serge-sans-paille/pythran
#egg=pythran[deps]
pythran:
git+https://github.com/serge-sans-paille/pythran
#egg=pythran[deps]
commands
=
make
_tests_coverage
...
...
This diff is collapsed.
Click to expand it.
Preview
0%
Loading
Try again
or
attach a new file
.
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Save comment
Cancel
Please
register
or
sign in
to comment