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

Some Birkhoff constraints are now treated as linear. #1043

Merged
merged 26 commits into from
Mar 11, 2024

Conversation

robfalck
Copy link
Contributor

@robfalck robfalck commented Feb 6, 2024

Summary

The dense block in the Birkhoff transcription's sparsity pattern is due to a matrix used to compute the state defects as a function of the state rates. This matrix is constant and, as long as the states are a design variable, this constraint is linear.

Making this constraint linear significantly improves the sparsity coloring for the Phase. The Birkhoff transcription maintains the sparsity, and good conditioning, even when the number of nodes is extremely high.

There were several changes to tests since Birkhoff doesn't have a notion of segments anymore.

The timeseries output come was providing noisy derivatives with higher orders (really small but nonzero noise).
Now it behaves as a passthru if no interpolation is being performed.

Related Issues

Backwards incompatibilities

None

New Dependencies

None

@coveralls
Copy link

coveralls commented Feb 6, 2024

Coverage Status

coverage: 92.611% (-0.2%) from 92.838%
when pulling 9187415 on robfalck:i1041
into ed640d7 on OpenMDAO:master.

@robfalck robfalck marked this pull request as draft February 26, 2024 13:43
@@ -33,7 +33,7 @@ class BirkhoffCollocationComp(om.ExplicitComponent):

def __init__(self, **kwargs):
super().__init__(**kwargs)
self._no_check_partials = not dymos_options['include_check_partials']
# self._no_check_partials = not dymos_options['include_check_partials']
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Should this change be included?

@robfalck robfalck marked this pull request as ready for review March 11, 2024 20:18
@robfalck robfalck merged commit 69a70ab into OpenMDAO:master Mar 11, 2024
10 checks passed
@robfalck robfalck deleted the i1041 branch August 14, 2024 15:32
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Some constraints in the Birkhoff transcription are a linear function of the design variables.
3 participants