Aircraft Definition

Aircraft Definition#

Aviary requires some information about the properties of the vehicle before analysis can be performed. Which specific variables are needed depends on which analysis methods are being used. Aircraft variables must be defined in a fixed format to be understood by Aviary. There are two main ways for a user to specify these properties: through a input file, or a Python object.

Note

The aircraft definition provides the values of inputs to your Aviary problem, or initial conditions of design variables. If you specify a variable that is normally an output of an internal calculation, it becomes an override.

All variables provided here are pre-processed by Aviary before optimization begins for sanity checks and resolving ambiguous or conflicting sets of variables.

Input File#

This file takes the form of a comma-separated-values (.csv) file, with columns for variable name, value, and units. If a variable is unitless, then the units column is optional, or “unitless” can be specified for clarity.

The minimum single-aisle aircraft is a useful starting point. It intentionally contains only the payload, propulsion, geometry, mission, and method-selection inputs needed for a physically meaningful FLOPS-based aircraft. Calibration factors and derived outputs are omitted. Variables not listed use Aviary metadata defaults.

Some defaults are numerically valid but not physically useful for a particular aircraft. For example, the minimum deck specifies hydraulic pressure and wing fuel fraction because their zero defaults would produce invalid system or fuel-sizing results. Geometry values are also explicit because zero-sized major components are not a meaningful aircraft.

Excerpts from the minimum deck are shown below:

# Input Values
{glue:md}aircraft:crew_and_payload:design:num_passengers, 154, unitless
{glue:md}aircraft:engine:data_file, models/engines/turbofan_22k.csv, unitless
{glue:md}aircraft:fuselage:length, 125, ft
{glue:md}aircraft:wing:area, 1220, ft**2

{glue:md}mission:constraints:max_mach,          0.785,   unitless
{glue:md}aircraft:design:gross_mass,            130000,  lbm
{glue:md}aircraft:design:range,                 1906,    NM

{glue:md}settings:equations_of_motion,          energy_state
{glue:md}settings:aerodynamics_method,          FLOPS
{glue:md}settings:mass_method,                  FLOPS

The minimum aircraft is generic rather than calibrated to reproduce a particular study aircraft. Add technology factors, detailed geometry, or component overrides only when the desired analysis fidelity requires them.

The csv format allows for comments (seen here using a # preceding the comma). As seen in the example, these files can contain all kinds of information such as numbers and text. Aviary attempts to use the Variable Metadata to store your values in the appropriate Python type for that variable, such as knowing when variables should a string versus a float or integer. If your variable requires a list (or other iterable like a numpy array, tuple, etc.) provide each individual item in the array as its own column in the csv file.

Python Definition#

When using the Python API, you have the option to provide aircraft inputs as a file or in the form of an AviaryValues object. Other than following the requirements for that data object, there are no additional steps needed to set up your inputs in this way.