diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index c24ef6b90e2e01cc979b09f4b6f0f391edf92742..0e55d2c8ac55ba7887063052d54c37af8f1c08ff 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -1,7 +1,7 @@ # gitlab-ci file for aedmi default: - image: rboman/waves-py3:2020.3 + image: rboman/waves-py3:2023.0 .global_tag: &global_tag_def tags: diff --git a/README.md b/README.md index 8a2690dc877407783b7fa448ccfed2fd89349033..e19004d0e17bb343f309abe42ce765b6df827bb6 100644 --- a/README.md +++ b/README.md @@ -1,20 +1,26 @@ # aedmi Aeroelastic flutter solution based on dynamic modes interpolation -University of Liège, 2021 +University of Liège, 2021 +:warning: +This code is a partial transcription of the method discribed in [this PhD thesis](https://hdl.handle.net/2268/245578) 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: +- [OMFlut](https://gitlab.uliege.be/am-dept/omflut) +- [SDPM](https://gitlab.uliege.be/am-dept/sdpm) +- [PyPk](https://gitlab.uliege.be/am-dept/pypk) +:warning: ## 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](http://hdl.handle.net/2268/245578). 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 python 3 interpreter and its libraries, as well the `numpy`, and `scipy`. The `vtk` packages is also needed to read VTK formatted date, and the `matplotlib` package is optional (needed to save the graphical solution to disk). +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. ```bash sudo apt-get update sudo apt-get install python3-dev -sudo apt-get install python3-numpy python3-scipy python3-vtk7 python3-matplotlib +sudo apt-get install python3-numpy python3-scipy python3-vtk9 python3-matplotlib ``` ### Windows and MacOS