Skip to content

Tight-Coupling Algorithm for OpenFAST 5.0#2439

Merged
deslaughter merged 357 commits intoOpenFAST:dev-tcfrom
deslaughter:f/tight-coupling
Apr 24, 2025
Merged

Tight-Coupling Algorithm for OpenFAST 5.0#2439
deslaughter merged 357 commits intoOpenFAST:dev-tcfrom
deslaughter:f/tight-coupling

Conversation

@deslaughter
Copy link
Collaborator

@deslaughter deslaughter commented Sep 26, 2024

This PR is ready to merge into the dev-tc branch. Which will go into dev once further testing and development has been done.

Feature or improvement description

Tight coupling introduces a shared solver around structural modules, based on generalized alpha method, while leaving the remaining modules loosely coupled. The goal of the tight coupling algorithm is to improve computational performance by allowing significantly larger time steps while resolving the time domain structural dynamics

Impacted areas of the software

The majority of the code in openfast-library has been reworked to support the tight-coupling algorithm and streamline the process of linearization. The concept of module variables was introduced and a new function and associated data structures were added to each module to specify the global variables and Jacobian matrices contributed.

Two existing features are incompatible with this version: Yaw Friction and HSS brake. This will be remedied in a future PR and an issue has been created to track their progress.

In addition, testing of VTK output from modal analysis has not been verified to work. V

A new Visual Studio solution has been created based on the IFX compiler in vs-build-ifx.

Further development will occur to add an option for continuing to use a version of the loose coupling solve.

Test results, if applicable

Due to significant changes in the solution algorithm, all of the regression test results were sufficiently different to require creating new baseline files. However, the results from each test were manually evaluated against prior baselines and found to be acceptable.

This function provides the extrapolation and interpolation routines for an array of values governed by module variables
…d VF_2PI flag for variables that are in the range of [0, 2PI]
Copy link
Collaborator

@andrew-platt andrew-platt left a comment

Choose a reason for hiding this comment

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

This is a masterful work of art!

@deslaughter deslaughter merged commit 2b3d36c into OpenFAST:dev-tc Apr 24, 2025
12 checks passed
@deslaughter deslaughter deleted the f/tight-coupling branch April 24, 2025 19:22
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.

2 participants