This program automatically processes key aircraft design requirements (load input and maximum speed). Through multivariate optimization, aircraft tire design options are generated and presented with comparisons to cataloged options from tire manufacturers to the aircraft landing gear designers for selection. A gradients-based Sequential Leaset Square Programming (SLSQP) optimizer is implemented with the OpenMDAO framework as the backend optimization algorithm, where a frontend user interface is also available for quick trials of the optimizer.
- Download and clone the repository as you would do for any other GitHub project.
- In the terminal, navigate to the local directory of the project.
- Run the main file to launch the user interface.
- For Windows: run
python main.py - For MacOS: run
python3 main_MAC.py
- Follow instructions on the launched user interface to perform tire design optimizations.
The project was created with Python 3.8. If errors are encountered when launching the main file, please follow instructions for development guide to set up a local virtual environment and download the required Python packages.
- main.py: main file to launch the user interface of the program
- QT_Designer.ui: the HTML file of the UI generated by QT Designer
- models.py: the Tire class that stores parameters and defines functions of a typical aircraft tire
- optimizer.py: a deployable version of the gradients-based optimization method using the openMDAO framework for UI integration
- /manufacturer_data: testing and validation with manufacturer's public data
|-- _methods.py: import models.py from root directory
|-- model_eval.py: calculate difference between calculated and provided values
|-- eval_analysis.py: analysis of the evaluating results from model_eval.py
|-- tire_mass.py: find correlation between tire mass and mass of inflation medium
- /optimizations: store all alternative optimization methods used, evaluated with optimization on bias tires
|-- _models.py: import models.py from root directory
|-- bayesOps.py: Bayesian optimization method
|-- csp.py: method for solving constraint satisfaction problems
|-- genAlg.py: genetic algorithm method
|-- gradients.py: method utilizing the openMDAO framework
|-- pso.py: particle swarm optimization method
|-- randSearch.py: random search method
|-- selector.py: select optimal tire given load requirements from manufacturer data
Follow instructions below when developing:
- Clone this repository to your local IDE as you would do for other code repositories.
- Create a virtual environment in your local code repository with the following command in terminal:
python3 -m venv venv.- In Windows, you may need to replace
python3withpythonorpy.
- In Windows, you may need to replace
- Make sure your virtual environment is activated.
- In MacOS, use
source venv/bin/activate. - In Windows, use
source venv/Scripts/activate. - After successful activation, you should see
(venv)added in front of(base)at the beginning of your terminal command line.
- In MacOS, use
- Download/upgrade all Python packages required for this code repository, as outlined in the
requirements.txt, to your local virtual environment.- Use the following command:
pip install -r requirements.txt.
- Use the following command: