-
Notifications
You must be signed in to change notification settings - Fork 469
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
base: dev-tc
Are you sure you want to change the base?
Conversation
This adds the appropriate mappings between ServoDyn and ElastoDyn which were previously missing and applies values in linearization
@@ -0,0 +1,1368 @@ | |||
!********************************************************************************************************************************** | |||
! LICENSING | |||
! Copyright (C) 2023 National Renewable Energy Laboratory |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Do we want the copyright date to correspond to the year we add it?
@@ -0,0 +1,121 @@ | |||
digraph UML_Class_diagram { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
do you want to keep a .png or .svg version of this here as well? The risk is it could get out of date, but there's nothing enforcing this stays up to date either.
@@ -3,6 +3,7 @@ | |||
# Copyright (C) 2021 National Renewable Energy Laboratory | |||
# | |||
# This file is part of AeroDyn. | |||
# This file is part of AeroDyn. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Duplicate line
@@ -48,6 +48,7 @@ MODULE AeroDyn_Inflow_C_BINDING | |||
|
|||
!------------------------------------------------------------------------------------ | |||
! Debugging: DebugLevel -- passed at PreInit | |||
! Debugging: DebugLevel -- passed at PreInit |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
duplicated line
! Debugging: DebugLevel -- passed at PreInit |
@@ -3,6 +3,7 @@ | |||
# Copyright (C) 2021 National Renewable Energy Laboratory | |||
# | |||
# This file is part of AeroDyn. | |||
# This file is part of AeroDyn. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
# This file is part of AeroDyn. |
@@ -52,6 +52,9 @@ param ^ - IntKi APM_LiftingLine - 3 - "Use the bl | |||
# if more than AD_MaxBl_Out blades are used in the simulation, not all channels will have output information for the "extra" blades. | |||
# Also, the AD input file will require more lines for the additional blades. | |||
param ^ - IntKi AD_MaxBl_Out - 3 - "Maximum number of blades for information output (or linearization)" - | |||
param ^ - IntKi AD_u_HWindSpeed - -1 - "DatLoc number for HWindSpeed extended input" - |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
param ^ - IntKi AD_u_HWindSpeed - -1 - "DatLoc number for HWindSpeed extended input" - | |
# For extended inputs used in linearization, number with a unique negative number. This is for programming convenience so it doesn't conflict with Registry autogenerated values. | |
param ^ - IntKi AD_u_HWindSpeed - -1 - "DatLoc number for HWindSpeed extended input" - |
@@ -76,7 +76,7 @@ | |||
<TargetName>MAP_$(PlatformName)</TargetName> | |||
<LinkIncremental>true</LinkIncremental> | |||
<OutDir>..\..\build\bin\</OutDir> | |||
<IntDir>$(PlatformName)\$(ConfigurationName)</IntDir> | |||
<IntDir>$(PlatformName)\$(ConfigurationName)</IntDir> |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Indenting change seems odd
This PR is ready to merge into the
dev-tc
branch. Which will go intodev
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.