@@ -107,7 +107,7 @@ def base_analysis(vehicle):
107107
108108 # ------------------------------------------------------------------
109109 # Weights
110- weights = SUAVE .Analyses .Weights .Weights ()
110+ weights = SUAVE .Analyses .Weights .Weights_Tube_Wing ()
111111 weights .vehicle = vehicle
112112 analyses .append (weights )
113113
@@ -184,10 +184,10 @@ def vehicle_setup(source_ratio=1.):
184184 wing .tag = 'main_wing'
185185
186186 wing .aspect_ratio = 1.83
187- wing .sweeps .quarter_chord = 59.5 * Units .deg
187+ wing .sweeps .quarter_chord = 59.5 * Units .deg
188188 wing .thickness_to_chord = 0.03
189189 wing .taper = 0.
190- wing .span_efficiency = 0.74
190+ wing .span_efficiency = .8
191191
192192 wing .spans .projected = 25.6
193193
@@ -197,6 +197,9 @@ def vehicle_setup(source_ratio=1.):
197197 wing .chords .mean_aerodynamic = 18.4
198198
199199 wing .areas .reference = 358.25
200+ wing .areas .wetted = 653. - 12. * 2.4 * 2 # 2.4 is engine area on one side
201+ wing .areas .exposed = 326.5
202+ wing .areas .affected = .6 * wing .areas .reference
200203
201204 wing .twists .root = 0.0 * Units .degrees
202205 wing .twists .tip = 0.0 * Units .degrees
@@ -212,6 +215,61 @@ def vehicle_setup(source_ratio=1.):
212215
213216 wing .dynamic_pressure_ratio = 1.0
214217
218+ wing_airfoil = SUAVE .Components .Wings .Airfoils .Airfoil ()
219+ wing_airfoil .coordinate_file = 'NACA65-203.dat'
220+
221+ wing .append_airfoil (wing_airfoil )
222+
223+ # set root sweep with inner section
224+ segment = SUAVE .Components .Wings .Segment ()
225+ segment .tag = 'section_1'
226+ segment .percent_span_location = 0.
227+ segment .twist = 0. * Units .deg
228+ segment .root_chord_percent = 33.8 / 33.8
229+ segment .dihedral_outboard = 0.
230+ segment .sweeps .quarter_chord = 67. * Units .deg
231+ segment .vsp_mesh = Data ()
232+ segment .vsp_mesh .inner_radius = 1. / source_ratio
233+ segment .vsp_mesh .outer_radius = 1. / source_ratio
234+ segment .vsp_mesh .inner_length = .044 / source_ratio
235+ segment .vsp_mesh .outer_length = .044 / source_ratio
236+ segment .vsp_mesh .matching_TE = False
237+ segment .append_airfoil (wing_airfoil )
238+ wing .Segments .append (segment )
239+
240+ # set mid section start point
241+ segment = SUAVE .Components .Wings .Segment ()
242+ segment .tag = 'section_2'
243+ segment .percent_span_location = 6.15 / (25.6 / 2 ) + wing .Segments ['section_1' ].percent_span_location
244+ segment .twist = 0. * Units .deg
245+ segment .root_chord_percent = 13.8 / 33.8
246+ segment .dihedral_outboard = 0.
247+ segment .sweeps .quarter_chord = 48. * Units .deg
248+ segment .vsp_mesh = Data ()
249+ segment .vsp_mesh .inner_radius = 1. / source_ratio
250+ segment .vsp_mesh .outer_radius = .88 / source_ratio
251+ segment .vsp_mesh .inner_length = .044 / source_ratio
252+ segment .vsp_mesh .outer_length = .044 / source_ratio
253+ segment .vsp_mesh .matching_TE = False
254+ segment .append_airfoil (wing_airfoil )
255+ wing .Segments .append (segment )
256+
257+ # set tip section start point
258+ segment = SUAVE .Components .Wings .Segment ()
259+ segment .tag = 'section_3'
260+ segment .percent_span_location = 5.95 / (25.6 / 2 ) + wing .Segments ['section_2' ].percent_span_location
261+ segment .twist = 0. * Units .deg
262+ segment .root_chord_percent = 4.4 / 33.8
263+ segment .dihedral_outboard = 0.
264+ segment .sweeps .quarter_chord = 71. * Units .deg
265+ segment .vsp_mesh = Data ()
266+ segment .vsp_mesh .inner_radius = .88 / source_ratio
267+ segment .vsp_mesh .outer_radius = .22 / source_ratio
268+ segment .vsp_mesh .inner_length = .044 / source_ratio
269+ segment .vsp_mesh .outer_length = .011 / source_ratio
270+ segment .append_airfoil (wing_airfoil )
271+ wing .Segments .append (segment )
272+
215273 # add to vehicle
216274 vehicle .append_component (wing )
217275
@@ -237,6 +295,9 @@ def vehicle_setup(source_ratio=1.):
237295 wing .chords .mean_aerodynamic = 8.66
238296
239297 wing .areas .reference = 33.91 #
298+ wing .areas .wetted = 76.
299+ wing .areas .exposed = 38.
300+ wing .areas .affected = 33.91
240301
241302 wing .twists .root = 0.0 * Units .degrees
242303 wing .twists .tip = 0.0 * Units .degrees
@@ -251,6 +312,43 @@ def vehicle_setup(source_ratio=1.):
251312
252313 wing .dynamic_pressure_ratio = 1.0
253314
315+ tail_airfoil = SUAVE .Components .Wings .Airfoils .Airfoil ()
316+ tail_airfoil .coordinate_file = 'supertail_refined.dat'
317+
318+ wing .append_airfoil (tail_airfoil )
319+
320+ # set root sweep with inner section
321+ segment = SUAVE .Components .Wings .Segment ()
322+ segment .tag = 'section_1'
323+ segment .percent_span_location = 0.0
324+ segment .twist = 0. * Units .deg
325+ segment .root_chord_percent = 14.5 / 14.5
326+ segment .dihedral_outboard = 0.
327+ segment .sweeps .quarter_chord = 63. * Units .deg
328+ segment .vsp_mesh = Data ()
329+ segment .vsp_mesh .inner_radius = 2.9 / source_ratio
330+ segment .vsp_mesh .outer_radius = 1.5 / source_ratio
331+ segment .vsp_mesh .inner_length = .044 / source_ratio
332+ segment .vsp_mesh .outer_length = .044 / source_ratio
333+ segment .append_airfoil (tail_airfoil )
334+ wing .Segments .append (segment )
335+
336+ # set mid section start point
337+ segment = SUAVE .Components .Wings .Segment ()
338+ segment .tag = 'section_2'
339+ segment .percent_span_location = 2.4 / (6.0 ) + wing .Segments ['section_1' ].percent_span_location
340+ segment .twist = 0. * Units .deg
341+ segment .root_chord_percent = 7.5 / 14.5
342+ segment .dihedral_outboard = 0.
343+ segment .sweeps .quarter_chord = 40. * Units .deg
344+ segment .vsp_mesh = Data ()
345+ segment .vsp_mesh .inner_radius = 1.5 / source_ratio
346+ segment .vsp_mesh .outer_radius = .54 / source_ratio
347+ segment .vsp_mesh .inner_length = .044 / source_ratio
348+ segment .vsp_mesh .outer_length = .027 / source_ratio
349+ segment .append_airfoil (tail_airfoil )
350+ wing .Segments .append (segment )
351+
254352 # add to vehicle
255353 vehicle .append_component (wing )
256354
@@ -279,13 +377,13 @@ def vehicle_setup(source_ratio=1.):
279377 fuselage .heights .at_wing_root_quarter_chord = 3.32 #
280378 fuselage .heights .at_three_quarters_length = 3.32 #
281379
282- fuselage .areas .wetted = 523 .
283- fuselage .areas .front_projected = 7.55
380+ fuselage .areas .wetted = 447 .
381+ fuselage .areas .front_projected = 11.9
284382
285383
286384 fuselage .effective_diameter = 3.1
287385
288- fuselage .differential_pressure = 7.4e4 * Units .pascal # Maximum differential pressure
386+ fuselage .differential_pressure = 7.4e4 * Units .pascal # Maximum differential pressure
289387
290388 # add to vehicle
291389 vehicle .append_component (fuselage )
@@ -301,10 +399,12 @@ def vehicle_setup(source_ratio=1.):
301399
302400 # setup
303401 turbojet .number_of_engines = 4.0
304- turbojet .engine_length = 12.5
305- turbojet .nacelle_diameter = 1.60
402+ turbojet .engine_length = 12.0
403+ turbojet .nacelle_diameter = 1.3
404+ turbojet .inlet_diameter = 1.1
306405 turbojet .areas = Data ()
307- turbojet .areas .wetted = 12.5 * 1.6 * 8. # essentially rectangles attached to the wings
406+ turbojet .areas .wetted = 12.5 * 4.7 * 2. # 4.7 is outer perimeter on one side
407+ turbojet .origin = [[37. ,6. ,- 1.3 ],[37. ,5.3 ,- 1.3 ],[37. ,- 5.3 ,- 1.3 ],[37. ,- 6. ,- 1.3 ]]
308408
309409 # working fluid
310410 turbojet .working_fluid = SUAVE .Attributes .Gases .Air ()
@@ -430,17 +530,22 @@ def vehicle_setup(source_ratio=1.):
430530 # add to network
431531 turbojet .append (nozzle )
432532
533+ # ------------------------------------------------------------------
534+ # Component 9 - Divergening Nozzle
535+
536+
537+
433538
434539 # ------------------------------------------------------------------
435- #Component 9 : thrust (to compute the thrust)
540+ #Component 10 : thrust (to compute the thrust)
436541 thrust = SUAVE .Components .Energy .Processes .Thrust ()
437542 thrust .tag = 'compute_thrust'
438543
439- # total design thrust (includes all the engines)
544+ #total design thrust (includes all the engines)
440545 thrust .total_design = 4 * 140000. * Units .N #Newtons
441546
442547 # Note: Sizing builds the propulsor. It does not actually set the size of the turbojet
443- # Design sizing conditions
548+ #design sizing conditions
444549 altitude = 0.0 * Units .ft
445550 mach_number = 0.01
446551 isa_deviation = 0.
@@ -467,18 +572,58 @@ def vehicle_setup(source_ratio=1.):
467572# ---------------------------------------------------------------------
468573
469574def configs_setup (vehicle ):
470-
575+
471576 # ------------------------------------------------------------------
472577 # Initialize Configurations
473578 # ------------------------------------------------------------------
474-
579+
475580 configs = SUAVE .Components .Configs .Config .Container ()
476-
581+
477582 base_config = SUAVE .Components .Configs .Config (vehicle )
478583 base_config .tag = 'base'
479- configs .append (base_config )
584+ configs .append (base_config )
585+
586+ # ------------------------------------------------------------------
587+ # Cruise Configuration
588+ # ------------------------------------------------------------------
589+
590+ config = SUAVE .Components .Configs .Config (base_config )
591+ config .tag = 'cruise'
592+
593+ configs .append (config )
594+
595+
596+ # ------------------------------------------------------------------
597+ # Takeoff Configuration
598+ # ------------------------------------------------------------------
599+
600+ config = SUAVE .Components .Configs .Config (base_config )
601+ config .tag = 'takeoff'
602+
603+ config .wings ['main_wing' ].flaps .angle = 0. * Units .deg
604+ config .wings ['main_wing' ].slats .angle = 0. * Units .deg
605+
606+ config .V2_VS_ratio = 1.21
607+ config .maximum_lift_coefficient = 2.
608+
609+ configs .append (config )
610+
611+
612+ # ------------------------------------------------------------------
613+ # Landing Configuration
614+ # ------------------------------------------------------------------
480615
616+ config = SUAVE .Components .Configs .Config (base_config )
617+ config .tag = 'landing'
618+
619+ config .wings ['main_wing' ].flaps_angle = 0. * Units .deg
620+ config .wings ['main_wing' ].slats_angle = 0. * Units .deg
481621
622+ config .Vref_VS_ratio = 1.23
623+ config .maximum_lift_coefficient = 2.
624+
625+ configs .append (config )
626+
482627 # done!
483628 return configs
484629
0 commit comments