Aviary icon indicating copy to clipboard operation
Aviary copied to clipboard

The get_constraints method is never called by our core builders.

Open Kenneth-T-Moore opened this issue 9 months ago • 3 comments

Description

It turns out that get_constraints is never called in our core builders. This is a needed part of the API when using a custom engine builder.

Similiarly, get_design_vars might also be missing.

Example

.

Aviary Version

0.9.9-dev

Relevant environment information

No response

Kenneth-T-Moore avatar Mar 17 '25 19:03 Kenneth-T-Moore

Related to this, mission_inputs and mission_outputs methods are also not called when using a custom engine builder.

kanekosh avatar Mar 18 '25 13:03 kanekosh

Related to this, mission_inputs and mission_outputs methods are also not called when using a custom engine builder.

This one is a little tricky because I have to do some special handling on engine outputs (lots of repeated outputs like THRUST that can't all be simultaneously promoted). It should be possible to accept mission_inputs instead of just ['*'] promoting. mission_outputs will need more thought. Engine deck outputs are determined dynamically, but I think we can handle that.

IMO mission_inputs and mission_outputs should default to returning ['*'] instead of an empty array (if you default to ['aircraft:*', 'mission:*'] you can get errors if you don't have any Aircraft or Mission variables in your subsystem. This way, the method is optional.

jkirk5 avatar Apr 01 '25 14:04 jkirk5

IMO mission_inputs and mission_outputs should default to returning ['*']

I think this would be great and makes it easier for users to control what variables are promoted (hence connected to/from upstream or other subsystems) vs not by simply promoting or not promoting the variable within a mission group.

kanekosh avatar Sep 09 '25 22:09 kanekosh