We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
1 parent e7b1a21 commit 8e8c2b8Copy full SHA for 8e8c2b8
5 files changed
Solar_UAV_Optimization/Analyses.py
@@ -8,6 +8,8 @@
8
# ----------------------------------------------------------------------
9
10
import SUAVE
11
+from SUAVE.Core import Units
12
+import numpy as np
13
14
15
# Setup Analyses
@@ -54,6 +56,10 @@ def base(vehicle):
54
56
# ------------------------------------------------------------------
55
57
aerodynamics = SUAVE.Analyses.Aerodynamics.Fidelity_Zero()
58
aerodynamics.geometry = vehicle
59
+ aerodynamics.settings.number_spanwise_vortices = 10
60
+ aerodynamics.settings.number_chordwise_vortices = 2
61
+ aerodynamics.process.compute.lift.inviscid_wings.training.angle_of_attack = np.array([[-5., 0.0, 5.0, 10.0, 75.]]).T * Units.deg
62
+ aerodynamics.process.compute.lift.inviscid_wings.training.Mach = np.array([[0.0, 0.2, 0.3, 0.9, 1.3, 1.35, 1.5, 2.0]]).T
63
analyses.append(aerodynamics)
64
65
Solar_UAV_Optimization/Missions.py
@@ -54,7 +54,8 @@ def mission(analyses,vehicle):
# connect vehicle configuration
segment.analyses.extend(analyses.base)
- # segment attributes
+ # segment attributes
+ ones_row = segment.state.numerics.ones_row
segment.state.numerics.number_control_points = 50
segment.dynamic_pressure = 115.0 * Units.pascals
segment.start_time = time.strptime("Tue, Jun 21 11:00:00 2020", "%a, %b %d %H:%M:%S %Y",)
Solar_UAV_Optimization/Optimize.py
@@ -48,11 +48,11 @@ def setup():
48
49
# [ tag , initial, [lb,ub], scaling, units ]
50
problem.inputs = np.array([
51
- [ 'wing_area' , 0.62, ( 0.1, 1.5 ), 0.5, Units.meter ],
52
- [ 'aspect_ratio' , 13.5, ( 5.0, 20.0 ), 10.0, Units.less ],
53
- [ 'dynamic_pressure', 115.0, ( 1.0, 2000.0 ), 125.0, Units.pascals ],
- [ 'solar_ratio' , 0.0, ( 0.0, 0.97), 1.0, Units.less ],
- [ 'kv' , 900.0, ( 10.0, 1500.0 ), 800.0, Units['rpm/volt']],
+ [ 'wing_area' , 0.5, ( 0.1, 1.5 ), 0.5, Units.meter ],
+ [ 'aspect_ratio' , 10.0, ( 5.0, 20.0 ), 10.0, Units.less ],
+ [ 'dynamic_pressure', 125.0, ( 1.0, 2000.0 ), 125.0, Units.pascals ],
+ [ 'solar_ratio' , 0.0, ( 0.0, 0.97), 1.0, Units.less ],
+ [ 'kv' , 800.0, ( 10.0, 10000.0 ), 800.0, Units['rpm/volt']],
])
# -------------------------------------------------------------------
Solar_UAV_Optimization/Vehicles.py
@@ -38,9 +38,9 @@ def base_setup():
38
# Vehicle-level Properties
39
40
# mass properties
41
- vehicle.mass_properties.takeoff = 6.75 * Units.kg
42
- vehicle.mass_properties.operating_empty = 6.75 * Units.kg
43
- vehicle.mass_properties.max_takeoff = 6.75 * Units.kg
+ vehicle.mass_properties.takeoff = 4.00 * Units.kg
+ vehicle.mass_properties.operating_empty = 4.00 * Units.kg
+ vehicle.mass_properties.max_takeoff = 4.00 * Units.kg
44
45
# basic parameters
46
vehicle.reference_area = 1.0
@@ -178,17 +178,17 @@ def base_setup():
178
179
# Component 5 the Motor
180
motor = SUAVE.Components.Energy.Converters.Motor_Lo_Fid()
181
- motor.speed_constant = 800. * Units['rpm/volt'] # RPM/volt is standard
+ motor.speed_constant = 900. * Units['rpm/volt'] # RPM/volt is standard
182
motor = size_from_kv(motor)
183
motor.gear_ratio = 1. # Gear ratio, no gearbox
184
motor.gearbox_efficiency = 1. # Gear box efficiency, no gearbox
185
- motor.motor_efficiency = 0.825;
+ motor.motor_efficiency = 0.8;
186
net.motor = motor
187
188
# Component 6 the Payload
189
payload = SUAVE.Components.Energy.Peripherals.Payload()
190
payload.power_draw = 0. #Watts
191
- payload.mass_properties.mass = 0.0 * Units.kg
+ payload.mass_properties.mass = 1.0 * Units.kg
192
net.payload = payload
193
194
# Component 7 the Avionics
@@ -198,8 +198,8 @@ def base_setup():
198
199
# Component 8 the Battery
200
bat = SUAVE.Components.Energy.Storages.Batteries.Constant_Mass.Lithium_Ion()
201
- bat.mass_properties.mass = 5.0 * Units.kg
202
- bat.specific_energy = 250. *Units.Wh/Units.kg
+ bat.mass_properties.mass = 3.0 * Units.kg
+ bat.specific_energy = 200. *Units.Wh/Units.kg
203
bat.resistance = 0.003
204
initialize_from_mass(bat,bat.mass_properties.mass)
205
net.battery = bat
tut_solar_uav.py
@@ -16,7 +16,7 @@
16
from SUAVE.Plots.Mission_Plots import *
17
from SUAVE.Components.Energy.Networks.Solar import Solar
18
from SUAVE.Methods.Propulsion import propeller_design
19
-from SUAVE.Methods.Power.Battery.Sizing import initialize_from_energy_and_power, initialize_from_mass
+from SUAVE.Methods.Power.Battery.Sizing import initialize_from_mass
20
21
22
# Main
0 commit comments