Source code for RCAIDE.Library.Methods.Aerodynamics.Common.Drag.spoiler_drag
# RCAIDE/Library/Methods/Aerodynamics/Common/Drag/spoiler_drag.py
#
# Created: Mar 2025, M. Clarke
# ----------------------------------------------------------------------------------------------------------------------
# IMPORT
# ----------------------------------------------------------------------------------------------------------------------
# RCAIDE imports
import RCAIDE
from RCAIDE.Framework.Core import Units
import numpy as np
# ----------------------------------------------------------------------------------------------------------------------
# Spolier Drag
# ----------------------------------------------------------------------------------------------------------------------
[docs]
def spoiler_drag(state,settings,geometry):
"""Updates the aerodynamic performance of an aircraft given the influence of deflected spoilers
Parameters
----------
state : Data
flight conditions of aircraft
settings : dict
aerodynamic settings
geometry : Data
aircraft geometry
References
----------
[1] Croom, Delwin R. Low-speed wind-tunnel investigation of various segments of flight spoilers
as trailing-vortex-alleviation devices on a transport aircraft model. No. NASA-TN-D-8162. 1976.
"""
# unpack
parasite_total = state.conditions.aerodynamics.coefficients.drag.parasite.total
induced_total = state.conditions.aerodynamics.coefficients.drag.induced.total
compressibility_total = state.conditions.aerodynamics.coefficients.drag.compressible.total
miscellaneous_drag = state.conditions.aerodynamics.coefficients.drag.miscellaneous.total
cooling_drag = state.conditions.aerodynamics.coefficients.drag.cooling.total
# untrimmed drag
drag = parasite_total + induced_total + compressibility_total + miscellaneous_drag + cooling_drag
spoiler_drag_coef = np.zeros_like(drag)
for wing in geometry.wings:
for cs in wing.control_surfaces:
if type(cs) == RCAIDE.Library.Components.Wings.Control_Surfaces.Spoiler:
spoiler_drag_coef += drag * (0.0011 * (cs.deflection / Units.degrees))
state.conditions.aerodynamics.coefficients.lift.total += -0.0075 *(cs.deflection / Units.degrees)
state.conditions.static_stability.coefficients.M += 0.0053 *(cs.deflection / Units.degrees)
state.conditions.aerodynamics.coefficients.drag.spoiler.total = spoiler_drag_coef
return