rta

FAST-OAD plugin for Regional Transport Aircraft

https://github.com/fast-aircraft-design/rta

Science Score: 44.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
    Found CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
    Found .zenodo.json file
  • DOI references
  • Academic publication links
  • Academic email domains
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (14.7%) to scientific vocabulary
Last synced: 6 months ago · JSON representation ·

Repository

FAST-OAD plugin for Regional Transport Aircraft

Basic Info
  • Host: GitHub
  • Owner: fast-aircraft-design
  • License: gpl-3.0
  • Language: Python
  • Default Branch: master
  • Size: 58.3 MB
Statistics
  • Stars: 4
  • Watchers: 5
  • Forks: 0
  • Open Issues: 2
  • Releases: 0
Created over 1 year ago · Last pushed 11 months ago
Metadata Files
Readme Changelog License Citation Authors

README.md

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: bash 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: bash 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: bash fastoad plugin_info

Tutorials

Tutorials are available in src/rta/notebooks. For a user installation, they can be generated through command line with: bash fastoad notebooks rta

For a developer installation, they can be simply accessed using jupyter lab: bash jupyter lab

RTA models and submodels

The RTA plug-in provides four new models: yml rta.aerodynamics.takeoff rta.loop.engine_size rta.propulsion.propeller_sizing rta.propulsion.turboprop_sizing And a new propulsion wrapper for turbopropeller: yml 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:

yml '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: bash poetry install This will install all defined dependencies in your environment.

Setup pre-commit

Simply run in your terminal: bash 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: bash pytest

Other tests will be launched with bash 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.

Owner

  • Name: fast-aircraft-design
  • Login: fast-aircraft-design
  • Kind: organization

Citation (CITATION.cff)

# This CITATION.cff file was generated with cffinit.
# Visit https://bit.ly/cffinit to generate yours today!

cff-version: 1.2.0
title: FAST-OAD plugin for Regional Transport Aircraft (RTA)
message: >-
  If you use this software, please cite it using the
  metadata from this file.
type: software
authors:
  - given-names: Vincenzo
    family-names: Palladino
  - given-names: Eric
    family-names: Nguyen Van
    email: eric.nguyen_van@onera.fr
    affiliation: ONERA
repository-code: 'https://github.com/fast-aircraft-design/RTA'

GitHub Events

Total
  • Watch event: 4
Last Year
  • Watch event: 4

Dependencies

.github/workflows/test.yml actions
  • actions/checkout v4 composite
  • actions/setup-python v5 composite
  • codecov/codecov-action v5 composite
poetry.lock pypi
  • 169 dependencies
pyproject.toml pypi
  • matplotlib ^3.9.2 develop
  • nbstripout ^0.6.0 lint
  • pre-commit ^3 lint
  • ruff 0.6.4 lint
  • fast-oad-core ^1.8.0
  • fast-oad-cs25 ^0.7.2
  • python >=3.9, <3.13
  • coverage * test
  • nbval >=0.11, <1.0 test
  • pytest ^8.0 test
  • pytest-cov ^5.0 test