NOTE: This PR builds on #260 and requires that PR to be merged first
Summary
The old engine_builder parameter in methods for L2 was storing engines provided there with the external subsystems to allow for methods such as get_controls(), get_parameters(), etc. to be called. This broke with recent propulsion changes, and did not support multiple engine types. This PR makes the following changes:
Engine model list was moved from undocumented engine_models variable in AviaryValues to an attribute in propulsion builder
This allows the engine_builders parameter in AviaryProblem to now correctly adds engine models to the propulsion subsystem
In turn this enables the propulsion subsystem builder to collect method calls such as get_controls() for all provided engines
The default subsystems created in default phase info files was removed (as we now needs engine information to build propulsion subsystem). New helper functions were created to help set up tests
All tests were updated with interface changes
Known issues, out of scope for now:
The method of collecting all the parameters, controls, bus vars, etc. can break in edge cases of multiengine, where if two engines offer the same variable but with different values or options, only one will be kept
build_engine_deck() only creates a single engine deck object from the provided options - in the future this should support building multiple engines if provided options are vectorized
NOTE: This PR builds on #260 and requires that PR to be merged first
Summary
The old
engine_builder
parameter in methods for L2 was storing engines provided there with the external subsystems to allow for methods such asget_controls()
,get_parameters()
, etc. to be called. This broke with recent propulsion changes, and did not support multiple engine types. This PR makes the following changes:engine_models
variable in AviaryValues to an attribute in propulsion builderengine_builders
parameter inAviaryProblem
to now correctly adds engine models to the propulsion subsystemget_controls()
for all provided enginesKnown issues, out of scope for now: