Awesome
OpenConcept - A conceptual design toolkit with efficient gradients implemented in the OpenMDAO framework
Authors: Benjamin J. Brelje and Eytan J. Adler
OpenConcept is a new toolkit for the conceptual design of aircraft. OpenConcept was developed in order to model and optimize aircraft with electric propulsion at low computational cost. The tools are built on top of NASA Glenn's OpenMDAO framework, which in turn is written in Python.
OpenConcept is capable of modeling a wide range of propulsion systems, including detailed thermal management systems.
The following figure (from this paper) shows one such system that is modeled in the N3_HybridSingleAisle_Refrig.py
example.
The following charts show more than 250 individually optimized hybrid-electric light twin aircraft (similar to a King Air C90GT). Optimizing hundreds of configurations can be done in a couple of hours on a standard laptop computer.
The reason for OpenConcept's efficiency is the analytic derivatives built into each analysis routine and component. Accurate, efficient derivatives enable the use of Newton nonlinear equation solutions and gradient-based optimization at low computational cost.
Documentation
Automatically-generated documentation is available at (https://mdolab-openconcept.readthedocs-hosted.com/en/latest/).
To build the docs locally, install the sphinx_mdolab_theme
via pip
. Then enter the doc
folder in the root directory and run make html
. The built documentation can be viewed by opening _build/html/index.html
. OpenAeroStruct is required (also installable via pip
) to build the OpenAeroStruct portion of the source docs.
Getting Started
OpenConcept can be pip installed directly from PyPI
pip install openconcept
To run the examples or edit the source code:
- Clone the repo to disk (
git clone https://github.com/mdolab/openconcept
) - Navigate to the root
openconcept
folder - Run
pip install -e .
to install the package (the-e
can be omitted if not editing the source)
Get started by following the tutorials in the documentation to learn the most important parts of OpenConcept. The features section of the documentation describes most of the components and system models available in OpenConcept.
Requirements
<!-- Remember to change doc/index.rst too! -->OpenConcept is tested regularly on builds with the oldest and latest supported package versions. The package versions in the oldest and latest builds are the following:
Package | Oldest | Latest |
---|---|---|
Python | 3.8 | 3.11 |
OpenMDAO | 3.21 | 3.30 |
NumPy | 1.20 | 1.26 |
SciPy | 1.7.0 | latest |
OpenAeroStruct | latest | latest |
Citation
Please cite this software by reference to the conference paper:
Benjamin J. Brelje and Joaquim R. R. A. Martins, "Development of a Conceptual Design Model for Aircraft Electric Propulsion with Efficient Gradients", 2018 AIAA/IEEE Electric Aircraft Technologies Symposium, AIAA Propulsion and Energy Forum, (AIAA 2018-4979) DOI: 10.2514/6.2018-4979
@inproceedings{Brelje2018a,
address = {{C}incinnati,~{OH}},
author = {Benjamin J. Brelje and Joaquim R. R. A. Martins},
booktitle = {Proceedings of the AIAA/IEEE Electric Aircraft Technologies Symposium},
doi = {10.2514/6.2018-4979},
month = {July},
title = {Development of a Conceptual Design Model for Aircraft Electric Propulsion with Efficient Gradients},
year = {2018}
}
If using the integrated OpenAeroStruct VLM or aerostructural aerodynamic models, please cite the following conference paper:
Eytan J. Adler and Joaquim R. R. A. Martins, "Efficient Aerostructural Wing Optimization Considering Mission Analysis", Journal of Aircraft, 2022. DOI: 10.2514/1.c037096
@article{Adler2022d,
author = {Adler, Eytan J. and Martins, Joaquim R. R. A.},
doi = {10.2514/1.c037096},
issn = {1533-3868},
journal = {Journal of Aircraft},
month = {December},
publisher = {American Institute of Aeronautics and Astronautics},
title = {Efficient Aerostructural Wing Optimization Considering Mission Analysis},
year = {2022}
}