Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Automatic Parameters #878

Open
robfalck opened this issue Dec 1, 2022 · 0 comments · May be fixed by robfalck/dymos#17
Open

Automatic Parameters #878

robfalck opened this issue Dec 1, 2022 · 0 comments · May be fixed by robfalck/dymos#17
Labels
enhancement New feature or request
Milestone

Comments

@robfalck
Copy link
Contributor

robfalck commented Dec 1, 2022

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

@robfalck robfalck added the enhancement New feature or request label Dec 1, 2022
@robfalck robfalck assigned robfalck and unassigned robfalck Dec 1, 2022
@robfalck robfalck added this to the 2.0 milestone Dec 1, 2022
@robfalck robfalck changed the title Automatic Parameters and Controls Automatic Parameters Mar 6, 2023
@robfalck robfalck self-assigned this Mar 6, 2023
@robfalck robfalck removed their assignment May 31, 2023
@robfalck robfalck self-assigned this Jul 6, 2023
@robfalck robfalck removed their assignment May 6, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

Successfully merging a pull request may close this issue.

1 participant