Source code for RCAIDE.Framework.Analyses.Stability.Stability

# RCAIDE/Framework/Analyses/Stability/Vortex_Lattice_Method.py
# 
# 
# Created:  Jul 2023, M. Clarke

# ----------------------------------------------------------------------------------------------------------------------
#  IMPORT
# ----------------------------------------------------------------------------------------------------------------------

# RCAIDE imports  
from RCAIDE.Framework.Core import Data
from RCAIDE.Framework.Analyses import Analysis


# package imports 
import numpy as np 

# ----------------------------------------------------------------------------------------------------------------------
#  Stability
# ----------------------------------------------------------------------------------------------------------------------
[docs] class Stability(Analysis): """This is the base class for stability analyses. It contains functions that are built into the default class. Assumptions: None Source: N/A """ def __defaults__(self): """This sets the default values and methods for the analysis. Assumptions: None Source: N/A Inputs: None Outputs: None Properties Used: N/A """ self.tag = 'stability' self.settings = Data() self.settings.maximum_lift_coefficient = np.inf self.settings.fuselage_lift_correction = 1.20 self.settings.trim_drag_correction_factor = 1.02 self.settings.wing_parasite_drag_form_factor = 1.1 self.settings.fuselage_parasite_drag_form_factor = 2.1 self.settings.drag_reduction_factors = Data() self.settings.drag_reduction_factors.parasite_drag = 0.0 # Reduction factors are proportional (.1 is a 10% weight reduction) self.settings.drag_reduction_factors.induced_drag = 0.0 # Reduction factors are proportional (.1 is a 10% weight reduction) self.settings.drag_reduction_factors.compressibility_drag = 0.0 # Reduction factors are proportional (.1 is a 10% weight reduction) self.settings.maximum_lift_coefficient_factor = 1.0 self.settings.viscous_lift_dependent_drag_factor = 0.38 self.settings.drag_coefficient_increment = 0.0 self.settings.recalculate_total_wetted_area = False self.settings.oswald_efficiency_factor = None self.settings.span_efficiency = None self.settings.compute_neutral_point = True self.settings.supersonic = Data() self.settings.supersonic.begin_drag_rise_mach_number = 0.95 self.settings.supersonic.end_drag_rise_mach_number = 1.15 self.settings.supersonic.fuselage_parasite_drag_begin_blend_mach = 0.91 self.settings.supersonic.fuselage_parasite_drag_end_blend_mach = 0.99 # Stability derivatives. If these are not user defined, then they will be calculated. self.stability_derivatives = Data() self.stability_derivatives.M_0 = None self.stability_derivatives.Clift_alpha = None self.stability_derivatives.CX_alpha = None self.stability_derivatives.CX_u = None self.stability_derivatives.CY_beta = None self.stability_derivatives.CY_r = None self.stability_derivatives.CZ_alpha = None self.stability_derivatives.CZ_u = None self.stability_derivatives.CZ_q = None self.stability_derivatives.CL_beta = None self.stability_derivatives.CL_p = None self.stability_derivatives.CL_r = None self.stability_derivatives.CM_alpha = None self.stability_derivatives.CM_u = None self.stability_derivatives.CM_q = None self.stability_derivatives.CN_beta = None self.stability_derivatives.CN_p = None self.stability_derivatives.CN_r = None self.stability_derivatives.CY_delta_a = None self.stability_derivatives.CL_delta_a = None self.stability_derivatives.CN_delta_a = None self.stability_derivatives.CM_delta_e = None self.stability_derivatives.Clift_delta_e = None self.stability_derivatives.CY_delta_r = None self.stability_derivatives.CL_delta_r = None self.stability_derivatives.CN_delta_r = None self.stability_derivatives.CM_delta_f = None self.stability_derivatives.Clift_delta_f = None self.stability_derivatives.CM_delta_s = None self.stability_derivatives.Clift_delta_s = None self.stability_derivatives.Cdrag_delta_a = None self.stability_derivatives.Cdrag_delta_r = None self.stability_derivatives.Cdrag_delta_e = None self.stability_derivatives.Cdrag_delta_f = None self.stability_derivatives.Cdrag_delta_s = None return