Skip to main content

FAST-OAD plugin for Regional Transport Aircraft (RTA)

tests codecov

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

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.

Metadata

Release files for FAST-OAD-RTA 0.1.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for FAST-OAD-RTA 0.1.0
File Size Uploaded
fast_oad_rta-0.1.0.tar.gz 182.8 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for FAST-OAD-RTA 0.1.0
File Interpreter ABI Platform
fast_oad_rta-0.1.0-py3-none-any.whl Python 3 none any Details

Total release size: 439.0 kB

Release files / fast_oad_rta-0.1.0.tar.gz

Download URL fast_oad_rta-0.1.0.tar.gz
Size 182.8 kB
Tags Source
SHA-256 checksum
How to use checksums
27832f0d7131c4feb55ee57d59c278ba3cb33224ec3d76213dd7e9889ddb820a
BLAKE2b-256 checksum
How to use checksums
b9a362d6abcf5268249857273a0c7922431ecfe375564eb9df32beafc34bcc39
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via poetry/2.2.1 CPython/3.12.3 Linux/6.14.0-1017-azure

Release files / fast_oad_rta-0.1.0-py3-none-any.whl

Download URL fast_oad_rta-0.1.0-py3-none-any.whl
Size 256.2 kB
Tags Python 3
SHA-256 checksum
How to use checksums
1b8413417f5dec3367d91d446273c6b3d9c93bba1011a564caddf72dbaf5fc0d
BLAKE2b-256 checksum
How to use checksums
f270115edcdca3e631742d36f09c1ebdf345f85c3655dc6f484d14b2d0807ba4
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via poetry/2.2.1 CPython/3.12.3 Linux/6.14.0-1017-azure

Release history Release notifications | RSS feed

This release

0.1.0 This release

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page