# Glossary

This is an incomplete glossary of terms that used in Aviary and this documentation.
The goal is to have this be a one-stop-shop for defining words and jargon.

Some of these words have a particular meaning within Aviary but might mean something else outside the tool, even in a technical setting.
One example is within these docs an "optimizer" is a distinct idea from a "solver," but other resources might use those words interchangeably.

```{glossary}

angle of attack (AoA)
    The angle between the oncoming air or relative wind and a reference line on the airplane or wing. It is a crucial parameter in determining the lift generated by a wing.
    More details can be found at [NASA's Basic Aerodynamics page](https://www1.grc.nasa.gov/beginners-guide-to-aeronautics/center-of-pressure/#angle-of-attack).

collocation integration methods
    A method of integrating a set of differential equations by approximating the solution as a polynomial over each segment of the integration.
    The polynomial is then integrated analytically.
    The collocation methods used for trajectory optimization in Aviary are provided by Dymos.
    The Dymos doc pages have [much more info on these methods](https://openmdao.github.io/dymos/getting_started/transcriptions.html).

control
    A time-varying variable that is passed from the optimizer to the model for the mission.
    Controls are used to represent quantities that vary throughout the mission, such as the throttle setting or angle of attack.

design variable
    A variable that is passed from the optimizer to the model.
    Usually a design variable affects a system in the pre-mission group, though mission systems can also be affected.

[Dymos](https://openmdao.github.io/dymos/)
    A Python package for solving optimal control problems.
    Dymos is built on top of OpenMDAO and uses collocation integration methods to solve optimal control problems.
    Aviary can use Dymos to solve the mission analysis problem.

[external subsystem](../user_guide/using_external_subsystems.md)
    A subsystem that is not included in the Aviary core subsystems.
    External subsystems are added to the Aviary model by the user.
    External subsystems are often used to add more complex models to the Aviary model.

flight envelope
    The limits of speed, altitude, and load factor that an aircraft can safely operate within. Understanding the flight envelope is critical for aircraft design and operation.

mission analysis
    The process of determining the trajectory of an aircraft.
    This includes determining the aircraft's flight path, velocity, and acceleration as a function of time.
    Points along the trajectory are called analysis points and are often referred to as "nodes" in the context of trajectory optimization.

multidisciplinary optimization (MDO)
    Using optimization methods to solve design problems that incorporate a number of disciplines. Common in systems engineering. In Aviary, MDO is a fundamental concept for integrated aircraft design.

optimizer
    A tool that is used to solve an optimization problem.
    Aviary uses OpenMDAO to provide optimizers.
    [Scipy's SLSQP](https://docs.scipy.org/doc/scipy/reference/generated/scipy.optimize.minimize.html#scipy.optimize.minimize) method is included automatically.
    [IPOPT](https://coin-or.github.io/Ipopt/) and [SNOPT](https://ccom.ucsd.edu/~optimizers/solvers/snopt/) can be installed by the user through [pyOptSparse](https://github.com/mdolab/pyoptsparse) and used within Aviary. 

[OpenMDAO](https://openmdao.org/newdocs/versions/latest/main.html)
    A Python package for solving multidisciplinary design and optimization (MDO) problems.
    Aviary is built on top of OpenMDAO.

parameter
    A variable that is passed from optimizer or user to the model.
    Parameters do not vary across the mission but may be allowed to vary during the optimization process.
    Examples of parameters include wing area, engine efficiency, number of passengers, etc. 

pre-mission system
    A system that is run before the mission analysis.
    Examples include aircraft geometry, masses of aircraft components, any pre-computed quantities needed for mission systems.
    Any quantities computed within the pre-mission systems are assumed to be constant throughout the mission.

state
    A variable that is tracked during the mission analysis.
    States are often used to represent the velocity or mass of the aircraft.
    When using collocation integration methods, states are design variables exposed to the optimizer.

trajectory optimization
    The process of determining the optimal trajectory of an aircraft.
    This includes determining the aircraft's flight path, velocity, and acceleration as a function of time.
```
