Skip to content

Commit e60deee

Browse files
committed
various 2.5 fixes
1 parent efd5f29 commit e60deee

File tree

3 files changed

+45
-38
lines changed

3 files changed

+45
-38
lines changed

B737_AVL_Tutorial/tut_mission_B737_AVL.py

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -113,23 +113,26 @@ def base_analysis(vehicle):
113113
# ------------------------------------------------------------------
114114
# Aerodynamics Analysis
115115
aerodynamics = SUAVE.Analyses.Aerodynamics.AVL()
116-
aerodynamics.process.compute.lift.inviscid.settings.filenames.avl_bin_name = 'CHANGE ME TO YOUR DIRECTORY'
116+
#aerodynamics.process.compute.lift.inviscid.settings.filenames.avl_bin_name = 'CHANGE ME TO YOUR DIRECTORY'
117+
aerodynamics.process.compute.lift.inviscid.settings.filenames.avl_bin_name = '/Users/emiliobotero/Research/avl3.35'
117118
#aerodynamics.process.compute.lift.inviscid.settings.spanwise_vortex_density = 3
118119
aerodynamics.geometry = vehicle
119120
analyses.append(aerodynamics)
120121

121122
# ------------------------------------------------------------------
122123
# Stability Analysis
123124
stability = SUAVE.Analyses.Stability.AVL()
124-
stability.settings.filenames.avl_bin_name = 'CHANGE ME TO YOUR DIRECTORY'
125+
#stability.settings.filenames.avl_bin_name = 'CHANGE ME TO YOUR DIRECTORY'
126+
stability.settings.filenames.avl_bin_name = '/Users/emiliobotero/Research/avl3.35'
127+
125128
#stability.settings.spanwise_vortex_density = 3
126129
stability.geometry = vehicle
127130
analyses.append(stability)
128131

129132
# ------------------------------------------------------------------
130133
# Energy
131134
energy= SUAVE.Analyses.Energy.Energy()
132-
energy.network = vehicle.propulsors
135+
energy.network = vehicle.networks
133136
analyses.append(energy)
134137

135138
# ------------------------------------------------------------------
@@ -347,9 +350,6 @@ def vehicle_setup():
347350
turbofan.bypass_ratio = 5.4
348351
turbofan.origin = [[13.72, 4.86,-1.9],[13.72, -4.86,-1.9]]
349352

350-
#compute engine areas
351-
turbofan.areas.wetted = 1.1*np.pi*turbofan.nacelle_diameter*turbofan.engine_length
352-
353353
# working fluid
354354
turbofan.working_fluid = SUAVE.Attributes.Gases.Air()
355355

BWB_CFD/BWB.py

Lines changed: 22 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,7 @@
2121

2222
from SUAVE.Methods.Propulsion.turbofan_sizing import turbofan_sizing
2323
from SUAVE.Methods.Geometry.Two_Dimensional.Cross_Section.Propulsion import compute_turbofan_geometry
24+
from SUAVE.Methods.Geometry.Two_Dimensional.Planform import segment_properties
2425

2526
from SUAVE.Plots.Performance.Mission_Plots import *
2627

@@ -156,7 +157,7 @@ def base_analysis(vehicle):
156157
# ------------------------------------------------------------------
157158
# Energy
158159
energy= SUAVE.Analyses.Energy.Energy()
159-
energy.network = vehicle.propulsors
160+
energy.network = vehicle.networks
160161
analyses.append(energy)
161162

162163
# ------------------------------------------------------------------
@@ -330,6 +331,9 @@ def vehicle_setup():
330331
segment.sweeps.quarter_chord = 0. * Units.degrees
331332
segment.thickness_to_chord = 0.10
332333
wing.Segments.append(segment)
334+
335+
# Fill out more segment properties automatically
336+
wing = segment_properties(wing)
333337

334338
# add to vehicle
335339
vehicle.append_component(wing)
@@ -341,20 +345,8 @@ def vehicle_setup():
341345
nacelle.diameter = 3.96 * Units.meters
342346
nacelle.length = 289. * Units.inches
343347
nacelle.tag = 'nacelle'
344-
nacelle.origin = [[133.0 *Units.feet, 25.0*Units.feet, 6.5*Units.feet]]
345-
nacelle.areas.wetted = nacelle.length *(2*np.pi*nacelle.diameter/2.)
346-
347-
nacelle_2 = deepcopy(nacelle)
348-
nacelle_2.tag = 'nacelle_2'
349-
nacelle_2.origin = [[145.0 *Units.feet, 0.0*Units.feet, 6.5*Units.feet]]
350-
351-
nacelle_3 = deepcopy(nacelle)
352-
nacelle_3.tag = 'nacelle_3'
353-
nacelle_3.origin = [[133.0 *Units.feet, -25.0*Units.feet, 6.5*Units.feet]]
354-
355-
vehicle.append_component(nacelle)
356-
vehicle.append_component(nacelle_2)
357-
vehicle.append_component(nacelle_3)
348+
nacelle.origin = [[123.0 *Units.feet, 25.0*Units.feet, 6.5*Units.feet]]
349+
nacelle.Airfoil.naca_4_series_airfoil = '0012'
358350

359351

360352
# ------------------------------------------------------------------
@@ -506,19 +498,31 @@ def vehicle_setup():
506498
#design sizing conditions
507499
altitude = 0. * Units.km
508500
mach_number = 0.01
509-
isa_deviation = 0.
510501

511502
# add to network
512503
turbofan.thrust = thrust
513504

514505
#size the turbofan
515506
turbofan_sizing(turbofan,mach_number,altitude)
516-
#turbofan.size(mach_number,altitude)
517507

518508
#computing the engine length and diameter
519-
compute_turbofan_geometry(turbofan,None)
509+
compute_turbofan_geometry(turbofan,nacelle)
520510

521511
vehicle.append_component(turbofan)
512+
513+
# Finish adding all the nacelles
514+
515+
nacelle_2 = deepcopy(nacelle)
516+
nacelle_2.tag = 'nacelle_2'
517+
nacelle_2.origin = [[135.0 *Units.feet, 0.0*Units.feet, 6.5*Units.feet]]
518+
519+
nacelle_3 = deepcopy(nacelle)
520+
nacelle_3.tag = 'nacelle_3'
521+
nacelle_3.origin = [[123.0 *Units.feet, -25.0*Units.feet, 6.5*Units.feet]]
522+
523+
vehicle.append_component(nacelle)
524+
vehicle.append_component(nacelle_2)
525+
vehicle.append_component(nacelle_3)
522526

523527

524528
# ------------------------------------------------------------------

tut_solar_uav.py

Lines changed: 17 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@
99
import SUAVE
1010
#if not SUAVE.__version__=='2.5.0':
1111
#assert('These tutorials only work with the SUAVE 2.5.0 release')
12-
from SUAVE.Core import Units, Data
12+
from SUAVE.Core import Units
1313

1414
import numpy as np
1515
import pylab as plt
@@ -240,23 +240,23 @@ def vehicle_setup():
240240
prop.tip_radius = 4.25 * Units.meters
241241
prop.hub_radius = 0.05 * Units.meters
242242
prop.design_Cl = 0.7
243-
prop.design_altitude = 14.0 * Units.km
244-
prop.design_thrust = None
245-
prop.design_power = 3500.0 * Units.watts
243+
prop.design_altitude = 15.0 * Units.km
244+
prop.design_power = None
245+
prop.design_thrust = 120.
246246
prop = propeller_design(prop)
247247

248248
net.propellers.append(prop)
249249

250250
# Component 4 the Motor
251251
motor = SUAVE.Components.Energy.Converters.Motor()
252-
motor.resistance = 0.008
253-
motor.no_load_current = 4.5 * Units.ampere
254-
motor.speed_constant = 120. * Units['rpm'] # RPM/volt converted to (rad/s)/volt
252+
motor.resistance = 0.006
253+
motor.no_load_current = 2.5 * Units.ampere
254+
motor.speed_constant = 30. * Units['rpm'] # RPM/volt converted to (rad/s)/volt
255255
motor.propeller_radius = prop.tip_radius
256256
motor.propeller_Cp = prop.design_power_coefficient
257257
motor.gear_ratio = 12. # Gear ratio
258258
motor.gearbox_efficiency = .98 # Gear box efficiency
259-
motor.expected_current = 160. # Expected current
259+
motor.expected_current = 60. # Expected current
260260
motor.mass_properties.mass = 2.0 * Units.kg
261261
net.motors.append(motor)
262262

@@ -274,15 +274,14 @@ def vehicle_setup():
274274
# Component 8 the Battery
275275
bat = SUAVE.Components.Energy.Storages.Batteries.Constant_Mass.Lithium_Ion()
276276
bat.mass_properties.mass = 90.0 * Units.kg
277-
bat.specific_energy = 700. * Units.Wh/Units.kg
278-
bat.resistance = 0.05
279-
bat.max_voltage = 45.0
280-
initialize_from_mass(bat,bat.mass_properties.mass)
277+
bat.specific_energy = 600. * Units.Wh/Units.kg
278+
bat.max_voltage = 130.0
279+
initialize_from_mass(bat)
281280
net.battery = bat
282281

283282
#Component 9 the system logic controller and MPPT
284283
logic = SUAVE.Components.Energy.Distributors.Solar_Logic()
285-
logic.system_voltage = 40.0
284+
logic.system_voltage = 120.0
286285
logic.MPPT_efficiency = 0.95
287286
net.solar_logic = logic
288287

@@ -403,6 +402,7 @@ def mission_setup(analyses,vehicle):
403402

404403
# base segment
405404
base_segment = Segments.Segment()
405+
base_segment.process.iterate.initials.initialize_battery = SUAVE.Methods.Missions.Segments.Common.Energy.initialize_battery
406406

407407
# ------------------------------------------------------------------
408408
# Cruise Segment: constant speed, constant altitude
@@ -420,7 +420,7 @@ def mission_setup(analyses,vehicle):
420420
segment.altitude = 15.0 * Units.km
421421
segment.mach = 0.12
422422
segment.distance = 3050.0 * Units.km
423-
segment.battery_energy = vehicle.networks.solar.battery.max_energy*0.2 #Charge the battery to start
423+
segment.battery_energy = vehicle.networks.solar.battery.max_energy*0.3 #Charge the battery to start
424424
segment.latitude = 37.4300 # this defaults to degrees (do not use Units.degrees)
425425
segment.longitude = -122.1700 # this defaults to degrees
426426

@@ -461,6 +461,9 @@ def plot_mission(results):
461461

462462
# Plot Aerodynamic Coefficients
463463
plot_aerodynamic_coefficients(results)
464+
465+
# Drag Components
466+
plot_drag_components(results)
464467

465468
# Plot Aircraft Flight Speed
466469
plot_aircraft_velocities(results)

0 commit comments

Comments
 (0)