Source code for RCAIDE.Library.Methods.Performance.estimate_landing_field_length
# estimate_landing_field_length.py
#
# Created: Jun 2014, T. Orra, C. Ilario, Celso,
# Modified: Apr 2015, M. Vegh
# Jan 2016, E. Botero
# Mar 2020, M. Clarke
# Jul 2020, E. Botero
# ----------------------------------------------------------------------
# Imports
# ----------------------------------------------------------------------
import RCAIDE
from RCAIDE.Framework.Core import Data, Units
from RCAIDE.Library.Methods.Aerodynamics.Common.Lift.compute_max_lift_coeff import compute_max_lift_coeff
import numpy as np
# ----------------------------------------------------------------------
# Compute field length required for landing
# ----------------------------------------------------------------------
[docs]
def estimate_landing_field_length(vehicle,analyses, altitude=0, delta_isa=0):
"""
Computes the landing field length required for a given vehicle configuration at specified airport conditions.
Parameters
----------
vehicle : Vehicle
The vehicle instance containing:
- mass_properties.landing : float
Landing weight [kg]
- reference_area : float
Wing reference area [m^2]
- maximum_lift_coefficient : float, optional
Maximum lift coefficient if pre-computed
- Vref_VS_ratio : float, optional
Ratio of approach to stall speed, default 1.23
analyses : Analyses
Container with aerodynamic analyses for computing maximum lift coefficient
altitude : float, optional
Airport altitude [ft], default 0
delta_isa : float, optional
Temperature offset from ISA conditions [K], default 0
Returns
-------
landing_field_length : float
Required landing field length [m]
Notes
-----
The landing distance is computed using a semi-empirical approach:
.. math::
LFL = k_1 + k_2 V_{ref}^2
where:
* k₁ = 250 (constant)
* k₂ = 2.485/g for two-wheel trucks
* Vref = 1.23 * Vstall (default)
**Major Assumptions**
* Two-wheel truck landing gear configuration
* Sea level standard atmospheric conditions unless specified
* Standard approach speed ratio (1.23 × stall speed)
* No wind conditions
**Theory**
The stall speed is computed as:
.. math::
V_{stall} = \sqrt{\\frac{2W}{\\rho S C_{L_{max}}}}
References
----------
[1] Torenbeek, E. (2013). Advanced Aircraft Design: Conceptual Design, Analysis and Optimization of Subsonic Civil Airplanes. Equation 9.25.
See Also
--------
RCAIDE.Library.Methods.Aerodynamics.Common.Lift.compute_max_lift_coeff
"""
# ==============================================
# Unpack
# ==============================================
altitude = altitude * Units.ft
delta_isa = delta_isa
weight = vehicle.mass_properties.landing
reference_area = vehicle.reference_area
try:
Vref_VS_ratio = vehicle.Vref_VS_ratio
except:
Vref_VS_ratio = 1.23
# ==============================================
# Computing atmospheric conditions
# ==============================================
atmo = RCAIDE.Framework.Analyses.Atmospheric.US_Standard_1976()
atmo_values = atmo.compute_values(altitude,delta_isa)
p = atmo_values.pressure
T = atmo_values.temperature
rho = atmo_values.density
a = atmo_values.speed_of_sound
mu = atmo_values.dynamic_viscosity
sea_level_gravity = atmo.planet.sea_level_gravity
# ==============================================
# Determining vehicle maximum lift coefficient
# ==============================================
# Condition to CLmax calculation: 90KTAS @ airport
state = Data()
state.conditions = RCAIDE.Framework.Mission.Common.Results()
state.conditions.freestream = Data()
state.conditions.freestream.density = rho
state.conditions.freestream.velocity = 90. * Units.knots
state.conditions.freestream.dynamic_viscosity = mu
settings = analyses.aerodynamics.settings
maximum_lift_coefficient, induced_drag_high_lift = compute_max_lift_coeff(state,settings,vehicle)
# ==============================================
# Computing speeds (Vs, Vref)
# ==============================================
stall_speed = (2 * weight * sea_level_gravity / (rho * reference_area * maximum_lift_coefficient)) ** 0.5
Vref = stall_speed * Vref_VS_ratio
# ========================================================================================
# Computing landing distance, according to Torenbeek equation
# Landing Field Length = k1 + k2 * Vref**2
# ========================================================================================
# Defining landing distance equation coefficients
landing_constants = np.zeros(3)
landing_constants[0] = 250.
landing_constants[1] = 0.
landing_constants[2] = 2.485 / sea_level_gravity # Two-wheels truck : [ (1.56 / 0.40 + 1.07) / (2*sea_level_gravity) ]
# Calculating landing field length
landing_field_length = 0.
for idx,constant in enumerate(landing_constants):
landing_field_length += constant * Vref**idx
# return
return landing_field_length