Create home authored by Adrien Crovato's avatar Adrien Crovato
# OMFlut
OMFlut is a framework built on top of OpenMDAO and is designed to perform flutter analysis and flutter-constrained optimization calculations. The package interfaces a structural solver, an aerodynamic solver, a transfer scheme and a flutter solution method.
## Install and run
If you only want to use OMFlut, you can install it using
```bash
python3 -m pip install . [--user]
```
and then run a case using
```bash
python3 path/to/case.py
```
If you need to develop in OMFlut before using it, you do not need to install anything, and you can just run your case from the repo folder using
```bash
python3 run.py path/to/case.py
```
## Use
OMFlut being built on top of OpenMDAO, any model must derive from an OpenMDAO group. The flutter calculation is carried out in the class `FlutterGroup`, which is also OpenMDAO group. The class requires four underlying builders: structural, aerodynamic, transfer scheme and flutter computation. These builders must instantiate and initialize all the components required by each individual methodology. A template for building custom builders is provided with the code and examples of already existing builders can be found in their respective repository.
A typical model for computing flutter will look like:
```python
from omflut import FlutterGroup
import openmdao.api as om
class MyModel(om.Group):
def setup(self):
s = StructuralBuilder(...)
a = AerodynamicBuilder(...)
x = XferBuilder(s, a, ...)
f = FlutterBuilder(...)
self.add_subsystem('flutter', FlutterGroup(struct=s, xfer=x, aero=a, flutter=f))
```
\ No newline at end of file