Metadata-Version: 2.1
Name: openconcept
Version: 0.4.1
Summary: Open aircraft conceptual design tools
Home-page: https://github.com/mdolab/openconcept
Author: Benjamin J. Brelje and Eytan J. Adler
Author-email: 
License: MIT License
Download-URL: https://github.com/mdolab/openconcept
Keywords: aircraft design optimization multidisciplinary multi-disciplinary analysis
Platform: UNKNOWN
Classifier: Development Status :: 3 - Alpha
Classifier: Intended Audience :: Science/Research
Classifier: License :: OSI Approved :: MIT License
Classifier: Natural Language :: English
Classifier: Operating System :: MacOS :: MacOS X
Classifier: Operating System :: POSIX :: Linux
Classifier: Operating System :: Microsoft :: Windows
Classifier: Topic :: Scientific/Engineering
Classifier: Programming Language :: Python
Classifier: Programming Language :: Python :: 3.8
Classifier: Programming Language :: Python :: Implementation :: CPython
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: six
Requires-Dist: scipy (>=1.0.0)
Requires-Dist: numpy (>=1.14.0)
Requires-Dist: openmdao (>=3.10.0)
Provides-Extra: docs
Requires-Dist: sphinx-mdolab-theme ; extra == 'docs'
Requires-Dist: openaerostruct ; extra == 'docs'
Provides-Extra: plot
Requires-Dist: matplotlib ; extra == 'plot'
Provides-Extra: testing
Requires-Dist: pytest ; extra == 'testing'
Requires-Dist: pytest-cov ; extra == 'testing'
Requires-Dist: coverage ; extra == 'testing'
Requires-Dist: openaerostruct ; extra == 'testing'

# OpenConcept - A conceptual design toolkit with efficient gradients implemented in the OpenMDAO framework

### Authors: Benjamin J. Brelje and Eytan J. Adler

[![Build](https://github.com/mdolab/openconcept/workflows/Build/badge.svg?branch=main)](https://github.com/mdolab/openconcept/actions?query=branch%3Amain)
[![Coverage](https://codecov.io/gh/mdolab/openconcept/branch/main/graph/badge.svg?token=RR8CN3IOSL)](https://codecov.io/gh/mdolab/openconcept)
[![Documentation](https://readthedocs.com/projects/mdolab-openconcept/badge/?version=latest)](https://mdolab-openconcept.readthedocs-hosted.com/en/latest/?badge=latest)
[![PyPI](https://img.shields.io/pypi/v/openconcept)](https://pypi.org/project/openconcept/)
[![PyPI - Downloads](https://img.shields.io/pypi/dm/openconcept)](https://pypi.org/project/openconcept/)

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](http://openmdao.org/) framework, which in turn is written in Python.

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.

![Example charts](https://raw.githubusercontent.com/mdolab/openconcept/main/docs/_static/images/readme_charts.png)

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 `docs` 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

```shell
pip install openconcept
```

To run the examples or edit the source code:
1. Clone the repo to disk (`git clone https://github.com/mdolab/openconcept`)
2. Navigate to the root `openconcept` folder
3. Run `pip install -e .` to install the package (the `-e` can be omitted if not editing the source)

Get started by running the `TBM850` example:
1. Navigate to the `examples` folder
2. Run `python TBM850.py` to test OpenConcept on a single-engine turboprop aircraft (the TBM 850)
3. Look at the `examples/aircraft data/TBM850.py` file to play with the assumptions / config / geometry and see the effects on the output result

`examples/HybridTwin.py` is set up to do MDO in a grid of specific energies and design ranges and save the results to disk. Visualization utilities will be added soon (to produce contour plots as shown in this Readme)

### Requirements

This toolkit requires the use of [OpenMDAO](https://openmdao.org/) 3.10.0 or later. OpenMDAO requires a late NumPy and SciPy.

## Citation

Please cite this software by reference to the [conference paper](https://www.researchgate.net/publication/326263660_Development_of_a_Conceptual_Design_Model_for_Aircraft_Electric_Propulsion_with_Efficient_Gradients):

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](https://www.researchgate.net/publication/357559489_Aerostructural_wing_design_optimization_considering_full_mission_analysis):

Eytan J. Adler and Joaquim R.R.A. Martins, "Aerostructural wing design optimization considering full mission analysis", 2022 AIAA SciTech Forum, San Diego, CA, January 2022. DOI: 10.2514/6.2022-0382

```
@inproceedings{Adler2022a,
	author      = {Eytan J. Adler and Joaquim R. R. A. Martins},
	title       = {Aerostructural wing design optimization considering full mission analysis},
	booktitle   = {AIAA SciTech Forum},
	doi         = {10.2514/6.2022-0382},
	month       = {January},
	year        = {2022}
	}
```

## Contributing
A contributor's guide is coming third (after completing documentation and automatic testing). I'm open to pull requests and issues in the meantime. Stay tuned.


