Source code for RCAIDE.Library.Methods.Aerodynamics.Common.Drag.total_drag

# RCAIDE/Library/Methods/Aerodynamics/Common/Drag/total_drag.py
# 
# Created:  Jun 2024, M. Clarke

# ----------------------------------------------------------------------------------------------------------------------
#  Total Drag 
# ---------------------------------------------------------------------------------------------------------------------- 
[docs] def total_drag(state,settings,geometry): """ Computes the total drag coefficient by summing all individual drag components. Parameters ---------- state : Data Flight conditions and aerodynamic state containing: - conditions.aerodynamics.coefficients.drag : Data Drag coefficients containing: - parasite.total : float Total parasite drag coefficient [unitless] - induced.total : float Total induced drag coefficient [unitless] - compressible.total : float Compressibility drag coefficient [unitless] - miscellaneous.total : float Miscellaneous drag coefficient [unitless] - cooling.total : float Cooling drag coefficient [unitless] - trim.total : float Trim drag coefficient [unitless] - form.total : float Form drag coefficient [unitless] settings : dict Aerodynamic analysis settings containing: - trim_drag_correction_factor : float Correction factor for trim drag [unitless] - drag_coefficient_increment : float Additional drag coefficient increment [unitless] geometry : Data Aircraft geometry data structure Returns ------- None Results are stored in state.conditions.aerodynamics.coefficients.drag.total Notes ----- This function aggregates all drag components into a total drag coefficient for the aircraft. The calculation includes parasite, induced, compressibility, miscellaneous, cooling, trim, form drag components, with optional correction factors and increments. **Major Assumptions** * All drag components are additive with no overlap * Trim drag correction factor accounts for trim effects * Drag coefficient increment allows for additional corrections * All drag coefficients are normalized to the same reference area **Theory** The total drag coefficient is calculated as the sum of all drag components with corrections: :math:`C_{D,total} = f_{trim} \\cdot (C_{D,parasite} + C_{D,induced} + C_{D,compressible} + C_{D,miscellaneous} + C_{D,cooling} + C_{D,trim} + C_{D,form} + \\Delta C_D)` where: - :math:`f_{trim}` is the trim drag correction factor - :math:`C_{D,parasite}` is the parasite drag coefficient - :math:`C_{D,induced}` is the induced drag coefficient - :math:`C_{D,compressible}` is the compressibility drag coefficient - :math:`C_{D,miscellaneous}` is the miscellaneous drag coefficient - :math:`C_{D,cooling}` is the cooling drag coefficient - :math:`C_{D,trim}` is the trim drag coefficient - :math:`C_{D,form}` is the form drag coefficient - :math:`\\Delta C_D` is the drag coefficient increment See Also -------- RCAIDE.Library.Methods.Aerodynamics.Common.Drag.parasite_total RCAIDE.Library.Methods.Aerodynamics.Common.Drag.induced_drag RCAIDE.Library.Methods.Aerodynamics.Common.Drag.compressibility_drag RCAIDE.Library.Methods.Aerodynamics.Common.Drag.miscellaneous_drag RCAIDE.Library.Methods.Aerodynamics.Common.Drag.cooling_drag RCAIDE.Library.Methods.Aerodynamics.Common.Drag.trim_drag RCAIDE.Library.Methods.Aerodynamics.Common.Drag.form_drag """ # unpack inputs drag = state.conditions.aerodynamics.coefficients.drag # various drag components parasite_total = drag.parasite.total induced_total = drag.induced.total compressibility_total = drag.compressible.total miscellaneous_drag = drag.miscellaneous.total cooling_drag = drag.cooling.total trim_drag = drag.trim.total form_drag = drag.form.total # total drag drag.total = settings.trim_drag_correction_factor * (parasite_total + induced_total + compressibility_total + miscellaneous_drag \ + cooling_drag + trim_drag + form_drag + settings.drag_coefficient_increment) return