Skip to Main content Skip to Navigation
Journal articles

FluidSim: Modular, Object-Oriented Python Package for High-Performance CFD Simulations

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 [2], an effort to promote opensource 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 [11]. 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.
Document type :
Journal articles
Complete list of metadata

https://hal.archives-ouvertes.fr/hal-02121919
Contributor : Pierre Augier Connect in order to contact the contributor
Submitted on : Thursday, December 10, 2020 - 4:16:18 PM
Last modification on : Wednesday, November 3, 2021 - 6:02:57 AM
Long-term archiving on: : Thursday, March 11, 2021 - 8:27:38 PM

File

239-3413-1-PB(2).pdf
Files produced by the author(s)

Identifiers

Collections

UGA | CNRS | LEGI | GENCI

Citation

Ashwin Vishnu Mohanan, Cyrille Bonamy, Miguel Calpe Linares, Pierre Augier. FluidSim: Modular, Object-Oriented Python Package for High-Performance CFD Simulations. Journal of Open Research Software, Ubiquity Press, 2019, 7, ⟨10.5334/jors.239⟩. ⟨hal-02121919⟩

Share

Metrics

Les métriques sont temporairement indisponibles