本文整理汇总了Python中SUAVE.Structure.Data.horizontal_tail方法的典型用法代码示例。如果您正苦于以下问题:Python Data.horizontal_tail方法的具体用法?Python Data.horizontal_tail怎么用?Python Data.horizontal_tail使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类SUAVE.Structure.Data
的用法示例。
在下文中一共展示了Data.horizontal_tail方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: main
# 需要导入模块: from SUAVE.Structure import Data [as 别名]
# 或者: from SUAVE.Structure.Data import horizontal_tail [as 别名]
def main():
vehicle = SUAVE.Vehicle()# Create the vehicle for testing
# Parameters Required
vehicle.envelope.ultimate_load = 3.5 # Ultimate load
vehicle.mass_properties.max_takeoff = 79015.8 * Units.kilograms # Maximum takeoff weight in kilograms
vehicle.mass_properties.max_zero_fuel = 79015.8 * 0.9 * Units.kilograms # Maximum zero fuel weight in kilograms
vehicle.envelope.limit_load = 1.5 # Limit Load
turbofan = SUAVE.Components.Propulsors.TurboFanPASS()
turbofan.tag = 'Turbo Fan'
turbofan.number_of_engines = 2. # Number of engines on the aircraft
turbofan.thrust.design = 1000. * Units.newton # Define Thrust in Newtons
vehicle.append_component(turbofan)
vehicle.passengers = 170. # Number of passengers
vehicle.mass_properties.cargo = 0. * Units.kilogram # Mass of cargo
vehicle.systems.control = "fully powered" # Specify fully powered, partially powered or anything else is fully aerodynamic
vehicle.systems.accessories = "medium-range" # Specify what type of aircraft you have
vehicle.reference_area = 124.862 * Units.meter**2 # Wing gross area in square meters
wing = SUAVE.Components.Wings.Wing()
wing.tag = 'Main Wing'
wing.spans.projected = 50. * Units.meter # Span in meters
wing.taper = 0.2 # Taper ratio
wing.thickness_to_chord = 0.08 # Thickness-to-chord ratio
wing.sweep = .4363323 * Units.rad # sweep angle in degrees
wing.chords.root = 15. * Units.meter # Wing root chord length
wing.chords.mean_aerodynamic = 10. * Units.meters # Length of the mean aerodynamic chord of the wing
wing.position = [20,0,0] * Units.meters # Location of main wing from origin of the vehicle
wing.aerodynamic_center = [3,0,0] * Units.meters # Location of aerodynamic center from origin of the main wing
vehicle.append_component(wing)
fuselage = SUAVE.Components.Fuselages.Fuselage()
fuselage.tag = 'Fuselage'
fuselage.areas.wetted = 688.64 * Units.meter**2 # Fuselage wetted area
fuselage.differential_pressure = 55960.5 * Units.pascal # Maximum differential pressure
fuselage.width = 4. * Units.meter # Width of the fuselage
fuselage.heights.maximum = 4. * Units.meter # Height of the fuselage
fuselage.lengths.total = 58.4 * Units.meter # Length of the fuselage
fuselage.number_coach_seats = 200.
vehicle.append_component(fuselage)
wing = SUAVE.Components.Wings.Wing()
wing.tag = 'Horizontal Stabilizer'
wing.areas.reference = 75. * Units.meters**2 # Area of the horizontal tail
wing.spans.projected = 15. * Units.meters # Span of the horizontal tail
wing.sweep = 38. * Units.deg # Sweep of the horizontal tail
wing.chords.mean_aerodynamic = 5. * Units.meters # Length of the mean aerodynamic chord of the horizontal tail
wing.thickness_to_chord = 0.07 # Thickness-to-chord ratio of the horizontal tail
wing.areas.exposed = 199.7792 # Exposed area of the horizontal tail
wing.areas.wetted = 249.724 # Wetted area of the horizontal tail
wing.position = [45,0,0] # Location of horizontal tail from origin of the vehicle
wing.aerodynamic_center = [3,0,0] # Location of aerodynamic center from origin of the horizontal tail
vehicle.append_component(wing)
wing = SUAVE.Components.Wings.Wing()
wing.tag = 'Vertical Stabilizer'
wing.areas.reference = 60. * Units.meters**2 # Area of the vertical tail
wing.spans.projected = 15. * Units.meters # Span of the vertical tail
wing.thickness_to_chord = 0.07 # Thickness-to-chord ratio of the vertical tail
wing.sweep = 40. * Units.deg # Sweep of the vertical tail
wing.t_tail = "false" # Set to "yes" for a T-tail
vehicle.append_component(wing)
weight = Tube_Wing.empty(vehicle)
actual = Data()
actual.payload = 17349.9081525
actual.pax = 15036.5870655
actual.bag = 2313.321087
actual.fuel = -6993.89102491
actual.empty = 68659.7828724
actual.wing = 27694.192985
actual.fuselage = 11504.5186408
actual.propulsion = 88.3696093424
actual.landing_gear = 3160.632
actual.systems = 16655.7076511
actual.wt_furnish = 7466.1304102
actual.horizontal_tail = 2191.30720639
actual.vertical_tail = 5260.75341411
actual.rudder = 2104.30136565
error = Data()
error.payload = (actual.payload - weight.payload)/actual.payload
error.pax = (actual.pax - weight.pax)/actual.pax
error.bag = (actual.bag - weight.bag)/actual.bag
error.fuel = (actual.fuel - weight.fuel)/actual.fuel
error.empty = (actual.empty - weight.empty)/actual.empty
error.wing = (actual.wing - weight.wing)/actual.wing
error.fuselage = (actual.fuselage - weight.fuselage)/actual.fuselage
error.propulsion = (actual.propulsion - weight.propulsion)/actual.propulsion
error.landing_gear = (actual.landing_gear - weight.landing_gear)/actual.landing_gear
error.systems = (actual.systems - weight.systems)/actual.systems
error.wt_furnish = (actual.wt_furnish - weight.wt_furnish)/actual.wt_furnish
error.horizontal_tail = (actual.horizontal_tail - weight.horizontal_tail)/actual.horizontal_tail
error.vertical_tail = (actual.vertical_tail - weight.vertical_tail)/actual.vertical_tail
error.rudder = (actual.rudder - weight.rudder)/actual.rudder
for k,v in error.items():
#.........这里部分代码省略.........
示例2: empty
# 需要导入模块: from SUAVE.Structure import Data [as 别名]
# 或者: from SUAVE.Structure.Data import horizontal_tail [as 别名]
#.........这里部分代码省略.........
bts - tail surface span (m)
cts - average tail surface chord (m)
deltawts - average rib spacing to average chord ratio
Ntsr - number of tail surface ribs (bts**2)/(deltats*Sts)
t_cts - tail airfoil thickness to chord ratio
aircraft - a data dictionary with the fields:
nult - ultimate load factor
GW - aircraft gross weight
qm - dynamic pressure at maneuvering speed (N/m2)
Ltb - tailboom length (m)
Outputs:
Wws - weight of wing spar (kg)
Wtss - weight of tail surface spar (kg)
Wwr - weight of wing ribs (kg)
Wtsr - weight of tail surface ribs (kg)
Wwer - weight of wing end ribs (kg)
WwLE - weight of wing leading edge (kg)
WtsLE - weight of tail surface leading edge (kg)
WwTE - weight of wing trailing edge (kg)
Wwc - weight of wing covering (kg)
Wtsc - weight of tail surface covering (kg)
Wtb - tailboom weight (kg)
Assumptions:
All of this is from AIAA 89-2048, units are in kg. These weight estimates
are from the MIT Daedalus and are valid for very lightweight
carbon fiber composite structures. This may need to be solved iteratively since
gross weight is an input.
"""
#Unpack
nult = vehicle.envelope.ultimate_load
gw = vehicle.mass_properties.max_takeoff
qm = vehicle.qm
# Wing weight
if not vehicle.wings.has_key('Main Wing'):
wt_wing = 0.0
warnings.warn("There is no Wing Weight being added to the Configuration", stacklevel=1)
else:
Sw = vehicle.wings['Main Wing'].areas.reference
bw = vehicle.wings['Main Wing'].spans.projected
cw = vehicle.wings['Main Wing'].chords.mean_aerodynamic
Nwr = vehicle.wings['Main Wing'].number_ribs
t_cw = vehicle.wings['Main Wing'].thickness_to_chord
Nwer = vehicle.wings['Main Wing'].number_end_ribs
wt_wing = wing.wing(Sw,bw,cw,Nwr,t_cw,Nwer,nult,gw)
vehicle.wings['Main Wing'].mass_properties.mass = wt_wing
# Horizontal Tail weight
if not vehicle.wings.has_key('Horizontal Stabilizer'):
wt_ht = 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
chs = vehicle.wings['Horizontal Stabilizer'].chords.mean_aerodynamic
Nhsr = vehicle.wings['Horizontal Stabilizer'].number_ribs
t_ch = vehicle.wings['Horizontal Stabilizer'].thickness_to_chord
wt_ht = tail.tail(S_h,b_h,chs,Nhsr,t_ch,qm)
vehicle.wings['Horizontal Stabilizer'].mass_properties.mass = wt_ht
# Vertical Tail weight
if not vehicle.wings.has_key('Vertical Stabilizer'):
wt_vt = 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
cvs = vehicle.wings['Vertical Stabilizer'].chords.mean_aerodynamic
Nvsr = vehicle.wings['Vertical Stabilizer'].number_ribs
t_cv = vehicle.wings['Vertical Stabilizer'].thickness_to_chord
wt_vt = tail.tail(S_v,b_v,cvs,Nvsr,t_cv,qm)
vehicle.wings['Vertical Stabilizer'].mass_properties.mass = wt_vt
##Fuselage weight
#Ltb = vehicle.Ltb
#wt_tb = fuselage.fuselage(S_h,qm,Ltb)
#vehicle.Fuselages.Fuselage.mass_properties.mass = wt_tb
weight = Data()
weight.wing = wt_wing
#weight.fuselage = wt_tb
weight.horizontal_tail = wt_ht
weight.vertical_tail = wt_vt
return weight