当前位置: 首页>>代码示例>>Python>>正文


Python Data.wt_tail_vertical方法代码示例

本文整理汇总了Python中SUAVE.Structure.Data.wt_tail_vertical方法的典型用法代码示例。如果您正苦于以下问题:Python Data.wt_tail_vertical方法的具体用法?Python Data.wt_tail_vertical怎么用?Python Data.wt_tail_vertical使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在SUAVE.Structure.Data的用法示例。


在下文中一共展示了Data.wt_tail_vertical方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。

示例1: tail_vertical

# 需要导入模块: from SUAVE.Structure import Data [as 别名]
# 或者: from SUAVE.Structure.Data import wt_tail_vertical [as 别名]
def tail_vertical(S_v,Nult,b_v,TOW,t_c_v,sweep_v,S_gross_w,t_tail,rudder_fraction = 0.25):      
    """ output = SUAVE.Methods.Weights.Correlations.Tube_Wing.tail_vertical(S_v,Nult,b_v,TOW,t_c_v,sweep_v,S_gross_w,t_tail)
        Calculate the weight of the vertical fin of an aircraft without the weight of the rudder and then calculate the weight of the rudder        
        
        Inputs:
            S_v - area of the vertical tail (combined fin and rudder) [meters**2]
            Nult - ultimate load of the aircraft [dimensionless]
            b_v - span of the vertical [meters]
            TOW - maximum takeoff weight of the aircraft [kilograms]
            t_c_v - thickness-to-chord ratio of the vertical tail [dimensionless]
            sweep_v - sweep angle of the vertical tail [radians]
            S_gross_w - wing gross area [meters**2]
            t_tail - factor to determine if aircraft has a t-tail [dimensionless]
            rudder_fraction - fraction of the vertical tail that is the rudder [dimensionless]
        
        Outputs:
            output - a dictionary with outputs:
                wt_tail_vertical - weight of the vertical fin portion of the vertical tail [kilograms]
                wt_rudder - weight of the rudder on the aircraft [kilograms]
            
        Assumptions:
            Vertical tail weight is the weight of the vertical fin without the rudder weight.
            Rudder occupies 25% of the S_v and weighs 60% more per unit area.
    """     
    # unpack inputs
    span  = b_v / Units.ft # Convert meters to ft
    sweep = sweep_v # Convert deg to radians
    area  = S_v / Units.ft**2 # Convert meters squared to ft squared
    mtow  = TOW / Units.lb # Convert kg to lbs
    Sref  = S_gross_w / Units.ft**2 # Convert from meters squared to ft squared
    
    # process    
    
    # Determine weight of the vertical portion of the tail
    if t_tail == "yes": 
        T_tail_factor = 1.25 # Weight of vertical portion of the T-tail is 25% more than a conventional tail
    else: 
        T_tail_factor = 1.0 
    
    # Calculate weight of wing for traditional aircraft vertical tail without rudder
    tail_vert_English = T_tail_factor * (2.62*area+1.5*10.**(-5.)*Nult*span**3.*(8.+0.44*mtow/Sref)/(t_c_v*(np.cos(sweep)**2.))) 
    
    # packup outputs    
    
    output = Data()
    output.wt_tail_vertical = tail_vert_English * Units.lbs # Convert from lbs to kg
    output.wt_rudder        = output.wt_tail_vertical * rudder_fraction * 1.6

    return output
开发者ID:designToolDeveloper,项目名称:SUAVE,代码行数:51,代码来源:tail_vertical.py

示例2: empty

# 需要导入模块: from SUAVE.Structure import Data [as 别名]
# 或者: from SUAVE.Structure.Data import wt_tail_vertical [as 别名]

#.........这里部分代码省略.........

    # Unpack inputs
    Nult       = vehicle.envelope.ultimate_load
    Nlim       = vehicle.envelope.limit_load
    TOW        = vehicle.mass_properties.max_takeoff
    wt_zf      = vehicle.mass_properties.max_zero_fuel
    num_pax    = vehicle.passengers

    wt_cargo   = vehicle.mass_properties.cargo
    num_seats  = vehicle.fuselages.Fuselage.number_coach_seats
    ctrl_type  = vehicle.systems.control
    ac_type    = vehicle.systems.accessories         
    
    if not vehicle.propulsors.has_key('Turbo Fan'):
        wt_engine_jet = 0.0
        wt_propulsion = 0.0
        warnings.warn("There is no Turbo Fan Engine Weight being added to the Configuration", stacklevel=1)    
    else:    
        num_eng            = vehicle.propulsors['Turbo Fan'].number_of_engines
        thrust_sls         = vehicle.propulsors['Turbo Fan'].thrust.design
        wt_engine_jet      = Propulsion.engine_jet(thrust_sls)
        wt_propulsion      = Propulsion.integrated_propulsion(wt_engine_jet,num_eng)
    
    S_gross_w  = vehicle.reference_area
    #S_gross_w  = vehicle.wings['Main Wing'].Areas.reference
    if not vehicle.wings.has_key('Main Wing'):
        wt_wing = 0.0
        wing_c_r = 0.0
        warnings.warn("There is no Wing Weight being added to the Configuration", stacklevel=1)
    else:
        b          = vehicle.wings['Main Wing'].spans.projected
        lambda_w   = vehicle.wings['Main Wing'].taper
        t_c_w      = vehicle.wings['Main Wing'].thickness_to_chord
        sweep_w    = vehicle.wings['Main Wing'].sweep
        mac_w      = vehicle.wings['Main Wing'].chords.mean_aerodynamic
        wing_c_r   = vehicle.wings['Main Wing'].chords.root
        wt_wing    = wing_main(S_gross_w,b,lambda_w,t_c_w,sweep_w,Nult,TOW,wt_zf)
        vehicle.wings['Main Wing'].mass_properties.mass = wt_wing        
        
    S_fus      = vehicle.fuselages.Fuselage.areas.wetted
    diff_p_fus = vehicle.fuselages.Fuselage.differential_pressure
    w_fus      = vehicle.fuselages.Fuselage.width
    h_fus      = vehicle.fuselages.Fuselage.heights.maximum
    l_fus      = vehicle.fuselages.Fuselage.lengths.total
    
    if not vehicle.wings.has_key('Horizontal Stabilizer'):
        wt_tail_horizontal = 0.0
        S_h = 0.0
        warnings.warn("There is no Horizontal Tail Weight being added to the Configuration", stacklevel=1)
    else:    
        S_h            = vehicle.wings['Horizontal Stabilizer'].areas.reference
        b_h            = vehicle.wings['Horizontal Stabilizer'].spans.projected
        sweep_h        = vehicle.wings['Horizontal Stabilizer'].sweep
        mac_h          = vehicle.wings['Horizontal Stabilizer'].chords.mean_aerodynamic
        t_c_h          = vehicle.wings['Horizontal Stabilizer'].thickness_to_chord
        h_tail_exposed = vehicle.wings['Horizontal Stabilizer'].areas.exposed / vehicle.wings['Horizontal Stabilizer'].areas.wetted
        l_w2h      = vehicle.wings['Horizontal Stabilizer'].origin[0] + vehicle.wings['Horizontal Stabilizer'].aerodynamic_center[0] - vehicle.wings['Main Wing'].origin[0] - vehicle.wings['Main Wing'].aerodynamic_center[0] #Need to check this is the length of the horizontal tail moment arm
        wt_tail_horizontal = tail_horizontal(b_h,sweep_h,Nult,S_h,TOW,mac_w,mac_h,l_w2h,t_c_h, h_tail_exposed)                
        vehicle.wings['Horizontal Stabilizer'].mass_properties.mass = wt_tail_horizontal        
    
    if not vehicle.wings.has_key('Vertical Stabilizer'):   
        output_3 = Data()
        output_3.wt_tail_vertical = 0.0
        output_3.wt_rudder = 0.0
        S_v = 0.0
        warnings.warn("There is no Vertical Tail Weight being added to the Configuration", stacklevel=1)    
    else:     
        S_v        = vehicle.wings['Vertical Stabilizer'].areas.reference
        b_v        = vehicle.wings['Vertical Stabilizer'].spans.projected
        t_c_v      = vehicle.wings['Vertical Stabilizer'].thickness_to_chord
        sweep_v    = vehicle.wings['Vertical Stabilizer'].sweep
        t_tail     = vehicle.wings['Vertical Stabilizer'].t_tail  
        output_3   = tail_vertical(S_v,Nult,b_v,TOW,t_c_v,sweep_v,S_gross_w,t_tail)
        vehicle.wings['Vertical Stabilizer'].mass_properties.mass = output_3.wt_tail_vertical + output_3.wt_rudder
        

    # process
    # Calculating Empty Weight of Aircraft
    wt_landing_gear    = landing_gear(TOW)
    wt_fuselage        = tube(S_fus, diff_p_fus,w_fus,h_fus,l_fus,Nlim,wt_zf,wt_wing,wt_propulsion, wing_c_r)
    output_2           = systems(num_seats, ctrl_type, S_h, S_v, S_gross_w, ac_type)
    
    # Calculate the equipment empty weight of the aircraft
    wt_empty           = (wt_wing + wt_fuselage + wt_landing_gear + wt_propulsion + output_2.wt_systems + \
                          wt_tail_horizontal + output_3.wt_tail_vertical + output_3.wt_rudder) 
    vehicle.fuselages.Fuselage.mass_properties.mass = wt_fuselage
    
    # packup outputs
    output             = payload(TOW, wt_empty, num_pax,wt_cargo)
    output.wing              = wt_wing
    output.fuselage          = wt_fuselage
    output.propulsion        = wt_propulsion
    output.landing_gear      = wt_landing_gear
    output.systems           = output_2.wt_systems
    output.wt_furnish        = output_2.wt_furnish
    output.horizontal_tail   = wt_tail_horizontal
    output.vertical_tail     = output_3.wt_tail_vertical
    output.rudder            = output_3.wt_rudder    
    
    return output
开发者ID:designToolDeveloper,项目名称:SUAVE,代码行数:104,代码来源:empty.py


注:本文中的SUAVE.Structure.Data.wt_tail_vertical方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。