FluidSim: Modular, Object-Oriented Python Package for High-Performance CFD Simulations - Archive ouverte HAL Accéder directement au contenu
Article Dans Une Revue Journal of Open Research Software Année : 2019

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

Résumé

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.
Fichier principal
Vignette du fichier
239-3413-1-PB(2).pdf (1.99 Mo) Télécharger le fichier
Origine : Fichiers produits par l'(les) auteur(s)

Dates et versions

hal-02121919 , version 1 (10-12-2020)

Identifiants

Citer

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, 2019, 7, ⟨10.5334/jors.239⟩. ⟨hal-02121919⟩
208 Consultations
167 Téléchargements

Altmetric

Partager

Gmail Facebook X LinkedIn More