OpenMDAO/Aviary

Reevaluate what should be promoted out of an external subsystem in mission.

Opened this issue · 0 comments

Description

Right now, we promote aircraft:* and mission:* out of any external subsystem that is added to the mission. We discovered that we are missing promotion of state variables, because they are not in the hierarchy, and while they may be classed in the hieararchy as Dynamic.*, they do not share a common prefix.

Figure out the best solution for this. There are several possibilities, but some may have drawbacks.

  1. promote_inputs with '*' on external subsystems in mission.
  2. Teach user to use the targets metadata in the state dictionary to specify the true state path, which will include the external subsystem's name at the front of the path to the state. [This is what we are doing now in the battery_builder in the energy subsystem]
    2a. Automatically fill the targets field for the user
  3. Automatically add the state names to the promotes on the external subsystem.

Example

subsystems/energy/battery_builder.py
This model contains a state that isn't promoted out of the external subsystem because it does not begin with aircraft or mission.

Aviary Version

0.9.4-dev

Relevant environment information

No response