本文整理汇总了Python中SUAVE.Core.Data.wt_tail_vertical方法的典型用法代码示例。如果您正苦于以下问题:Python Data.wt_tail_vertical方法的具体用法?Python Data.wt_tail_vertical怎么用?Python Data.wt_tail_vertical使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类SUAVE.Core.Data
的用法示例。
在下文中一共展示了Data.wt_tail_vertical方法的4个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: tail_vertical
# 需要导入模块: from SUAVE.Core import Data [as 别名]
# 或者: from SUAVE.Core.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):
""" Calculate the weight of the vertical fin of an aircraft without the weight of
the rudder and then calculate the weight of the rudder
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.
Source:
N/A
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]
Properties Used:
N/A
"""
# 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
# 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
示例2: empty
# 需要导入模块: from SUAVE.Core import Data [as 别名]
# 或者: from SUAVE.Core.Data import wt_tail_vertical [as 别名]
#.........这里部分代码省略.........
else:
b = vehicle.wings['main_wing'].spans.projected
AR_w = (b**2.)/S_gross_w
taper_w = vehicle.wings['main_wing'].taper
t_c_w = vehicle.wings['main_wing'].thickness_to_chord
sweep_w = vehicle.wings['main_wing'].sweeps.quarter_chord
mac_w = vehicle.wings['main_wing'].chords.mean_aerodynamic
wing_c_r = vehicle.wings['main_wing'].chords.root
#now run weight script for the wing
wt_wing = wing_main(S_gross_w, m_fuel, AR_w, sweep_w, q_c, taper_w, t_c_w,Nult,TOW)
vehicle.wings['main_wing'].mass_properties.mass = wt_wing
if 'horizontal_stabilizer' not in vehicle.wings:
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
AR_h = (b_h**2.)/S_h
taper_h = vehicle.wings['horizontal_stabilizer'].spans.projected
sweep_h = vehicle.wings['horizontal_stabilizer'].sweeps.quarter_chord
mac_h = vehicle.wings['horizontal_stabilizer'].chords.mean_aerodynamic
t_c_h = vehicle.wings['horizontal_stabilizer'].thickness_to_chord
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] #used for fuselage weight
wt_tail_horizontal = tail_horizontal(S_h, AR_h, sweep_h, q_c, taper_h, t_c_h,Nult,TOW)
vehicle.wings['horizontal_stabilizer'].mass_properties.mass = wt_tail_horizontal
#vertical stabilizer
if 'vertical_stabilizer' not in vehicle.wings:
output_3 = Data()
output_3.wt_tail_vertical = 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
AR_v = (b_v**2.)/S_v
taper_v = vehicle.wings['vertical_stabilizer'].taper
t_c_v = vehicle.wings['vertical_stabilizer'].thickness_to_chord
sweep_v = vehicle.wings['vertical_stabilizer'].sweeps.quarter_chord
t_tail = vehicle.wings['vertical_stabilizer'].t_tail
output_3 = tail_vertical(S_v, AR_v, sweep_v, q_c, taper_v, t_c_v, Nult,TOW,t_tail)
vehicle.wings['vertical_stabilizer'].mass_properties.mass = output_3.wt_tail_vertical
if 'fuselages.fuselage' not in vehicle:
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.structure
V_fuse = vehicle.fuselages['fuselage'].mass_properties.volume
V_int = vehicle.fuselages['fuselage'].mass_properties.internal_volume
num_seats = vehicle.fuselages['fuselage'].number_coach_seats
#calculate fuselage weight
wt_fuselage = fuselage(S_fus, Nult, TOW, w_fus, h_fus, l_fus, l_w2h, q_c, V_fuse, diff_p_fus)
else:
print('got here')
warnings.warn('There is no Fuselage weight being added to the vehicle', stacklevel=1)
#landing gear
示例3: empty
# 需要导入模块: from SUAVE.Core import Data [as 别名]
# 或者: from SUAVE.Core.Data import wt_tail_vertical [as 别名]
#.........这里部分代码省略.........
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
A_h = vehicle.wings['horizontal_stabilizer'].aspect_ratio
sweep_h = vehicle.wings['horizontal_stabilizer'].sweep
mac_h = vehicle.wings['horizontal_stabilizer'].chords.mean_aerodynamic
c_r_h = vehicle.wings['horizontal_stabilizer'].chords.root
t_c_h = vehicle.wings['horizontal_stabilizer'].thickness_to_chord
# print 'c_r_h =',c_r_h
taper_h = vehicle.wings['horizontal_stabilizer'].taper
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)
Sel = 0.15 * S_h
wt_tail_horizontal = hor_tail(c_r_h, taper_h, l_w2h, Sel, S_h, A_h, b_h, sweep_h, TOW, Nult)
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
A_v = vehicle.wings['vertical_stabilizer'].aspect_ratio
t_c_v = vehicle.wings['vertical_stabilizer'].thickness_to_chord
sweep_v = vehicle.wings['vertical_stabilizer'].sweep
taper_v = vehicle.wings['vertical_stabilizer'].taper
c_r_v = vehicle.wings['vertical_stabilizer'].chords.root
mac_v = vehicle.wings['vertical_stabilizer'].chords.mean_aerodynamic
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)
wt_tail_vertical = vert_tail(S_v, b_v, c_r_v, taper_v, t_c_v, A_v, sweep_v, l_w2h, TOW)
vehicle.wings['vertical_stabilizer'].mass_properties.mass = wt_tail_vertical
# print 'b_v =',b_v
# print 'c_r_v =',c_r_v
# print 'c_t_v =',c_r_v*taper_v
# vehicle.wings['vertical_stabilizer'].mass_properties.mass = output_3.wt_tail_vertical + output_3.wt_rudder
# Calculating Empty Weight of Aircraft
wt_landing_gear, gear, h_gear = landing_gear(TOW, d_eng, h_fus, V_descent)
# print 'h_gear =', h_gear
l_nose = vehicle.fuselages['fuselage'].lengths.nose
l_center = vehicle.fuselages['fuselage'].lengths.cabin
l_tail = vehicle.fuselages['fuselage'].lengths.tail
S_cstot = 0.22 * mac_w * 0.6 * b * 1.5 + 0.3 * mac_v * 0.9 * b_v + 0.2 * mac_h * 0.9 * b_h # 1.5 factor is because of assumed spoilers on wings
Iy_SI = 1230140.7646609414 # kgm^2
Vmax = 240 # m/s
wt_fuselage = tube(S_fus, diff_p_fus, w_fus, h_fus, l_nose, l_center, l_tail, l_fus, Nlim, wt_zf, wt_wing,
示例4: empty
# 需要导入模块: from SUAVE.Core import Data [as 别名]
# 或者: from SUAVE.Core.Data import wt_tail_vertical [as 别名]
#.........这里部分代码省略.........
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 should be sea level static thrust. Using design thrust results in wrong propulsor
# weight estimation. Engine sizing should return this value.
# for now, using thrust_sls = design_thrust / 0.20, just for optimization evaluations
thrust_sls = vehicle.propulsors['turbo_fan'].sealevel_static_thrust #design_thrust / 0.20 # to account for difference in thrust as SL and design thrust
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.horizontal_tail = wt_tail_horizontal
output.vertical_tail = output_3.wt_tail_vertical
output.rudder = output_3.wt_rudder
output.systems = output_2.wt_systems
output.systems_breakdown = Data()
output.systems_breakdown.control_systems = output_2.wt_flt_ctrl
output.systems_breakdown.apu = output_2.wt_apu
output.systems_breakdown.hydralics = output_2.wt_hyd_pnu
output.systems_breakdown.intruments = output_2.wt_instruments
output.systems_breakdown.avionics = output_2.wt_avionics
output.systems_breakdown.optionals = output_2.wt_opitems
output.systems_breakdown.electrical = output_2.wt_elec
output.systems_breakdown.air_conditioner = output_2.wt_ac
output.systems_breakdown.furnish = output_2.wt_furnish
return output