performance#

class airtrafficsim.core.performance.performance.Performance(performance_mode)#

Performance base class

Methods

add_aircraft(icao[, engine, mass_class])

Add an aircraft to traffic array.

cal_air_density(p, T)

Calculate Air Density (Equation 3.1-21)

cal_air_pressure(H_p, T, d_T)

Calculate Air Pressure (Equation 3.1-17~20)

cal_bank_angle(rate_of_turn, V_tas)

Calculate rate of turn (Equation 5.3-1)

cal_energy_share_factor(H_p, T, d_T, M, ...)

Calculate energy share factor (Equation 3.2-5, 8~11)

cal_fuel_burn(flight_phase, tas, alt)

Calculate fuel burn

cal_max_d_rocd(d_t, V_tas, rocd)

Calculate maximum delta rate of climb or descend (equation 5.2-2)

cal_max_d_tas(d_t)

Calculate maximum delta true air speed

cal_maximum_alt(d_T, m)

Calculate maximum altitude

cal_maximum_speed()

Calculate maximum altitude

cal_minimum_speed(configuration)

Calculate minimum speed

cal_rate_of_turn(bank_angle, V_tas)

Calculate rate of turn (Equation 5.3-1)

cal_speed_of_sound(T)

Calculate speed of sound.

cal_tem_accel(T, d_T, m, D, rocd, Thr, V_tas)

Total Energy Model.

cal_tem_rocd(T, d_T, m, D, f_M, Thr, V_tas, ...)

Total Energy Model.

cal_tem_thrust(T, d_T, m, D, f_M, rocd, V_tas)

Total Energy Model.

cal_temperature(H_p, d_T)

Calculate Temperature (Equation 3.1-12~16)

cal_transition_alt(n, d_T)

Calculate Mach/CAS transition altitude.

cal_turn_radius(bank_angle, V_tas)

Calculate rate of turn (Equation 5.3-1)

cal_vs_accel(traffic, tas)

Calculate vertical speed and acceleration given true airspeed.

cas_to_tas(V_cas, p, rho)

Convert Calibrated air speed to True air speed.

del_aircraft(index)

Delete an aircraft from traffic array.

get_bank_angles(configuration)

Get standard nominal bank angles (Session 5.3)

get_empty_weight(n)

Get Empty Weight of an aircraft

get_procedure_speed(H_p, H_p_trans, flight_phase)

Get the standard air speed schedule

init_procedure_speed(mass, n)

Initialize standard air speed schedule for all flight phases (Section 4.1-4.3)

mach_to_tas(M, T)

Convert Mach number to True Air speed (Equation 3.1-26)

tas_to_cas(V_tas, p, rho)

Convert True air speed to Calibrated air speed.

tas_to_mach(V_tas, T)

Convert True Air speed to Mach number (Equation 3.1-26)

update_configuration(V_cas, H_p, vertical_mode)

Update Flight Phase (section 3.5)

Initialize Performance base class

Parameters:
performance_modestring, optional

Which performance model to use [BADA, OpenAP]

Methods

add_aircraft(icao[, engine, mass_class])

Add an aircraft to traffic array.

cal_air_density(p, T)

Calculate Air Density (Equation 3.1-21)

cal_air_pressure(H_p, T, d_T)

Calculate Air Pressure (Equation 3.1-17~20)

cal_bank_angle(rate_of_turn, V_tas)

Calculate rate of turn (Equation 5.3-1)

cal_energy_share_factor(H_p, T, d_T, M, ...)

Calculate energy share factor (Equation 3.2-5, 8~11)

cal_fuel_burn(flight_phase, tas, alt)

Calculate fuel burn

cal_max_d_rocd(d_t, V_tas, rocd)

Calculate maximum delta rate of climb or descend (equation 5.2-2)

cal_max_d_tas(d_t)

Calculate maximum delta true air speed

cal_maximum_alt(d_T, m)

Calculate maximum altitude

cal_maximum_speed()

Calculate maximum altitude

cal_minimum_speed(configuration)

Calculate minimum speed

cal_rate_of_turn(bank_angle, V_tas)

Calculate rate of turn (Equation 5.3-1)

cal_speed_of_sound(T)

Calculate speed of sound.

cal_tem_accel(T, d_T, m, D, rocd, Thr, V_tas)

Total Energy Model.

cal_tem_rocd(T, d_T, m, D, f_M, Thr, V_tas, ...)

Total Energy Model.

cal_tem_thrust(T, d_T, m, D, f_M, rocd, V_tas)

Total Energy Model.

cal_temperature(H_p, d_T)

Calculate Temperature (Equation 3.1-12~16)

cal_transition_alt(n, d_T)

Calculate Mach/CAS transition altitude.

cal_turn_radius(bank_angle, V_tas)

Calculate rate of turn (Equation 5.3-1)

cal_vs_accel(traffic, tas)

Calculate vertical speed and acceleration given true airspeed.

cas_to_tas(V_cas, p, rho)

Convert Calibrated air speed to True air speed.

del_aircraft(index)

Delete an aircraft from traffic array.

get_bank_angles(configuration)

Get standard nominal bank angles (Session 5.3)

get_empty_weight(n)

Get Empty Weight of an aircraft

get_procedure_speed(H_p, H_p_trans, flight_phase)

Get the standard air speed schedule

init_procedure_speed(mass, n)

Initialize standard air speed schedule for all flight phases (Section 4.1-4.3)

mach_to_tas(M, T)

Convert Mach number to True Air speed (Equation 3.1-26)

tas_to_cas(V_tas, p, rho)

Convert True air speed to Calibrated air speed.

tas_to_mach(V_tas, T)

Convert True Air speed to Mach number (Equation 3.1-26)

update_configuration(V_cas, H_p, vertical_mode)

Update Flight Phase (section 3.5)

performance_mode#

Whether BADA performance model is used [string]

drag#

Drag [N]

thrust#

Thrust [N]

esf#

Energy share factor [dimensionless]

__T_0#

Standard atmospheric temperature at MSL [K]

__P_0#

Standard atmospheric pressure at MSL [Pa]

__RHO_0#

Standard atmospheric density at MSL [kg/m^3]

__A_0#

Speed of sound [m/s]

__KAPPA#

Adiabatic index of air [dimensionless]

__R#

Real gas constant of air [m^2/(K*s^2)]

__G_0#

Gravitational acceleration [m/s^2]

__BETA_T_BELOW_TROP#

ISA temperature gradient with altitude below the tropopause [K/m]

__H_P_TROP#

Geopotential pressure altitude [m]

add_aircraft(icao, engine=None, mass_class=2)#

Add an aircraft to traffic array.

Returns:
n: int

Index of the added aircraft

del_aircraft(index)#

Delete an aircraft from traffic array.

init_procedure_speed(mass, n)#

Initialize standard air speed schedule for all flight phases (Section 4.1-4.3)

Parameters:
m: float[]

Aircraft mass [kg]

n: int

Index of performance array.

get_procedure_speed(H_p, H_p_trans, flight_phase)#

Get the standard air speed schedule

Parameters:
H_p: float[]

Geopotential pressuer altitude [ft]

H_p_trans: float[]

Transition altitude [ft]

m: float[]

Aircraft mass [kg]

flight_phase: float[]

Flight phase from Traffic class [Flight_phase enum]

Returns:
v_std: float[]

Standard CAS [kt]

-or-
M_std: float[]

Standard Mach [dimensionless]

cal_temperature(H_p, d_T)#

Calculate Temperature (Equation 3.1-12~16)

Parameters:
H_p: float[]

Geopotential pressuer altitude [m]

d_T: float[]

Temperature differential at MSL [K]

Returns:
T_< if below tropopause: float[]

Temperature [K]

T_trop or T_> if equal to or above tropopause: float[]

Temperature [K]

cal_air_pressure(H_p, T, d_T)#

Calculate Air Pressure (Equation 3.1-17~20)

Parameters:
H_p: float[]

Geopotential pressuer altitude [m]

T: float[]

Temperature from cal_temperature()[K]

d_T: float[]

Temperature differential at MSL [K]

Returns:
p_< or p_trop if below or equal to tropopause: float[]

Pressure [Pa]

p_> if above tropopause: float[]

Pressure [Pa]

cal_air_density(p, T)#

Calculate Air Density (Equation 3.1-21)

Parameters:
p: float[]

Pressure [Pa]

T: float[]

Temperature [K]

Returns:
rho: float[]

Density [kg/m^3]

cal_speed_of_sound(T)#

Calculate speed of sound. (Equation 3.1-22)

Parameters:
T: float[]

Temperature [K]

Returns:
a: float[]

Speed of sound [m/s]

cas_to_tas(V_cas, p, rho)#

Convert Calibrated air speed to True air speed. (Equation 3.1-23)

Parameters:
V_cas: float[]

Calibrated air speed [m/s]

p: float[]

Pressure [Pa]

rho: float[]

Density [kg/m^3]

Returns:
V_tasfloat[]

True air speed [m/s]

tas_to_cas(V_tas, p, rho)#

Convert True air speed to Calibrated air speed. (Equation 3.1-24)

Parameters:
V_tas: float[]

True air speed [m/s]

p: float[]

Pressure [Pa]

rho: float[]

Density [kg/m^3]

Returns:
V_casfloat[]

Calibrated air speed [m/s]

mach_to_tas(M, T)#

Convert Mach number to True Air speed (Equation 3.1-26)

Parameters:
M: float[]

Mach number [dimensionless]

T: float[]

Temperature [K]

Returns:
V_tas: float[]

True air speed [m/s]

tas_to_mach(V_tas, T)#

Convert True Air speed to Mach number (Equation 3.1-26)

Parameters:
V_tas: float[]

True air speed [m/s]

T: float[]

Temperature [K]

Returns:
M: float[]

Mach number [dimensionless]

cal_transition_alt(n, d_T)#

Calculate Mach/CAS transition altitude. (Equation 3.1-27~28)

Parameters:
V_cas: float[]

Calibrated air speed [m/s]

M: float[]

Mach number [dimensionless]

d_T: float[]

Temperature differential at MSL [K]

Returns:
H_p_trans: float[]

Transition altitude [m]

get_empty_weight(n)#

Get Empty Weight of an aircraft

Parameters:
n: int

index of aircraft

Returns:
Weight: float

Empty weight(BADA) or Operating empty weight(OpenAP) [kg]

cal_maximum_alt(d_T, m)#

Calculate maximum altitude

Parameters:
d_T: float[]

Temperature differential from ISA [K]

m: float[]

Aircraft mass [kg]

Returns:
h_max: float[]

Maximum altitude for any given mass [ft]

cal_maximum_speed()#

Calculate maximum altitude

Returns:
speed, mach: float[]

Maximum speed and mach

cal_minimum_speed(configuration)#

Calculate minimum speed

Parameters:
configuration: float[]

configuration from Traffic class [configuration enum]

Returns:
v_min: float[]

Minimum at speed at specific configuration [knots]

cal_max_d_tas(d_t)#

Calculate maximum delta true air speed

Parameters:
d_t: float[]

Timestep [s]

Returns:
d_v: float[]

Max delta velocity for time step [ft/s^2]

cal_max_d_rocd(d_t, V_tas, rocd)#

Calculate maximum delta rate of climb or descend (equation 5.2-2)

Parameters:
d_t: float[]

Timestep [s]

V_tas: float[]

True air speed [ft/s]

rocd: float[]

Current rate of climb/descend [ft/s]

Returns:
d_rocd: float[]

Delta rate of climb or descent [ft/s^2]

cal_energy_share_factor(H_p, T, d_T, M, ap_speed_mode, vertical_mode)#

Calculate energy share factor (Equation 3.2-5, 8~11)

Parameters:
H_p: float[]

Geopotential pressuer altitude [m]

T: float[]

Temperature [K]

d_T: float[]

Temperature differential at MSL [K]

M: float[]

Mach number [dimensionless]

ap_speed_mode: float[]

Speed mode from Autopilot class [AP_speed_mode enum]

vertical_mode: float[]

Vertical mode from Traffic class [Vertical_mode enum]

Returns:
f{M}: float[]

Energy share factor [dimenesionless]

cal_tem_rocd(T, d_T, m, D, f_M, Thr, V_tas, C_pow_red)#

Total Energy Model. Speed and Throttle Controller. (BADA User Menu Equation 3.2-1a and 3.2-7) Calculate Rate of climb or descent given velocity(constant) and thrust (max climb thrust/idle descent).

Parameters:
T: float[]

Temperature [K]

d_T: float[]

Temperature differential at MSL [K]

m: float[]

Aircraft mass [kg]

D: float[]

Aerodynamic drag [N]

f{M}: float[]

Energy share factor [dimenesionless]

Thr: float[]

Thrust acting parallel to the aircraft velocity vector [N]

V_tas: float[]

True airspeed [m/s]

C_pow_red: float[]

Reduced climb power coefficient [dimensionless]

Returns:
rocd: float[]

Rate of climb or descent [m/s] Defined as variation with time of the aircraft geopotential pressure altitude H_p

cal_tem_accel(T, d_T, m, D, rocd, Thr, V_tas)#

Total Energy Model. ROCD and Throttle Controller. (BADA User Menu Equation 3.2-1b and 3.2-7) NOTE: changed to equation 3.2-1 Calculate accel given ROCD and thrust.

Parameters:
T: float[]

Temperature [K]

d_T: float[]

Temperature differential at MSL [K]

m: float[]

Aircraft mass [kg]

D: float[]

Aerodynamic drag [N]

rocd: float[]

Rate of climb or descent [m/s]

Thr: float[]

Thrust acting parallel to the aircraft velocity vector [N]

V_tas: float[]

True airspeed [m/s]

Returns:
accel: float[]

Acceleration of tur air speed [m/s^2]

cal_tem_thrust(T, d_T, m, D, f_M, rocd, V_tas)#

Total Energy Model. Speed and ROCD Controller. (BADA User Menu Equation 3.2-1c and 3.2-7) TODO: change to equation 3.2-1 Calculate thrust given ROCD and speed.

Parameters:
T: float[]

Temperature [K]

d_T: float[]

Temperature differential at MSL [K]

D: float[]

Aerodynamic drag [N]

m: float[]

Aircraft mass [kg]

f{M}: float[]

Energy share factor [dimenesionless]

rocd: float[]

Rate of climb or descent [m/s]

V_tas: float[]

True airspeed [m/s]

Returns:
Thr: float[]

Thrust acting parallel to the aircraft velocity vector [N]

cal_vs_accel(traffic, tas)#

Calculate vertical speed and acceleration given true airspeed.

Parameters:
traffictraffic class

Points to traffic array

tasfloat[]

True airspeed [kt]

Returns:
vsfloat[]

Vertical speed [ft/min]

accelfloat[]

Acceleration [m/s^2]

cal_fuel_burn(flight_phase, tas, alt)#

Calculate fuel burn

Parameters:
flight_phasefloat[]

Flight phase from Traffic class [Flight_phase enum]

tasfloat[]

True airspeed [kt]

thrustfloat[]

Thrust [N]

alt_type_

Altitude [ft]

Returns:
Fuel burnfloat[]

Fuel burn [kg/s]

cal_rate_of_turn(bank_angle, V_tas)#

Calculate rate of turn (Equation 5.3-1)

Parameters:
bank_angle: float[]

Bank angle [deg]

V_tas: float[]

True air speed [m/s]

Returns:
Rate of turnfloat[]

Rate of turn [deg/s]

cal_bank_angle(rate_of_turn, V_tas)#

Calculate rate of turn (Equation 5.3-1)

Parameters:
Rate of turnfloat[]

Rate of turn [deg/s]

V_tas: float[]

True air speed [m/s]

Returns:
bank_angle: float[]

Bank angle [deg]

cal_turn_radius(bank_angle, V_tas)#

Calculate rate of turn (Equation 5.3-1)

Parameters:
bank_angle: float[]

Bank angle [deg]

V_tas: float[]

True air speed [m/s]

Returns:
turn_radius: float[]

Turn radius [m]

get_bank_angles(configuration)#

Get standard nominal bank angles (Session 5.3)

Parameters:
configuration: float[]

configuration from Traffic class [configuration enum]

Returns:
bank_angles :float

Bank angles [deg]

update_configuration(V_cas, H_p, vertical_mode)#

Update Flight Phase (section 3.5)

V_cas: float[]

True air speed [knots]

H_p: float[]

Geopotential pressuer altitude [ft]

vertical_modefloat[]

Vertical mode from Traffic class [Vertical_mode enum]

Returns:
configurationfloat[]

configuration from Traffic class [configuration enum]