Phase info corrections#851
Conversation
…ht_energy_default and so this will allow us to maintain the default phase info in a single location
… Having boundary constraints makes no sense for throttle parameter.
| 'altitude_bounds': ((23000.0, 38000.0), 'ft'), | ||
| 'altitude_polynomial_order': 3, | ||
| 'throttle_enforcement': 'boundary_constraint', | ||
| 'throttle_enforcement': 'path_constraint', |
There was a problem hiding this comment.
Just a note that 'boundary_constraint' isn't necessarily wrong. The thought process was that the most demanding point for the engine would be the top of climb, since the weight and drag should decrease over cruise, so constraining the upper bound on throttle at the first point in cruise is equivalent to constraining all points because the later points will never hit the boundary.
There was a problem hiding this comment.
I think you're absolutely right Ken and I'm sure this will be the case most of the time. I was thinking about the optimizer 'flying' the aircraft and didn't want it to be able to do something that's not physically possible (in this case push the throttle past 100 % or below 0 %). I don't believe the boundary constraints do this, and it would be possible (although not optimal) for the optimizer to choose an invalid throttle setting in the middle of the cruise phase.
In my opinion switching to a path constraint, which matches the climb and descent phases makes more sense to me. If we would like to keep the boundary constraints in there as an example of an option the user has, then I'm happy to do that, but perhaps we could add a comment explaining why using boundary constraints is 'safe' in this case.
|
|
From a repo organization point of view I would prefer that all default phase infos be kept in the same place (that makes more sense to me than having the height_energy_default in aviary/examples/ and the two_dof_default in aviary/models/missions/), however I do understand wanting to have everything we need to run examples in the examples folder. I guess none of our examples are gasp based...? |
…escent for multimission.
Some new values from using polynomial order 3 instead of 1 in climb/descent for multimission.
Summary
This PR removes the example_phase_info since it is duplicated by the default_height_energy phase info, and adds a small correction to the cruise phase throttle constraint to enforce a path constraint rather than a boundary constraint which makes no sense for the throttle parameter.
Related Issues
Backwards incompatibilities
None
New Dependencies
None