Update to external subsystem API #945
jkirk5
announced in
Announcements
Replies: 0 comments
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Uh oh!
There was an error while loading. Please reload this page.
-
Hello Aviary users!
We have recently made a major API change to Aviary regarding how external subsystems are added. Previously, external subsystem builders needed to be provided in
phase_infofor each individual phase, including pre- and post-mission. The dev team disliked this for several reasons, primarily the tedious duplication for the simplest use case, using the subsystem everywhere, and the fact that it over-complicatesphase_infowith required python scripting (we want to be treating it as an input file).The new way to add external subsystems is using the L1 or L2 API in your main run script. Below is an excerpt of code from
run_custom_mass_example.py:This adds your subsystem builder(s) to the AviaryProblem, where it will be automatically added everywhere your builder provides components for (pre-mission, mission, post-mission).
If you still need to be able to selectively add your subsystem per-phase, then you need to update it with a flag that can be passed via
phase_info'ssubsystem_optionsfor that phase, and have the subsystem not provide the mission components if the flag requests it. This is the new recommended method for dynamic, per-phase subsystem behavior.Beta Was this translation helpful? Give feedback.
All reactions