Conceptual aircraft design platform for conventional 80 seat aircraft
Project description
FAST-OAD plugin for Regional Transport Aircraft (RTA)
Introduction
This repository furnishes a FAST-OAD plugin for the design and analysis of Regional Transport Aircraft. The models present in this repository rely on FAST-OAD for execution, see FAST-OAD documentation.
The models are based on the PhD thesis of Vincenzo Palladino. Documentation can be found in his PhD thesis.
This README file explains how to install this repository.
It is assumed that you know how to use Git, Python and FAST-OAD, especially the use of submodels.
User installation
Important notice: The installation of the RTA plugin will activate by default the RTA submodels. Refer to RTA models and submodels for the complete list of activated submodel.
For a FAST-OAD user installation (when FAST-OAD has been installed with pip), the RTA plug-in can be installed in you python environnment using:
pip install git+https://github.com/fast-aircraft-design/RTA.git@master
This will install the lastest RTA version based on github master branch.
If you are using poetry to manage your python environment, the following command will tell poetry to add RTA to your dependencies:
poetry add git+https://github.com/fast-aircraft-design/RTA.git#master
Once installed, the RTA models should become visible to FAST-OAD. Simply run the following command to check that new RTA models are available:
fastoad plugin_info
Tutorials
Tutorials are available in src/rta/notebooks. For a user installation, they can be generated through command line with:
fastoad notebooks rta
For a developer installation, they can be simply accessed using jupyter lab:
jupyter lab
RTA models and submodels
The RTA plug-in provides four new models:
rta.aerodynamics.takeoff
rta.loop.engine_size
rta.propulsion.propeller_sizing
rta.propulsion.turboprop_sizing
And a new propulsion wrapper for turbopropeller:
rta.wrapper.propulsion.ML_TP_L1
The model rta.loop.engine_size requires the simulation of a take-off segment during the mission, which is not activated by default.
When installing this plug-in, the new RTA submodels are activated by default. This means that if you attempt to run a different aircraft configuration (say a single aisle SMR), you need to modify the active submodels accordingly in the configuration file.
The list of active submodels with this plugin is given below:
'service.aerodynamics.CD0.fuselage': 'rta.submodel.aerodynamics.CD0.fuselage',
'service.aerodynamics.CD0.nacelles_pylons': 'rta.submodel.aerodynamics.CD0.nacelles',
'service.aerodynamics.CD0.sum': 'rta.submodel.aerodynamics.CD0.sum',
'service.aerodynamics.CD0.wing': 'rta.submodel.aerodynamics.CD0.wing',
'service.aerodynamics.induced_drag_coefficient': 'rta.submodel.aerodynamics.induced_drag_coefficient.legacy',
'service.geometry.fuselage.basic': 'rta.submodel.geometry.fuselage.basic',
'service.geometry.fuselage.with_cabin_sizing': 'rta.submodel.geometry.fuselage.with_cabin_sizing',
'service.geometry.nacelle_and_pylon': 'rta.submodel.geometry.nacelles',
'service.geometry.wing': 'rta.submodel.geometry.wing',
'service.weight.cg': 'rta.submodel.weight.cg.legacy',
'service.cg.wing.control_surfaces': 'rta.submodel.cg.wing.control_surfaces.legacy',
'service.cg.others': 'rta.submodel.weight.cg.others.legacy',
'service.cg.global': 'rta.submodel.weight.cg.global.legacy',
'service.cg.propulsion': 'rta.submodel.weight.cg.propulsion',
'service.mass.airframe.wing': 'rta.submodel.weight.mass.airframe.wing',
'service.mass.airframe.nacelles': 'rta.submodel.weight.mass.airframe.nacelle',
'service.mass.airframe': 'rta.submodel.weight.mass.airframe.legacy',
'service.mass.propulsion': 'rta.submodel.weight.mass.propulsion.legacy',
'service.mass.systems': 'rta.submodel.weight.mass.system.legacy',
'service.mass.furniture': 'rta.submodel.weight.mass.furniture.legacy',
'service.mass.owe': 'rta.weight.owe.legacy'
Developer installation
This repository is designed to use Poetry (version 1.8.3 or above) for managing the development environment. Instructions below assume you have it already installed. You may adapt them if you don't want to use Poetry.
It is strongly recommended that you install RTA in a dedicated Python environment.
After cloning the repository, launch the installation by typing in your terminal:
poetry install
This will install all defined dependencies in your environment.
Setup pre-commit
Simply run in your terminal:
pre-commit install
Pytest
Pytest is recommended for writing tests. The development environment is set with code coverage tools.
Pytest and its companions are configured in /pyproject.toml file.
It is recommended to have unit tests in tests folders next to tested code.
Other kind of tests (integration, non-regression) should be in the /tests folder
Unit tests will be launched with simply:
pytest
Other tests will be launched with
pytest tests
Ruff
checks/corrects code style and automates the code formatting.
Kudos to Black and Flake8 that are very good tools. Yet, for a fresh start, Ruff seems the way to go, since it does the same job as these two, only much faster.
Ruff is configured in /pyproject.toml file.
Coupled with pre-commit and/or integrated with your IDE, it automates all the code formatting.
Note to PyCharm users: there is a ruff plugin.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file fast_oad_rta-0.1.0.tar.gz.
File metadata
- Download URL: fast_oad_rta-0.1.0.tar.gz
- Upload date:
- Size: 182.8 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/2.2.1 CPython/3.12.3 Linux/6.14.0-1017-azure
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
27832f0d7131c4feb55ee57d59c278ba3cb33224ec3d76213dd7e9889ddb820a
|
|
| MD5 |
f33d4fbbf383b4cbe5e5609f9135d10d
|
|
| BLAKE2b-256 |
b9a362d6abcf5268249857273a0c7922431ecfe375564eb9df32beafc34bcc39
|
File details
Details for the file fast_oad_rta-0.1.0-py3-none-any.whl.
File metadata
- Download URL: fast_oad_rta-0.1.0-py3-none-any.whl
- Upload date:
- Size: 256.2 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/2.2.1 CPython/3.12.3 Linux/6.14.0-1017-azure
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
1b8413417f5dec3367d91d446273c6b3d9c93bba1011a564caddf72dbaf5fc0d
|
|
| MD5 |
5a7c69bfe3843853af80911bd29d22e6
|
|
| BLAKE2b-256 |
f270115edcdca3e631742d36f09c1ebdf345f85c3655dc6f484d14b2d0807ba4
|