Skip to content

Automatic Parameters #878

@robfalck

Description

@robfalck

Proposed feature.

Dangling inputs in the ODE are nominally connected to an automatic IndepVarComp at the top level of the model. This breaks the paradigm that the user should not set values for ODE inputs directly, and should instead use parameters and controls to get external inputs into the model. To set these values in the ODE, the user might have to set the values of multiple variables, depending on how many times the ODE is used in the transcription. Furthermore, these settings won't "stick" when using simulate.

As the last step in Phase.configure, phases should look for their thus-far-unconnected inputs and automatically convert them to Parameters.

Why Parameter or Control

Adding large numbers of controls into the phase is more computationally expensive as more inputs govern the behavior of the outputs, meaning OpenMDAO has larger matrices to deal with during its linear and nonlinear solves.

If otherwise unspecified, all unconnected inputs will be assumed to be parameters with static values that are "fanned out" to each node within the phase.

Variable Naming

Parameters/controls will be added with their name being the last part of the dotted promoted path.
If we encounter name collisions, we should raise an exception.
The user can alleviate this collision by promoting the variables to the same name (if they should be connected to the same input) or to different names otherwise.

Implementation

  • Phase gets a new method, _configure_auto_params.
  • This method is similar in behavior to Group._setup_auto_ivc.

Example

No response

Metadata

Metadata

Assignees

Labels

enhancementNew feature or request

Type

No type

Projects

No projects

Relationships

None yet

Development

No branches or pull requests

Issue actions