-
Notifications
You must be signed in to change notification settings - Fork 121
Turboprop freighter fixes #1098
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Changes from 51 commits
da4eeaf
978ad0d
34c4f0e
d678d3c
f1d0f48
50fa7b7
13bdce1
63a8d36
03e1d67
9d41d0e
f34a0b8
850d286
ee82900
602e985
68ede9f
492d58d
2d24043
4a8ed06
dd33703
99d3b8c
dcd40ab
2b1c649
e2dbb96
8d3b18b
d8b557c
a9ab293
2b31ccf
87f3c42
9e8d05f
90d18e0
d63a595
af211ef
e3bd336
e09ce7a
a86057e
b2653a0
da484f5
85d054d
c1ce2bc
4f8bd0c
2f25d36
570bdc2
99f52ba
cb6cbc8
9b88581
985e19a
50f4cf6
a3f4a01
b018516
0cbb5a7
93ff858
b0308c0
1fc0488
f31cb3b
ef6bd08
89be402
b5f1141
1b6f5fd
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
| Original file line number | Diff line number | Diff line change |
|---|---|---|
|
|
@@ -143,8 +143,6 @@ aviary/reports/ | |
|
|
||
| #VSCode user settings | ||
| .vscode/ | ||
| #VSCode extensions | ||
| .continue/ | ||
|
|
||
| # Built docs | ||
| _build/ | ||
|
|
||
| Original file line number | Diff line number | Diff line change |
|---|---|---|
|
|
@@ -84,8 +84,8 @@ def setup(self): | |
| bal = om.BalanceComp( | ||
| name=Dynamic.Vehicle.Propulsion.THROTTLE, | ||
| val=np.ones(nn), | ||
| upper=1.0, | ||
|
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Are you sure you want to take these constraints out? I thought we also had an option in the ODEs to turn this constraint on vs. off.
Contributor
Author
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Ken removed them to help with convergence. Throttle should already have a path constraint as far as I'm aware, so I think this was overconstraining the problem |
||
| lower=0.0, | ||
| # upper=1.0, | ||
| # lower=0.0, | ||
| units='unitless', | ||
| lhs_name=Dynamic.Vehicle.Propulsion.THRUST_TOTAL, | ||
| rhs_name=Dynamic.Vehicle.DRAG, | ||
|
|
||
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -1,13 +1,10 @@ | ||
| from aviary.variable_info.enums import SpeedType, PhaseType, ThrottleAllocation | ||
| from aviary.variable_info.enums import PhaseType, SpeedType | ||
|
|
||
| # Energy method | ||
| energy_phase_info = { | ||
| 'pre_mission': { | ||
| 'include_takeoff': False, | ||
| 'optimize_mass': True, | ||
| }, | ||
| 'pre_mission': {'include_takeoff': False, 'optimize_mass': True}, | ||
| 'climb': { | ||
| 'subsystem_options': {'core_aerodynamics': {'method': 'cruise', 'solve_alpha': 'true'}}, | ||
| 'subsystem_options': {'aerodynamics': {'method': 'cruise', 'solve_alpha': True}}, | ||
| 'user_options': { | ||
| 'num_segments': 5, | ||
|
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. If this system is having trouble converging, I'd say reduce the number of segments here. |
||
| 'order': 3, | ||
|
|
@@ -20,16 +17,18 @@ | |
| 'no_descent': True, | ||
| 'mass_ref': (154000, 'lbm'), | ||
| 'throttle_enforcement': 'control', | ||
| 'throttle_bounds': ((0.2, 1), 'unitless'), | ||
| 'time_initial_bounds': ((0.0, 0.0), 'min'), | ||
| 'time_duration_bounds': ((24.0, 128.0), 'min'), | ||
| }, | ||
| 'initial_guesses': { | ||
| 'altitude': ([100.0, 21_000.0], 'ft'), | ||
| 'mach': ([0.17, 0.475], 'unitless'), | ||
| 'throttle': ([1, 1], 'unitless'), | ||
| }, | ||
| }, | ||
| 'cruise': { | ||
| 'subsystem_options': {'core_aerodynamics': {'method': 'cruise', 'solve_alpha': 'true'}}, | ||
| 'subsystem_options': {'aerodynamics': {'method': 'cruise', 'solve_alpha': True}}, | ||
| 'user_options': { | ||
| 'num_segments': 5, | ||
| 'order': 3, | ||
|
|
@@ -41,16 +40,18 @@ | |
| 'altitude_bounds': ((20_000.0, 22_000.0), 'ft'), | ||
| 'mass_ref': (154000, 'lbm'), | ||
| 'throttle_enforcement': 'control', | ||
| 'throttle_bounds': ((0.2, 1), 'unitless'), | ||
| 'time_initial_bounds': ((24.0, 128.0), 'min'), | ||
| 'time_duration_bounds': ((56.5, 1000.0), 'min'), | ||
| }, | ||
| 'initial_guesses': { | ||
| 'altitude': ([21_000, 21_000.0], 'ft'), | ||
| 'mach': ([0.475, 0.475], 'unitless'), | ||
| 'throttle': ([1, 1], 'unitless'), | ||
| }, | ||
| }, | ||
| 'descent': { | ||
| 'subsystem_options': {'core_aerodynamics': {'method': 'cruise', 'solve_alpha': 'true'}}, | ||
| 'subsystem_options': {'aerodynamics': {'method': 'cruise', 'solve_alpha': True}}, | ||
| 'user_options': { | ||
| 'num_segments': 5, | ||
| 'order': 3, | ||
|
|
@@ -65,9 +66,11 @@ | |
| 'mass_ref': (154000, 'lbm'), | ||
| 'no_climb': True, | ||
| 'throttle_enforcement': 'control', | ||
| 'throttle_bounds': ((0.15, 1), 'unitless'), | ||
| 'time_initial_bounds': ((80, 1056.5), 'min'), | ||
| 'time_duration_bounds': ((29.0, 128.0), 'min'), | ||
| }, | ||
| 'initial_guesses': {'throttle': ([0.5, 0.15], 'unitless')}, | ||
| }, | ||
| 'post_mission': { | ||
| 'include_landing': False, | ||
|
|
@@ -253,19 +256,19 @@ | |
| 'throttle': ([0.956, 0.956], 'unitless'), | ||
| }, | ||
| }, | ||
| 'electric_cruise': { | ||
| 'cruise': { | ||
| 'user_options': { | ||
| 'phase_type': PhaseType.BREGUET_RANGE, | ||
| 'phase_type': PhaseType.SIMPLE_CRUISE, | ||
| 'alt_cruise': (21_000, 'ft'), | ||
| 'mach_cruise': 0.475, | ||
| 'mass_bounds': ((0, None), 'lbm'), | ||
| 'mass_ref': (150_000, 'lbm'), | ||
| 'time_duration_bounds': ((0.0, 15.0), 'h'), | ||
| 'time_duration_ref': (8, 'h'), | ||
| }, | ||
| 'initial_guesses': { | ||
| # [Initial mass, delta mass] for special cruise phase. | ||
| 'mass': ([150_000.0, -35_000], 'lbm'), | ||
| 'initial_distance': (100.0e3, 'ft'), | ||
| 'initial_time': (1_000.0, 's'), | ||
| 'altitude': (21_000, 'ft'), | ||
| 'mach': (0.475, 'unitless'), | ||
| 'mass': ([150_000.0, 115000], 'lbm'), | ||
| 'time': ([1516.0, 2100.0], 's'), | ||
| }, | ||
| }, | ||
| 'desc1': { | ||
|
|
@@ -277,7 +280,7 @@ | |
| 'input_speed_type': SpeedType.MACH, | ||
| 'time_duration_bounds': ((300.0, 1800.0), 's'), | ||
| 'time_duration_ref': (1000, 's'), | ||
| 'altitude_initial': (21_000, 'ft'), | ||
| # 'altitude_initial': (21_000, 'ft'), | ||
| 'altitude_final': (10_000, 'ft'), | ||
| 'altitude_bounds': ((10000.0, 21_000.0), 'ft'), | ||
| 'altitude_ref': (20_000, 'ft'), | ||
|
|
||
Uh oh!
There was an error while loading. Please reload this page.