1. |
- Augier, Pierre, et al.
(author)
-
FluidDyn: A Python Open-Source Framework for Research and Teaching in Fluid Dynamics by Simulations, Experiments and Data Processing
- 2019
-
In: Journal of Open Research Software. - United Kingdom : Ubiquity Press, Ltd.. - 2049-9647. ; 7:1
-
Journal article (peer-reviewed)abstract
- FluidDyn is a project to foster open-science and open-source in the fluid dynamics community. It is thought of as a research project to channel open-source dynamics, methods and tools to do science. We propose a set of Python packages forming a framework to study fluid dynamics with different methods, in particular laboratory experiments (package fluidlab), simulations (packages fluidfft, fluidsim and fluidfoam) and data processing (package fluidimage). In the present article, we give an overview of the specialized packages of the project and then focus on the base package called fluiddyn, which contains common code used in the specialized packages. Packages fluidfft and fluidsim are described with greater detail in two companion papers [4, 5]. With the project FluidDyn, we demonstrate that specialized scientific code can be written with methods and good practices of the open-source community. The Mercurial repositories are available in Bitbucket (https://bitbucket.org/fluiddyn/). All codes are documented using Sphinx and Read the Docs, and tested with continuous integration run on Bitbucket Pipelines and Travis. To improve the reuse potential, the codes are as modular as possible, leveraging the simple object-oriented programming model of Python. All codes are also written to be highly efficient, using C++, Cython and Pythran to speedup the performance of critical functions.
|
|
2. |
|
|
3. |
- Augier, Pierre, et al.
(author)
-
Reducing the ecological impact of computing through education and Python compilers
- 2021
-
In: Nature Astronomy. - : Springer Science and Business Media LLC. - 2397-3366. ; 5:4, s. 334-335
-
Journal article (peer-reviewed)abstract
- We read with interest the Comment by Portegies Zwart on the ecological impact of high-performance computing in astrophysics. We fully agree with its take-home message: scientists should be mindful of their carbon footprint. One of the proposed solutions, however, is to avoid the Python programming language. We contend that this would be counterproductive and that scientific programs written in Python can be efficient and energy-friendly. We argue that human factors, such as education, and the advancement of compiler technology are much more important than choice of language.
|
|
4. |
- Augier, Pierre, et al.
(author)
-
Shallow water wave turbulence
- 2019
-
In: Journal of Fluid Mechanics. - : Cambridge University Press. - 0022-1120 .- 1469-7645. ; 874, s. 1169-1196
-
Journal article (peer-reviewed)abstract
- The dynamics of irrotational shallow water wave turbulence forced in large scales and dissipated at small scales is investigated. First, we derive the shallow water analogue of the `four-fifths law' of Kolmogorov turbulence for a third order structure function involving velocity and displacement increments. Using this relation and assuming that the flow is dominated by shocks we develop a simple model predicting that the shock amplitude scales as (ϵd)1/3, where ϵ is the mean dissipation rate and d the mean distance between the shocks, and that the pth order displacement and velocity structure functions scale as (ϵd)p/3r/d, where r is the separation. Then we carry out a series of forced simulations with resolutions up to 76802, varying the Froude number, Ff=ϵ1/3/ckf1/3, where kf is the forcing wave number and c is the wave speed. In all simulations a stationary state is reached in which there is a constant spectral energy flux and equipartition between kinetic and potential energy in the constant flux range. The third order structure function relation is satisfied with a high degree of accuracy. Mean energy is found to scale as E∼√(ϵc/kf), and is also dependent on resolution, indicating that shallow water wave turbulence does not fit into the paradigm of a Richardson-Kolmogorov cascade. In all simulations shocks develop, displayed as long thin bands of negative divergence in flow visualisations. The mean distance between the shocks is found to scale as d∼Ff1/2/kf. Structure functions of second and higher order are found to scale in good agreement with the model. We conclude that in the weak limit, Ff→0, shocks will become denser and weaker and finally disappear for a finite Reynolds number. On the other hand, for a given Ff, no matter how small, shocks will prevail if the Reynolds number is sufficiently large.
|
|
5. |
- Campagne, Antoine, et al.
(author)
-
First report of the MILESTONE experiment: strongly stratified turbulence and mixing efficiency in the Coriolis platform
- 2016
-
In: <em>VIIIth International Symposium on Stratified Flows (ISSF)</em>, 2016.
-
Conference paper (peer-reviewed)abstract
- Strongly stratified turbulence is a possible interpretation of oceanic and atmospheric mea-surements. However, this regime has never been produced in a laboratory experiment be-cause of the two conditions of very small horizontal Froude number Fh and large buoyancy Reynolds number R which require a verily large experimental facility. We present a new attempt to study strongly stratified turbulence experimentally in the Coriolis platform.The flow is forced by a slow periodic movement of an array of six vertical cylinders of 25 cm diameter with a mesh of 75 cm. Five cameras are used for 3D-2C scanned horizontalparticles image velocimetry (PIV) and stereo 2D vertical PIV. Five density-temperatureprobes are used to measure vertical and horizontal profiles and signals at fixed positions.The first preliminary results indicate that we manage to produce strongly stratified tur-bulence at very small Fh and large R in a laboratory experiment.
|
|
6. |
- Lindborg, Erik, et al.
(author)
-
A two-dimensional toy model for geophysical turbulence
- 2017
-
In: Physics of fluids. - : American Institute of Physics (AIP). - 1070-6631 .- 1089-7666. ; 29:11
-
Journal article (peer-reviewed)abstract
- A toy model for large scale geophysical turbulence is constructed by making two modifications of the shallow water model. Unlike the shallow water model, the toy model has a quadratic expression for total energy, which is the sum of Available Potential Energy (APE) and Kinetic Energy (KE). More importantly, in contrast to the shallow water model, the toy model does not produce any shocks. Three numerical simulations with different forcing are presented and compared with the simulation of a full General Circulation Model (GCM). The energy which is injected cascades in a similar way as in the GCM. First, some of the energy is converted from APE to KE at large scales. The wave field then undergoes a forward energy cascade displaying shallow spectra, close to k−5/3, for both APE and KE, while the vortical field either displays a k−3-spectrum or a more shallow spectrum, close to k−5/3, depending on the forcing. In a simulation with medium forcing wave number, some of the energy which is converted from APE to KE undergoes an inverse energy cascade which is produced by nonlinear interactions only involving the rotational component of the velocity field. The inverse energy cascade builds up a vortical field at larger scales than the forcing scale. At these scales, coherent vortices emerge with a strong dominance of anticyclonic vortices. The relevance of the simulation results to the dynamics of the atmosphere is discussed as in possible continuations of the investigation.
|
|
7. |
- Mohanan, Ashwin Vishnu, 1989-
(author)
-
Advancements in stratified flows through simulation, experiment and open research software development
- 2019
-
Doctoral thesis (other academic/artistic)abstract
- Two studies of two-dimensional models of flows influenced by stratification and stratification/rotation are carried out in order to investigate whether a two-dimensional model can reproduce a downscale energy cascade with an associated k − 5/3 wavenumber spectrum. Firstly, a series of highly resolved numerical simulations of the classical shallow water model is carried out. A forward energy cascade is observed but the dynamics is dominated by shocks, with an associated k −2-spectrum. A theory for shallow water wave turbulence is formulated and compared to the results from the simulations. Secondly, a series of simulations of a new two-dimensional toy model is carried out, showing that the model is not generating shocks and can reproduce a downscale energy cascade with an associated k − 5/3 spectrum. The energy transfer is studied in detail in Fourier space and is compared with results from a general circulation model. An experimental study of strongly stratified turbulence at the Coriolis platform in Grenoble is carried out, with the aim of testing novel theories of stratified turbulence. Turbulence is generated by traversing an array of cylinders through a tank containing stratified salt water. Velocity is measured by Particle Image Velocimetry (PIV) and density is measured by conductivity probes. In particular, the author has developed the software system analysing the PIV images. Preliminary results from the experiment are presented. To realise the research objectives, a set of open-source software packages are developed in Python, under the umbrella of the FluidDyn project. The packages enable execution of simulations, experiments and processing of data. The codes are well documented, tested and designed to promote development and reuse.
|
|
8. |
- Mohanan, Ashwin Vishnu, 1989-, et al.
(author)
-
FluidFFT: Common API (C++ and Python) for Fast Fourier Transform HPC Libraries
- 2019
-
In: Journal of Open Research Software. - United Kingdom : Ubiquity Press. - 2049-9647. ; 7:1
-
Journal article (peer-reviewed)abstract
- The Python package fluidfft provides a common Python API for performing Fast Fourier Transforms (FFT) in sequential, in parallel and on GPU with different FFT libraries (FFTW, P3DFFT, PFFT, cuFFT). fluidfft is a comprehensive FFT framework which allows Python users to easily and efficiently perform FFT and the associated tasks, such as computing linear operators and energy spectra. We describe the architecture of the package composed of C++ and Cython FFT classes, Python “operator” classes and Pythran functions. The package supplies utilities to easily test itself and benchmark the different FFT solutions for a particular case and on a particular machine. We present a performance scaling analysis on three different computing clusters and a microbenchmark showing that fluidfft is an interesting solution to write efficient Python applications using FFT.
|
|
9. |
- Mohanan, Ashwin Vishnu, 1989-, et al.
(author)
-
FluidSim: Modular, Object-Oriented Python Package for High-Performance CFD Simulations
- 2019
-
In: Journal of Open Research Software. - United Kingdom : Ubiquity Press. - 2049-9647 .- 2049-9647. ; 7:1
-
Journal article (peer-reviewed)abstract
- The Python package fluidsim is introduced in this article as an extensible framework for Computational Fluid Mechanics (CFD) solvers. It is developed as a part of FluidDyn project, an effort to promote open-source and open-science collaboration within fluid mechanics community and intended for both educational as well as research purposes. Solvers in fluidsim are scalable, High-Performance Computing (HPC) codes which are powered under the hood by the rich, scientific Python ecosystem and the Application Programming Interfaces (API) provided by fluiddyn and fluidfft packages. The present article describes the design aspects of fluidsim, which includes use of Python as the main language; focus on the ease of use, reuse and maintenance of the code without compromising performance. The implementation details including optimization methods, modular organization of features and object-oriented approach of using classes to implement solvers are also briefly explained. Currently, fluidsim includes solvers for a variety of physical problems using different numerical methods (including finite-difference methods). However, this metapaper shall dwell only on the implementation and performance of its pseudo-spectral solvers, in particular the two- and three-dimensional Navier-Stokes solvers. We investigate the performance and scalability of fluidsim in a state of the art HPC cluster. Three similar pseudo-spectral CFD codes based on Python (Dedalus, SpectralDNS) and Fortran (NS3D) are presented and qualitatively and quantitatively compared to fluidsim. The source code is hosted at Bitbucket as a Mercurial repository bitbucket.org/fluiddyn/fluidsim and the documentation generated using Sphinx can be read online at fluidsim.readthedocs.io.
|
|