Skip to content

Aviary group rework 1#803

Merged
jkirk5 merged 44 commits intoOpenMDAO:mainfrom
ehariton:aviary_group_rework
Jul 8, 2025
Merged

Aviary group rework 1#803
jkirk5 merged 44 commits intoOpenMDAO:mainfrom
ehariton:aviary_group_rework

Conversation

@ehariton
Copy link
Copy Markdown
Contributor

@ehariton ehariton commented Jun 26, 2025

Summary

Forwarded a number of functions from methods_for_level2 into AviaryGroup without changing top-level user interface. Pushing these functions down one level into prob.model will enable the first step to re-modelling core aviary to be more flexible to multi-mission analysis. Some methods were moved to utilities, and some small temporary changes were added to report generation to prevent that from breaking. Objective function declaration was removed from all problem_configurator files because the ODE method does not necessarily correspond with a specific objective function. For methods that remain in methods_for_level2 (alternative / fallout missions / objectives), some of them were modified to use prob.model instead of prob.

Some secondary effects of these changes. There were 'fake' aviary problems (essentially just OpenMDAO groups) setup in onboarding_for_level2.ipynb, one of which was maintained, but the other proved too convoluted to rehab to the new standard.

Related Issues

N/A

Backwards incompatibilities

None

New Dependencies

None

Comment thread aviary/examples/level2_example.py Outdated
Comment thread aviary/interface/methods_for_level2.py Outdated
Comment thread aviary/interface/methods_for_level2.py Outdated
@ehariton ehariton requested a review from jkirk5 July 2, 2025 13:07
@ehariton ehariton requested a review from Kenneth-T-Moore July 2, 2025 13:07
Comment thread aviary/core/AviaryGroup.py Outdated
Comment thread aviary/core/AviaryGroup.py Outdated
Comment thread aviary/mission/height_energy_problem_configurator.py Outdated
pass

def add_post_mission_systems(self, prob):
def link_phases_helper_with_options(self, aviary_group, phases, option_name, var, **kwargs):
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Why is this no longer a private method? It's never used outside of the problem_configurator as far as I can tell

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

link_phases_helper_with_options is used in all 3 problem configurators. These all inherit from problem_configurator. Originally this method was kept in M4L2, but it didn't make much sense to keep it there.

Comment thread aviary/utils/utils.py Outdated
Comment thread aviary/utils/utils.py Outdated
Comment thread aviary/utils/functions.py Outdated
Comment thread aviary/api.py Outdated
@ehariton ehariton requested a review from jkirk5 July 8, 2025 17:26
@jkirk5 jkirk5 enabled auto-merge July 8, 2025 20:13
@jkirk5 jkirk5 added this pull request to the merge queue Jul 8, 2025
Merged via the queue into OpenMDAO:main with commit f2315d9 Jul 8, 2025
6 checks passed
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.

3 participants