Data from: Energy harvesting in a flow-induced vibrating flapper with biomimetic gaits
Abstract
Energy harvesting from flow induced vibrations (FIV) in flexible bodies offer opportunities for power generation in biomimicking robotic devices and is an active area of research. The focus of this study is on investigating the underlying physics and qualitatively analysing the energy extraction scenarios in similar structural systems, comprising of a flexible piezoelectric flapper in a low Reynolds number flow regime. A high-fidelity three-way fully coupled fluid-structure-electric energy solver is developed in-house to study the energy harvesting capabilities of such a flapper, its hydrodynamic characteristics and the associated unsteady flow-field. The results indicate that the flapper deformation profiles at the most efficient harvesting regimes, resemble the propulsion gaits of natural swimmers. Investigations on the effects of a sinusoidal heaving actuation reveal no significant impact on the harvested power at the high yield (high power output) regime, identified under the passive condition showing biomimetic gait. This study provides mechanics based insights that is expected to be useful for bio-inspired designs of FIV based harvesters.
Flow induced vibrating flappers with biomimetic gaits are energy efficient
This dataset contains all the raw data derived from the direct simulation for the range of parametric space. These datasets have been used for post-processing to get the derived datasets as well as to generate the figures.
Description of the Data and file structure
Convergence studies
=11,51,101
$=01,004,002
*=001,0001
These numbers denote the level of fineness of element, grid and time-step size used in the folder numbering.
cd IJMS_submission/IJMS submission/Data/ Data\\\ folder/convergence_tests/element/n=*
/mesh/grid=$
/time/t=**
xf_total.dat: 1st column contains time stamps, 2-nd column contains X displacement location time history along the flapper arc length.
yf_total.dat: 1st column contains time stamps, 2-nd column contains Y displacement location time history along the flapper arc length.
Voltage.dat: Contains time history of non dimensional and dimensional voltage in column-2,4 respectively. (note that, the dimensional voltage depends on the chosen dimensional parameters.)
For passive configuration
[xx,yy]={[10^-2, 0.5], [10^-2, 1], [7.510^-3,2.5], [10^-3,1], [510^-4,0.1]}
cd IJMS_submission/IJMS submission/Data/ Data\\\ folder/passive_cases/RegimeA:gamma=xx_beta=yy/
Flow_field.dat : contains velocity data over the whole domain at the time instant where the flapper reaches its maxima.
body_profile_for_flow_field.dat: contains body profile shape at same instant (X,Y locations).
displacement_time_hist_X.dat: X displacement location time history along the flapper.
displacement_time_hist_Y.dat: Y displacement location time history along the flapper .
lift_for_Fv_cal.dat: lift time history varying over the flapper.
drag_for_Fv_cal.dat: drag time history varying over the flapper.
Cd_Cl_for_meanCd_Zeta_cal.txt: Total CD CL time history.
Voltage.dat: Contains time history of non dimensional and dimensional voltage in column-2. (note that, the dimensional voltage(column-4) depends on the chosen dimensional parameters.)
Data/Data folder/passive_cases/data_for_pn.xlsx: Contains the tip excursion (Am), frequency of oscillation (f), Strouhal numbers(St), power coefficient (Pn) for figures Fig.4 and Fig.7 along with beta and gamma values.
Data/Data folder/passive_cases/data_for_angle_zeta.xlsx: Contains the RMS passive pitching angle (alpha_rms), , aero/hydrodynamic efficiency (zeta) for Fig.6 along with beta and gamma values.
For active configuration
[*,$]={ [1,1],[1,2],1,4],[1,6],[1,10],[1,12],[1,16],[2,1],[2,2],[2,4],[2,6],[3,0.5],[3,1],[3,2],[3,4]
cd IJMS_submission/IJMS submission/Data/Data folder/active_cases/case*/kappa=$
xf_total.dat : 1st column contains time stamps, 2-end column contains X displacement location time history along the flapper; For Fig.9,10,11.
yf_total.dat : 1st column contains time stamps, 2-end column contains Y displacement location time history along the flapper; For Fig. 9,10,11.
Voltage.dat : 1st column contains time stamps, 2nd column contains non dimensional Voltage time-history . For Fig. 9,10,11.
Data/Data folder/active_cases/data_act_fin.xlsx: Pn_fact.m uses this data to plot Fig.~12.
Sharing/access Information
This data has not yet been used for any other publication
Codes
This codes folder contains all the codes used for direct simulation for the range of parametric space as well as the post-processing
codes used for generating the derived datasets as well as to generate the figures.
Description of the Data and file structure
——-File Description——-
cd IJMS_submission/IJMS submission/source_codes/
main_source_code.cpp: source code for the three-way coupled fluid-structure-energy solver.
——-How to run the source code:——-
step 1: set desired gamma and beta values in main_source_code.cpp.
step 2: load GPU module (nvidia hpc-sdk 20.7 was used)
step 3: compile with
pgc++ -o a.out -acc -Minfo=accel -ta=tesla:cc80 main_source_code.cpp
step 4: set ulimit -s unlimited
step 5: run with ./a.out
——Post processing codes:——-
The specified .dat files can be imported from available data folder in matrix format.
The matlab (.m) codes generate the data and figures.
displacement_time_hist_Y.dat. file provided in dataset.
PSD_disp_frequency.m: code for power spectral density calculation from displacement time history data
Deformation_env_Pn_cal.m: code for generating the Pn and St values. Saved in the data_for_Fig_2_4_5.xlsx
Also generates the deformation envelopes for the particular case.
Import displacement_time_hist_X.dat, displacement_time_hist_Y.dat in xf and yf variables for the envelopes.
Pn_st_plot.m: code for post processing of data_for_2_5.xlsx. Generates Pn vs Am plot and Pn vs St plot.
alpha_rms_Cd_zeta.m: code for getting rms values of passive pitching angle, mean Cd and zeta from displacement_time_hist_X.dat,displacement_time_hist_Y.dat,
Cd_Cl_for_meanCd_Zeta_cal.txt and saved in data_for_angle_zeta.xlsx.
plot_Fig4.m: code for post-processing of data_for_angle_zeta.xlsx.dat, to generate vs alpha_rms and zeta vs alpha_rms with second order polynomial curve fitting in Fig.6 Fv_new.m: code for calculating
Fv from the temporally and spatially varying lift and drag loads in lift_for_Fv_cal.dat and drag_for_Fv_cal.dat, using displacement matrices: displacement_time_hist_X.dat, displacement_time_hist_Y.dat.
Pn_fact.m: code for plotting Pn vs f_act in Fig. 12.
strain_rate.m: Import xf_total.txt and yf_total.txt and run Deformation_env_Pn_cal.m for Fig. D.19.
This dataset includes the codes used for the simulation in the manuscript, as well as the data generated from it. A range of flexibility and inertia parameters were used in the same code to generate the data listed in the .dat, .txt files. These datasets were used for post-processing by post-processing codes (also included here) to generate the .csv files. Details are provided in the corresponding readme.md file.
These datasets (.csv,.dat) were used to generate the figures (.fig->.eps files) with the post processing codes. The saved .eps files are then post-processed by using inkscape to generate a combined figure in .eps format. The schematics are also drawn in inkscape. Details of the data usage guidelines are mentioned in the readme file.
The .dat, .txt files can be opened with any text reader (e.g. text editor)
The .csv files can be opened with any excel file reader (Microsoft Excel/LibreOffice Calc)
The .m codes can be opened and run by any version of Matlab (preferably >2021a).
The .cpp files can be opened by gedit and run with pgc compilers. (details provided in the readme file for the code)
