SearcharxivSearch

arXiv subjects

Ashwin Vishnu Mohanan

Publications and source records attributed to Ashwin Vishnu Mohanan.

4 recordsLinked to original sources

Vertical convection regimes in a two-dimensional rectangular cavity: Prandtl and aspect ratio dependance

Vertical convection is the fluid motion that is induced by the heating and cooling of two opposed vertical boundaries of a rectangular cavity (see e.g. Wang et al. 2021). We consider the linear stability of the steady two-dimensional flow reached at Rayleigh numbers of O($10^8$). As a function of the Prandtl number, $Pr$, and the height-to-width aspect ratio of the domain, $A$, the base flow of each case is computed numerically and linear simulations are used to obtain the properties of the leading linear instability mode. Flow regimes depend on the presence of a circulation in the entire cavity, detachment of the thermal layer from the boundary or the corner regions, and on the oscillation frequency relative to the natural frequency of oscillation in the stably temperature-stratified interior, allowing for the presence of internal waves or not. Accordingly the regime is called slow or fast, respectively. Either the global circulation or internal waves in the interior may couple the top and bottom buoyancy currents, while their absence implies asymmetry in their perturbation amplitude. Six flow regimes are found in the range of $0.1 \leq Pr \leq 4$ and $0.5 \leq A \leq 2$. For $Pr \lessapprox 0.4 $ and $A>1$ the base flow is driven by a large circulation in the entire cavity. For $Pr \gtrapprox 0.7$ the thermal boundary layers are thin and the instability is driven by the motion along the wall and the detached boundary layer. A transition between these regimes is marked by a dramatic change in oscillation frequency at $Pr = 0.55 \pm0.15$ and $A <2$.

physics.flu-dyn

FluidDyn: a Python open-source framework for research and teaching in fluid dynamics

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, Mohanan et al. (2018a,b). 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.

cs.OH

FluidFFT: common API (C++ and Python) for Fast Fourier Transform HPC libraries

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 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.

cs.MS

FluidSim: modular, object-oriented Python package for high-performance CFD simulations

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 (Augier et al., 2018), 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 (Mohanan et al., 2018). The present article describes the design aspects of fluidsim, viz. 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.

cs.CE