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

Fixed some issues that were causing simulation to fail under MPI. #978

Merged
merged 9 commits into from
Sep 5, 2023

Conversation

robfalck
Copy link
Contributor

@robfalck robfalck commented Sep 1, 2023

Summary

Fixed some issues that were causing simulation to fail under MPI.

  • Setting simulation phase values from their source phases now accounts for MPI.
  • This code is built on the assumption that a phase and its corresponding simulation phase are on the same processor.
  • The trajectory created by Trajectory.simulate will not bother setting up linkages or interphase connections since they are irrelevant for simulation.
  • Bumped the minimum OpenMDAO version as specified in setup.py to 3.26. We were already using this as the oldest supported version on CI.
  • In set_vals_from_phase for simulation phase we now don't grab variable values from their ultimate source (from_src=False).
  • The finite burn MPI test cases now include simulation.
  • The primary trajectory's comm is passed to the subproblem used for simulation.

Related Issues

Backwards incompatibilities

None

New Dependencies

None

simulation was failing under MPI.
- Setting simulation phase values from their source phases now accounts for MPI.
- This code is built on the assumption that a phase and its corresponding simulation phase are on the same processor.
- The trajectory created by `Trajectory.simulate` will not bother setting up linkages or interphase connections since they are irrelevant for simulation.
- Bumped the minimum OpenMDAO version as specified in setup.py to 3.26.  We were already using this as the oldest supported version on CI.
- In `set_vals_from_phase` for simulation phase we now don't grab variable values from their ultimate source (from_src=False).
- The finite burn MPI test cases now include simulation.
@@ -1397,6 +1407,9 @@ def simulate(self, times_per_seg=10, method=_unspecified, atol=_unspecified, rto
"""
sim_traj = Trajectory(sim_mode=True)

# self.phases.nonlinear_solver = om.NonlinearBlockJac()
Copy link
Member

Choose a reason for hiding this comment

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

Probably clean up these commented out lines.

…ication by time units.

This prevents units such as '1/s*s' intead of None.

Added a warnings context to simulation setup to ignore setup and unused options warnings that are not the fault of the user.
@review-notebook-app
Copy link

Check out this pull request on  ReviewNB

See visual diffs & provide feedback on Jupyter Notebooks.


Powered by ReviewNB

@robfalck robfalck merged commit 1b4ccc3 into OpenMDAO:master Sep 5, 2023
9 checks passed
@robfalck robfalck deleted the simulate_mpi branch August 14, 2024 15:30
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Trajectory simulation fails under MPI
2 participants