Aircraft

pyBADA Generic airplane/helicopter performance module Developped @EUROCONTROL (EIH) 2024

class pyBADA.aircraft.Airplane[source]

Bases: object

This is a generic airplane class based on a three-degrees-of-freedom point mass model (where all the forces are applied at the center of gravity).

static esf(**kwargs)[source]

Computes the energy share factor based on flight conditions.

Parameters:
  • h (float) – Altitude in meters.

  • DeltaTemp (float) – Temperature deviation with respect to ISA in Kelvin.

  • flightEvolution (str) – Type of flight evolution [constM/constCAS/acc/dec].

  • phase (str) – Phase of flight [cl/des].

  • v (float) – Constant speed (Mach number).

Returns:

Energy share factor (dimensionless).

Return type:

float

class pyBADA.aircraft.Bada[source]

Bases: object

This class implements the mechanisms applicable across all BADA families.

static GS(tas, gamma, Ws)[source]

Computes the ground speed based on true airspeed (TAS), flight path angle, and wind speed.

Parameters:
  • tas (float) – True airspeed (TAS) in meters per second (m/s).

  • gamma (float) – Flight path angle in degrees.

  • Ws (float) – Longitudinal wind speed in meters per second (m/s).

Returns:

Ground speed in meters per second (m/s).

Return type:

float

static bankAngle(rateOfTurn, v)[source]

Computes the bank angle based on true airspeed (TAS) and rate of turn.

Parameters:
  • v (float) – True airspeed (TAS) in meters per second (m/s).

  • rateOfTurn (float) – Rate of turn in degrees per second (deg/s).

Returns:

Bank angle in degrees.

Return type:

float

static getBADAParameters(df, acName, parameters)[source]

Retrieves specified parameters for a given aircraft name from a DataFrame.

Parameters:
  • df (pd.DataFrame) – DataFrame containing BADA aircraft data.

  • acName (list or str) – Name of the aircraft or list of aircraft names to search for.

  • parameters (list or str) – List of column names (or a single column name) to retrieve.

Returns:

A DataFrame containing the specified parameters for the given aircraft.

Return type:

pd.DataFrame

Raises:

ValueError – If any of the specified columns or aircraft names are not found.

static loadFactor(fi)[source]

Computes the load factor from a given bank angle.

The load factor is calculated based on the cosine of the bank angle, which is expressed in degrees. A small rounding operation is applied to avoid precision issues with small decimal places.

Parameters:

fi (float) – Bank angle in degrees.

Returns:

The load factor (dimensionless).

Return type:

float

static rateOfTurn(v, nz=1.0)[source]

Computes the rate of turn based on true airspeed (TAS) and load factor.

Parameters:
  • v (float) – True airspeed (TAS) in meters per second (m/s).

  • nz (float) – Load factor (default is 1.0), dimensionless.

Returns:

Rate of turn in degrees per second (deg/s).

Return type:

float

static rateOfTurn_bankAngle(TAS, bankAngle)[source]

Computes the rate of turn based on true airspeed (TAS) and bank angle.

Parameters:
  • TAS (float) – True airspeed (TAS) in meters per second (m/s).

  • bankAngle (float) – Bank angle in degrees.

Returns:

Rate of turn in degrees per second (deg/s).

Return type:

float

static turnRadius(v, nz=1.0)[source]

Computes the turn radius based on true airspeed (TAS) and load factor.

Parameters:
  • v (float) – True airspeed (TAS) in meters per second (m/s).

  • nz (float) – Load factor (default is 1.0), dimensionless.

Returns:

Turn radius in meters.

Return type:

float

static turnRadius_bankAngle(v, ba)[source]

Computes the turn radius based on true airspeed (TAS) and bank angle.

Parameters:
  • v (float) – True airspeed (TAS) in meters per second (m/s).

  • ba (float) – Bank angle in degrees.

Returns:

Turn radius in meters.

Return type:

float

class pyBADA.aircraft.BadaFamily(BADA3=False, BADA4=False, BADAH=False, BADAE=False)[source]

Bases: object

This class sets the token for the respected BADA Family.

class pyBADA.aircraft.Helicopter[source]

Bases: object

This is a generic helicopter class based on a Total-Energy Model (TEM)

static esf(**kwargs)[source]

Computes the energy share factor based on flight conditions.

Parameters:
  • h (float) – Altitude in meters.

  • DeltaTemp (float) – Temperature deviation with respect to ISA in Kelvin.

  • flightEvolution (str) – Type of flight evolution [constTAS/constCAS/acc/dec].

  • phase (str) – Phase of flight [Climb/Descent].

  • v (float) – Constant speed (Mach number).

Returns:

Energy share factor (dimensionless).

Return type:

float

pyBADA.aircraft.checkArgument(argument, **kwargs)[source]