This project builds a surrogate model that can inputs Top Level Aircraft Design Requirements (TLADRs) and outputs the optimal propulsion architecture. Four chosen representative propulsion architectures are Conventional (C), Fully Electric (E), Distributed Turboelectric (DTE), Hybrid Turboelectric (HTE). After having all four mini surrogate models for each propulsion architecture, the final model will loop through each propulsion architecture, predict the total energy through the mini surrogates, and make the final decision to decide the optimal propulsion architecture for the given TLADRs.
This project is created with Python 3.12.7 and at minimum the following libraries:
numpy
pandas
joblib
matplotlib
tensorflow
scipy
scikit-learn
A more comprehensive requirement list with exact version can be found at requirements.txt
Run this command for help page
python main.py --h 2>/dev/nullOutput:
usage: main.py [-h] [--TLADRS Range[nmi] Payload[kg] Mach[1] Altitude[ft]]
Optimal Propulsion Architecture for Total Energy
options:
-h, --help show this help message and exit
--TLADRS Range[nmi] Payload[kg] Mach[1] Altitude[ft]
Examples:
python main.py --h 2>/dev/null
python main.py --TLADRS 600 15000 0.5 30000 2>/dev/null
python main.py --TLADRS 100 2500 0.35 5000 2>/dev/null
python main.py --TLADRS 400 8000 0.5 24000 2>/dev/null
python main.py --TLADRS 250 1000 0.3 25000 2>/dev/null
Run main.py with flag --TLADRS for 400 nmi range, 8000 kg payload, 0.5 Mach cruise speed, and 24,000 ft altitude
python main.py --TLADRS 400 8000 0.5 24000 2>/dev/nullOutput:
Input Mission: [400.0, 8000.0, 0.5, 24000.0]
Optimal Architecture: HTE
If you are interested in future development of the project, you can add more propulsion architecture in the data directory and use train_model.py and train_constraints.py to create new weights in models_weights directory
Replace these lines with the propulsion architecture of your choice.
Propulsion-Arch-Optimization/train_model.py
Lines 112 to 117 in 3a28a41
