aedmi
Aeroelastic flutter solution based on dynamic modes interpolation
University of Liège, 2021
⚠️
This code is a partial transcription of the method discribed in this PhD thesis for calculating flutter using high-fidelity aerodynamics. It is given as a reference and is not intented for general purpose analysis and optimization. Users interested in practical flutter-constrained optimization problems should explore the following codes:
Features
aedmi computes the solution of the aeroelastic equation u/l * M * p^2 + K - 1/2*r*u^2 * Q(k) = 0
, where M
and K
are the modal mass and stiffness matrices of the structure, Q
is the modal aerodynamic loads matrix, u
and r
are the freestream fluid velocity and density, and l
is a reference length. p
is a non-dimensional parameter defined as p = (g+1i)*k
, where g
is the true damping and k is the reduced frequency.
The flutter solution is obtained using a kind of reduced order modeling technique called dynamic mode interpolation. This technique was originally developed by Hüseyin Güner during his doctoral thesis. Practically, the mode shapes of the structure are first pre-computed. Then, the aerodynamic loads at some reference Mach numbers and reduced frequencies are pre-computed by imposing the motion for each structural mode shape. Finally, aedmi will compute the modal load matrix Q
for each Mach number and reduced frequency, and solve the aeroelastic system by interpolating this matrix for any reduced frequency.
Requirements
aedmi needs a Python3 interpreter and its libraries, as well the numpy
, and scipy
. The vtk
packages is also needed to read VTK formatted data, and the matplotlib
package is optional (needed to save the graphical solution to disk).
Linux
If you are using Linux, you can install python and the packages using Aptitude.
sudo apt-get update
sudo apt-get install python3-dev
sudo apt-get install python3-numpy python3-scipy python3-vtk9 python3-matplotlib
Windows and MacOS
If you are using Windows or MacOS, you can install python from the installer provided on the python's official site and the packages using pip.
python3 -m pip install numpy
python3 -m pip install scipy
python3 -m pip install vtk
python3 -m pip install matplotlib
Usage
Run a computation by calling python3 run.py path --fig
, where
-
path
is the (required) path to a python script or to a directory containing several python scripts, -
--fig
is an (optional) flag that indicates to create plots and to save them to disk.
Output files will be saved in your current working directory under a workspace
directory.
aedmi does not perform any structural or aerodynamic computations. Therefore, the structural mode shapes and the aerodynamic pressure coefficients must be provided. Currently, aedmi can read ASCII/binary VTK and ASCII Tecplot data. Note that both the mode shapes and the pressure coefficients must be provided at the nodes on the same mesh.