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

Tight-Coupling Algorithm for OpenFAST 5.0 #2439

Open
wants to merge 334 commits into
base: dev-tc
Choose a base branch
from

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]
RyanDavies19 and others added 30 commits February 25, 2025 11:25
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.

4 participants