Skip to content

Commit ca0c140

Browse files
committed
Merge branch 'master' of https://github.com/suavecode/Tutorials
2 parents ade309d + 266f2a7 commit ca0c140

File tree

2 files changed

+64
-35
lines changed

2 files changed

+64
-35
lines changed

tut_concorde.py

Lines changed: 24 additions & 33 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
# tut_Concorde.py
22
#
33
# Created: Aug 2014, SUAVE Team
4-
# Modified: Jun 2015, T. MacDonald
4+
# Modified: Apr 2016, T. MacDonald
55

66
""" setup file for a mission with Concorde
77
"""
@@ -199,24 +199,24 @@ def vehicle_setup():
199199

200200
wing.spans.projected = 25.6
201201

202-
wing.chords.root = 25.0
203-
wing.total_length = 25.0
202+
wing.chords.root = 27.66
203+
wing.total_length = 27.66
204204
wing.chords.tip = 0.0
205-
wing.chords.mean_aerodynamic = 14.0
205+
wing.chords.mean_aerodynamic = 18.4
206206

207207
wing.areas.reference = 358.25
208208

209209
wing.twists.root = 0.0 * Units.degrees
210-
wing.twists.tip = 3.0 * Units.degrees
210+
wing.twists.tip = 0.0 * Units.degrees
211211

212212
wing.origin = [15,0,0]
213213
wing.aerodynamic_center = [35,0,0]
214214

215215
wing.vertical = False
216216
wing.symmetric = True
217217
wing.high_lift = True
218-
wing.high_mach = True
219218
wing.vortex_lift = True
219+
wing.high_mach = True
220220

221221
wing.dynamic_pressure_ratio = 1.0
222222

@@ -231,18 +231,18 @@ def vehicle_setup():
231231
wing = SUAVE.Components.Wings.Wing()
232232
wing.tag = 'vertical_stabilizer'
233233

234-
wing.aspect_ratio = 1.07 #
235-
wing.sweep = 55 * Units.deg
234+
wing.aspect_ratio = 0.74 #
235+
wing.sweep = 60 * Units.deg
236236
wing.thickness_to_chord = 0.04
237-
wing.taper = 0.25
237+
wing.taper = 0.14
238238
wing.span_efficiency = 0.9
239239

240240
wing.spans.projected = 5.0 #
241241

242-
wing.chords.root = 11.0
243-
wing.total_length = 11.0
244-
wing.chords.tip = 3.0
245-
wing.chords.mean_aerodynamic = 8.0
242+
wing.chords.root = 12.58
243+
wing.total_length = 12.58
244+
wing.chords.tip = 2.5
245+
wing.chords.mean_aerodynamic = 8.66
246246

247247
wing.areas.reference = 33.91 #
248248

@@ -274,27 +274,18 @@ def vehicle_setup():
274274
fuselage.seats_abreast = 4
275275
fuselage.seat_pitch = 1
276276

277-
fuselage.fineness.nose = 3.48 # These finenesses are smaller than the real value due to limitations of existing functions
278-
fuselage.fineness.tail = 3.48
279-
280-
fuselage.lengths.nose = 7.3
281-
fuselage.lengths.tail = 15.0
282-
fuselage.lengths.cabin = 39.4
283-
fuselage.lengths.total = 61.7
284-
fuselage.lengths.fore_space = 20.83
285-
fuselage.lengths.aft_space = 20.83
277+
fuselage.lengths.total = 61.66
286278

287-
fuselage.width = 2.87
279+
fuselage.width = 2.88
288280

289-
fuselage.heights.maximum = 3.3 #
281+
fuselage.heights.maximum = 3.32 #
290282

291-
fuselage.areas.side_projected = 160.
292-
fuselage.areas.wetted = 581.
293-
fuselage.areas.front_projected = 7.0
283+
fuselage.areas.wetted = 523.
284+
fuselage.areas.front_projected = 7.55
294285

295-
fuselage.effective_diameter = 3.0
286+
fuselage.effective_diameter = 3.1
296287

297-
fuselage.differential_pressure = 50**5 * Units.pascal # Maximum differential pressure
288+
fuselage.differential_pressure = 7.4e4 * Units.pascal # Maximum differential pressure
298289

299290
# add to vehicle
300291
vehicle.append_component(fuselage)
@@ -310,8 +301,8 @@ def vehicle_setup():
310301

311302
# setup
312303
turbojet.number_of_engines = 4.0
313-
turbojet.engine_length = 11.5
314-
turbojet.nacelle_diameter = 1.50
304+
turbojet.engine_length = 12.5
305+
turbojet.nacelle_diameter = 1.60
315306

316307
# working fluid
317308
turbojet.working_fluid = SUAVE.Attributes.Gases.Air()
@@ -453,8 +444,8 @@ def vehicle_setup():
453444

454445
# Note: Sizing builds the propulsor. It does not actually set the size of the turbojet
455446
#design sizing conditions
456-
altitude = 35000.0*Units.ft
457-
mach_number = 2.02
447+
altitude = 0.0*Units.ft
448+
mach_number = 0.01
458449
isa_deviation = 0.
459450

460451
# add to network

tut_mission_B737.py

Lines changed: 40 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -662,9 +662,9 @@ def plot_mission(results,line_style='bo-'):
662662
axes.grid(True)
663663

664664
axes = fig.add_subplot(2,1,2)
665-
axes.plot( time , sfc , line_style )
665+
axes.plot( time , eta , line_style )
666666
axes.set_xlabel('Time (min)',axis_font)
667-
axes.set_ylabel('sfc (lb/lbf-hr)',axis_font)
667+
axes.set_ylabel('eta',axis_font)
668668
axes.grid(True)
669669

670670
plt.savefig("B737_engine.pdf")
@@ -779,7 +779,45 @@ def plot_mission(results,line_style='bo-'):
779779

780780
plt.savefig("B737_mission.pdf")
781781
plt.savefig("B737_mission.png")
782+
783+
# ------------------------------------------------------------------
784+
# Aerodynamics 2
785+
# ------------------------------------------------------------------
786+
fig = plt.figure("Velocities",figsize=(8,10))
787+
for segment in results.segments.values():
788+
789+
time = segment.conditions.frames.inertial.time[:,0] / Units.min
790+
Lift = -segment.conditions.frames.wind.lift_force_vector[:,2]
791+
Drag = -segment.conditions.frames.wind.drag_force_vector[:,0] / Units.lbf
792+
Thrust = segment.conditions.frames.body.thrust_force_vector[:,0] / Units.lbf
793+
eta = segment.conditions.propulsion.throttle[:,0]
794+
mdot = segment.conditions.weights.vehicle_mass_rate[:,0]
795+
thrust = segment.conditions.frames.body.thrust_force_vector[:,0]
796+
sfc = 3600. * mdot / 0.1019715 / thrust
797+
velocity = segment.conditions.freestream.velocity[:,0]
798+
pressure = segment.conditions.freestream.pressure[:,0]
799+
density = segment.conditions.freestream.density[:,0]
800+
EAS = velocity * np.sqrt(density/1.225)
801+
mach = segment.conditions.freestream.mach_number[:,0]
782802

803+
804+
axes = fig.add_subplot(3,1,1)
805+
axes.plot( time , velocity / Units.kts, line_style )
806+
axes.set_ylabel('velocity (kts)',axis_font)
807+
axes.grid(True)
808+
809+
axes = fig.add_subplot(3,1,2)
810+
axes.plot( time , EAS / Units.kts, line_style )
811+
axes.set_xlabel('Time (min)',axis_font)
812+
axes.set_ylabel('Equivalent Airspeed',axis_font)
813+
axes.grid(True)
814+
815+
axes = fig.add_subplot(3,1,3)
816+
axes.plot( time , mach , line_style )
817+
axes.set_xlabel('Time (min)',axis_font)
818+
axes.set_ylabel('Mach',axis_font)
819+
axes.grid(True)
820+
783821
return
784822

785823
def simple_sizing(configs):

0 commit comments

Comments
 (0)