Skip to content
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

Added a balanced field length example #533

Merged
merged 29 commits into from
Feb 5, 2021

Conversation

robfalck
Copy link
Contributor

@robfalck robfalck commented Feb 2, 2021

Summary

Added a balanced field length example consisting of five phases. This example uses notional Boeing 737 data from publicly available sources to model a low-fidelity propagation of the aircraft down the runway and into the initial climb.

The example propagates down the runway until some airspeed 'V1' which is the latest point at which a successful rejected takeoff can be performed in case of a single engine outage.

  • Beyond V1, the aircraft must continue takeoff with a single engine.
  • Before V1, the aircraft can reject the takeoff and come to a stop before the end of the runway.
  • At V1, both options must be available.

The objective of this problem is to find the minimum length runway such that:

  • The takeoff-branch of the trajectory reaches the end of the runway with an altitude of 35ft and an airspeed that is 1.2 times the stall speed.
  • The rejected takeoff branch of the trajectory reaches the end of the runway with zero speed.
  • The range traveled at the end of the climb phase (when above the end of the runway) and the range traveled by the end of the rejected takeoff phase (stopped at the end of the runway), must be the same.
  • The minimum runway length that accommodates both the takeoff and abort scenarios is called the balanced field length.

This pull request is in process - documentation is pending but the PR is started to get some initial feedback on the implementation.

Related Issues

When developing this example we found that some default values for states, and time were not taking effect. This has been fixed.

We also found that trajectory parameters were not being saved in the simulation database recording. This has been fixed.

Status

  • Ready for merge

Backwards incompatibilities

None

New Dependencies

None

@robfalck robfalck requested a review from JustinSGray February 2, 2021 20:00
@robfalck robfalck requested a review from jdgratz10 February 2, 2021 23:33


@use_tempdirs
class TestBalancedFieldLengthRestart(unittest.TestCase):
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

These restart cases test that all of the appropriate data is stored in the databases. Trajectory parameters were previously not being saved before this PR.

assert_near_equal(sim_results.get_val('traj.rto.timeseries.states:r')[-1], 2016,
tolerance=0.01)


Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The "default values" case is an experiment to play with setting all values via the add_state, add_control, set_time_options, etc methods. When playing around with adding and removing phases, having the phase definition and the values setting in two parts of the file is a bit annoying. The downside of this method is that the values have to be set with their problem units, unlike using the set_val method.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This makes those methods more consistent with all the other openmdao methods too.

@coveralls
Copy link

coveralls commented Feb 3, 2021

Coverage Status

Coverage increased (+0.09%) to 96.578% when pulling 7263cb8 on robfalck:balanced_field2 into d455456 on OpenMDAO:master.

@robfalck robfalck changed the title WIP: Added a balanced field length example Added a balanced field length example Feb 4, 2021
@robfalck robfalck merged commit 28c9b0d into OpenMDAO:master Feb 5, 2021
@robfalck robfalck deleted the balanced_field2 branch May 19, 2021 17:38
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
3 participants