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

Using set_duration_balance without solve_segments in pseudospectral phases should raise exceptions in certain situations. #1030

Open
robfalck opened this issue Jan 17, 2024 · 0 comments
Assignees
Labels
bug Something isn't working

Comments

@robfalck
Copy link
Contributor

Description

Set duration bounds relies on the residual variable being a dependent upon the phase duration.
When pseudospectral phases are being solved by the optimizer, there is no direct link between the phase duration and the state values.

Expected Behavior

Using set_duration_balance with the pseudospectral and Birkhoff transcriptions should raise an exception unless the transcription has solve_segments set to forward or backward for the duration balance variable.

If the duration balance is some function of the a solve_segment variable, dymos cannot detect that this situation exists. In this scenario, the user must set solve_segments to True at the transcription level (or, equivalently, for all states).

set_duration_balance will have a new argument, loc='initial'|'final'. The default value is to use the final value, which is the current behavior. However, if solve_segments='backward', then the loc of the associated duration balance must be initial.

Example

TBD

Dymos Version

1.10.1-dev

Relevant environment information

No response

@robfalck robfalck added the bug Something isn't working label Jan 17, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Projects
None yet
Development

No branches or pull requests

2 participants