Skip to main content

Conceptual aircraft design platform for conventional 80 seat aircraft

Project description

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.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

fast_oad_rta-0.1.0.tar.gz (182.8 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

fast_oad_rta-0.1.0-py3-none-any.whl (256.2 kB view details)

Uploaded Python 3

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

Hashes for fast_oad_rta-0.1.0.tar.gz
Algorithm Hash digest
SHA256 27832f0d7131c4feb55ee57d59c278ba3cb33224ec3d76213dd7e9889ddb820a
MD5 f33d4fbbf383b4cbe5e5609f9135d10d
BLAKE2b-256 b9a362d6abcf5268249857273a0c7922431ecfe375564eb9df32beafc34bcc39

See more details on using hashes here.

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

Hashes for fast_oad_rta-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 1b8413417f5dec3367d91d446273c6b3d9c93bba1011a564caddf72dbaf5fc0d
MD5 5a7c69bfe3843853af80911bd29d22e6
BLAKE2b-256 f270115edcdca3e631742d36f09c1ebdf345f85c3655dc6f484d14b2d0807ba4

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page