Code and data for "Theory and simulation of elastoinertial rectification of oscillatory flows in two-dimensional deformable rectangular channels" (Version 2)
Abstract
Oscillatory flows between deformable boundaries frequently occur in various processes within engineered and biological systems. The fluid–structure interaction problem, and specifically the two-way pressure-deformation coupling that arises due to the flow in a compliant channel, is central to applications. A complete understanding of oscillatory flow in a compliant 2D channel (a canonical configuration) has not been achieved; specifically, developing the elastoinertial theory and benchmarking its predictions against detailed simulation data remains a knowledge gap. The goal of this work is to address these knowledge gaps. This work undertook a theoretical and computational investigation of a two-way-coupled oscillatory flow of a Newtonian fluid in a 2D rectangular channel with a confined elastic layer serving as its top wall. First, we developed a reduced-order mathematical model, assuming weak channel compliance but without restricting the oscillation frequency, from which we derived expressions for the primary and secondary cycle-averaged (streaming) pressure profiles and the flow-rate enhancement. Second, to validate our theory, we performed arbitrary Lagrangian–Eulerian fluid–structure interaction (ALE-FSI) simulations using a finite-element solver implemented in FEniCS and compared the pressure and displacement profiles predicted by the theory with those from the simulations. This data set provides the Python scripts to simulate fluid–structure interaction in a two-dimensional deformable channel subjected to an oscillatory pressure boundary condition at the inlet, along with the parameters used in the manuscript. A Python distribution and FEniCS 2019.1.0 with mshr are required to run the scripts. Note that these are legacy packages, so it is recommended to create a fresh Conda environment for them via "conda create -n fenicsproject -c conda-forge fenics mshr" and run the FEniCS codes within this environment. The filenames encode the simulation parameters. For example, 'FSIGm0pt5Wo1.py' corresponds to an elastoviscous number (Gm, i.e., γ) of 0.5 and a Womersley number (Wo) of 1. A zip file containing the output (a collection of .vtu and .csv raw data files) for each Python script is provided, with the same filename (e.g., 'FSIGm0pt5Wo.zip'). The raw data can be processed using standard methods, including using Paraview. In each .csv file, the first column is the position along the channel, the second column is the value of the quantity mentioned in the filename, as made clear from the post-processing MATLAB scripts. A README file provides general details on how to rerun any of the simulations using Python scripts and modify properties/parameters. The MATLAB script ('FinalPlotting.m') for post-processing the raw data and generating the figures in the manuscript is also provided. Finally, 'Theory.zip' contains 3 MATLAB scripts (.m files) to generate the theoretical plots in Fig. 3, as well as raw data in .mat format. A MATLAB installation is required to run or open these scripts and data. Inferences based on these results/plots and discussion of their meaning/implications can be found in the published manuscript.
Publication details
- Journal / source
- Purdue University Research Repository
- Publication date
- 16 June 2026
- Language
- EN
- Document type
- Dataset