Skip to content

Conversation

@luwang00
Copy link
Contributor

@luwang00 luwang00 commented Apr 25, 2025

Feature or improvement description
This PR modifies SubDyn to support multiple transition pieces. This is a part of the necessary upgrades to OpenFAST to enable simulations of multirotor systems (either wind turbines or MHK turbines).

For floating structures with multiple transition pieces, SubDyn now also solves and tracks the 6DoF "rigid-body" motion of the structure internally. The "rigid-body" motion can be large, including large rotation. We only require the elastic deflection of the structure relative to the "rigid-body" configuration to be small. Users need to select a joint on the structure to serve as the rigid-body reference point about which the 6DoF equations of motion are constructed.

The interface load and motion output channels is expanded to support up to 9 transition pieces. (Internally, there is no limit to the number of transition pieces. Only the output is limited to 9.) These channels are Intf?FXss, Intf?FYss, etc., where ? is a number between 1 to 9. If no number is provided, the values associated with the first transition piece is returned for backward compatibility.

The modified SubDyn is now compatible with tight coupling of OpenFAST v5. The necessary changes were made with the help of @deslaughter.

More information to come.

Additional changes

  • Previously, SubDyn driver only uses the input at one time step. As a result, time integration methods involving corrector steps do not function correctly. This is now corrected. (This issue does not affect SubDyn when coupled to OpenFAST.)
  • Also enabled time step interpolation on user-provided transition-piece motion time series in SubDyn driver.

Impacted areas of the software
SubDyn, openfast_io, glue-code

Test results, if applicable
Existing SubDyn r-test results changed slightly due to corrections to SubDyn driver and other modifications. SubDyn driver and primary input files are also updated with new inputs needed for multiple transition pieces.

luwang00 added 28 commits April 15, 2025 17:56
… Also disabled analytical Jacobians, which are no longer valid for floating systems.
@andrew-platt andrew-platt self-assigned this Apr 28, 2025
@andrew-platt andrew-platt modified the milestone: v4.1.0 Apr 28, 2025
@andrew-platt
Copy link
Collaborator

Could you add some test results here?

@andrew-platt andrew-platt changed the base branch from dev to dev-tc April 28, 2025 22:17
@andrew-platt andrew-platt added this to the v5.0.0 milestone Apr 28, 2025
* Updated SD_AM2 to use the new linearization subroutines.
* Added the rigid-body states to ModVar.
* Cleaned up some unused variables.
…o the MiscVarType to avoid dynamic allocation at every time step
@andrew-platt andrew-platt merged commit ec9b169 into OpenFAST:dev-tc May 2, 2025
12 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants