예제 #1
0
def compute_max_lift_coeff(vehicle,conditions=None):
    """ SUAVE.Methods.Aerodynamics.compute_max_lift_coeff(vehicle):
        Computes the maximum lift coefficient associated with an aircraft high lift system

        Inputs:
            vehicle - SUave type vehicle

            conditions - data dictionary with fields:
                mach_number - float or 1D array of freestream mach numbers
                airspeed    - float or 1D array of freestream airspeed
                rho         - air density
                mu          - air dynamic_viscosity



            geometry - Not used


        Outputs:
            Cl_max_ls - maximum lift coefficient
            Cd_ind    - induced drag increment due to high lift device


        Assumptions:
            if needed

    """


    # initializing Cl and CDi
    Cl_max_ls = 0
    Cd_ind    = 0

    #unpack
    max_lift_coefficient_factor = vehicle.max_lift_coefficient_factor
    for wing in vehicle.wings:
    
        if not wing.high_lift: continue
        #geometrical data
        Sref       = vehicle.reference_area
        Swing      = wing.areas.reference
        tc         = wing.thickness_to_chord * 100
        chord_mac  = wing.chords.mean_aerodynamic
        sweep      = wing.sweep  # convert into degrees
        taper      = wing.taper
        flap_chord = wing.flaps.chord
        flap_angle = wing.flaps.angle
        slat_angle = wing.slats.angle
        Swf        = wing.areas.affected  #portion of wing area with flaps
        flap_type  = wing.flaps.type
        
        # conditions data
        V    = conditions.freestream.velocity 
        roc  = conditions.freestream.density 
        nu   = conditions.freestream.dynamic_viscosity
        
        ##Mcr  =  segment.M

        #--cl max based on airfoil t_c
        Cl_max_ref = -0.0009*tc**3 + 0.0217*tc**2 - 0.0442*tc + 0.7005
        #-reynolds number effect
        Reyn     =  V * roc * chord_mac / nu
        Re_ref   = 9*10**6
        op_Clmax = Cl_max_ref * ( Reyn / Re_ref ) **0.1

        #wing cl_max to outer panel Cl_max
        w_Clmax = op_Clmax* ( 0.919729714285715 -0.044504761904771*taper \
                             -0.001835900000000*sweep +  0.247071428571446*taper**2 +  \
                              0.003191500000000*taper*sweep  -0.000056632142857*sweep**2  \
                             -0.279166666666676*taper**3 +  0.002300000000000*taper**2*sweep + \
                              0.000049982142857*taper*sweep**2  -0.000000280000000* sweep**3)

        #---FAR stall speed effect---------------
        #should be optional based on aircraft being modelled
        Cl_max_FAA= 1.1 * w_Clmax

        #-----------wing mounted engine ----
        Cl_max_w_eng= Cl_max_FAA - 0.2

        # Compute CL increment due to Slat
        dcl_slat = compute_slat_lift(slat_angle, sweep)

         # Compute CL increment due to Flap
        dcl_flap = compute_flap_lift(tc,flap_type,flap_chord,flap_angle,sweep,Sref,Swf)

        #results
        Cl_max_ls += (Cl_max_w_eng + dcl_slat + dcl_flap) * Swing / Sref
        Cd_ind += ( 0.01 ) * Swing / Sref

    Cl_max_ls = Cl_max_ls * max_lift_coefficient_factor
    return Cl_max_ls, Cd_ind
예제 #2
0
def compute_max_lift_coeff(vehicle,conditions=None):
    """Computes the maximum lift coefficient associated with an aircraft high lift system

    Assumptions:
    None

    Source:
    Unknown

    Inputs:
    vehicle.max_lift_coefficient_factor [Unitless]
    vehicle.reference_area              [m^2]
    vehicle.wings. 
      areas.reference                   [m^2]
      thickness_to_chord                [Unitless]
      chords.mean_aerodynamic           [m]
      sweeps.quarter_chord              [radians]
      taper                             [Unitless]
      flaps.chord                       [m]
      flaps.angle                       [radians]
      slats.angle                       [radians]
      areas.affected                    [m^2]
      flaps.type                        [string]
    conditions.freestream.
      velocity                          [m/s]
      density                           [kg/m^3]
      dynamic_viscosity                 [N s/m^2]

    Outputs:
    Cl_max_ls (maximum CL)              [Unitless]
    Cd_ind    (induced drag)            [Unitless]

    Properties Used:
    N/A
    """    


    # initializing Cl and CDi
    Cl_max_ls = 0
    Cd_ind    = 0

    #unpack
    max_lift_coefficient_factor = vehicle.max_lift_coefficient_factor
    for wing in vehicle.wings:
    
        if not wing.high_lift: continue
        #geometrical data
        Sref       = vehicle.reference_area
        Swing      = wing.areas.reference
        tc         = wing.thickness_to_chord * 100
        chord_mac  = wing.chords.mean_aerodynamic
        sweep      = wing.sweeps.quarter_chord # convert into degrees
        taper      = wing.taper
        flap_chord = wing.flaps.chord
        flap_angle = wing.flaps.angle
        slat_angle = wing.slats.angle
        Swf        = wing.areas.affected  #portion of wing area with flaps
        flap_type  = wing.flaps.type
        
        # conditions data
        V    = conditions.freestream.velocity 
        roc  = conditions.freestream.density 
        nu   = conditions.freestream.dynamic_viscosity

        #--cl max based on airfoil t_c
        Cl_max_ref = -0.0009*tc**3 + 0.0217*tc**2 - 0.0442*tc + 0.7005
        #-reynolds number effect
        Reyn     =  V * roc * chord_mac / nu
        Re_ref   = 9*10**6
        op_Clmax = Cl_max_ref * ( Reyn / Re_ref ) **0.1

        #wing cl_max to outer panel Cl_max
        w_Clmax = op_Clmax* ( 0.919729714285715 -0.044504761904771*taper \
                             -0.001835900000000*sweep +  0.247071428571446*taper**2 +  \
                              0.003191500000000*taper*sweep  -0.000056632142857*sweep**2  \
                             -0.279166666666676*taper**3 +  0.002300000000000*taper**2*sweep + \
                              0.000049982142857*taper*sweep**2  -0.000000280000000* sweep**3)

        #---FAR stall speed effect---------------
        #should be optional based on aircraft being modelled
        Cl_max_FAA = 1.1 * w_Clmax

        #-----------wing mounted engine ----
        Cl_max_w_eng = Cl_max_FAA - 0.2

        # Compute CL increment due to Slat
        dcl_slat = compute_slat_lift(slat_angle, sweep)

         # Compute CL increment due to Flap
        dcl_flap = compute_flap_lift(tc,flap_type,flap_chord,flap_angle,sweep,Sref,Swf)

        #results
        Cl_max_ls += (Cl_max_w_eng + dcl_slat + dcl_flap) * Swing / Sref
        Cd_ind += ( 0.01 ) * Swing / Sref

    Cl_max_ls = Cl_max_ls * max_lift_coefficient_factor
    return Cl_max_ls, Cd_ind
예제 #3
0
def compute_max_lift_coeff(vehicle, conditions=None):
    """Computes the maximum lift coefficient associated with an aircraft high lift system

    Assumptions:
    None

    Source:
    Unknown

    Inputs:
    vehicle.max_lift_coefficient_factor [Unitless]
    vehicle.reference_area              [m^2]
    vehicle.wings. 
      areas.reference                   [m^2]
      thickness_to_chord                [Unitless]
      chords.mean_aerodynamic           [m]
      sweeps.quarter_chord              [radians]
      taper                             [Unitless]
      flaps.chord                       [m]
      flaps.angle                       [radians]
      slats.angle                       [radians]
      areas.affected                    [m^2]
      flaps.type                        [string]
    conditions.freestream.
      velocity                          [m/s]
      density                           [kg/m^3]
      dynamic_viscosity                 [N s/m^2]

    Outputs:
    Cl_max_ls (maximum CL)              [Unitless]
    Cd_ind    (induced drag)            [Unitless]

    Properties Used:
    N/A
    """

    # initializing Cl and CDi
    Cl_max_ls = 0
    Cd_ind = 0

    #unpack
    max_lift_coefficient_factor = vehicle.max_lift_coefficient_factor
    for wing in vehicle.wings:

        if not wing.high_lift: continue
        #geometrical data
        Sref = vehicle.reference_area
        Swing = wing.areas.reference
        tc = wing.thickness_to_chord * 100
        chord_mac = wing.chords.mean_aerodynamic
        sweep = wing.sweeps.quarter_chord  # convert into degrees
        taper = wing.taper
        flap_chord = wing.flaps.chord
        flap_angle = wing.flaps.angle
        slat_angle = wing.slats.angle
        Swf = wing.areas.affected  #portion of wing area with flaps
        flap_type = wing.flaps.type

        # conditions data
        V = conditions.freestream.velocity
        roc = conditions.freestream.density
        nu = conditions.freestream.dynamic_viscosity

        #--cl max based on airfoil t_c
        Cl_max_ref = -0.0009 * tc**3 + 0.0217 * tc**2 - 0.0442 * tc + 0.7005
        #-reynolds number effect
        Reyn = V * roc * chord_mac / nu
        Re_ref = 9 * 10**6
        op_Clmax = Cl_max_ref * (Reyn / Re_ref)**0.1

        #wing cl_max to outer panel Cl_max
        w_Clmax = op_Clmax* ( 0.919729714285715 -0.044504761904771*taper \
                             -0.001835900000000*sweep +  0.247071428571446*taper**2 +  \
                              0.003191500000000*taper*sweep  -0.000056632142857*sweep**2  \
                             -0.279166666666676*taper**3 +  0.002300000000000*taper**2*sweep + \
                              0.000049982142857*taper*sweep**2  -0.000000280000000* sweep**3)

        #---FAR stall speed effect---------------
        #should be optional based on aircraft being modelled
        Cl_max_FAA = 1.1 * w_Clmax

        #-----------wing mounted engine ----
        Cl_max_w_eng = Cl_max_FAA - 0.2

        # Compute CL increment due to Slat
        dcl_slat = compute_slat_lift(slat_angle, sweep)

        # Compute CL increment due to Flap
        dcl_flap = compute_flap_lift(tc, flap_type, flap_chord, flap_angle,
                                     sweep, Sref, Swf)

        #results
        Cl_max_ls += (Cl_max_w_eng + dcl_slat + dcl_flap) * Swing / Sref
        Cd_ind += (0.01) * Swing / Sref

    Cl_max_ls = Cl_max_ls * max_lift_coefficient_factor
    return Cl_max_ls, Cd_ind