SD: Fix a bug where interface DoF loads are incomplete if the interface joint is part of a rigid assembly#2905
Conversation
…ce joint is part of a rigid assembly
|
Backport to 4.2 Edit: backporting this is not as trivial as initially thought. We will leave this in 5.0 |
|
I performed an easy test to check if the behavior is the expected one. Similar to #1081, I wanted to model a rigid platform in SubDyn simply as a rigid link with a lumped mass and inertia. It is known, that this test in the past resulted in issues. In this case, I took the model from r-test (https://github.com/OpenFAST/r-test/tree/main/glue-codes/openfast/5MW_OC4Semi_WSt_WavesWN). I simplified the system by disabling InflowWind and AeroDyn (i.e., no aero), disabling ServoDyn (i.e., no controller), and defined still water conditions in SeaState. I also defined all initial conditions as 0 in ElastoDyn and setup the The original model from r-test has the platform defined in ElastoDyn. I defined an equivalent system in SubDyn by defining two joints and the corresponding mass and inertia. Basically: When using OpenFAST dev-tc without the fix (https://github.com/OpenFAST/openfast/tree/dev-tc), I can see that the behavior of the SubDyn approach is wrong: When using OpenFAST dev-tc with the fix proposed here, the behavior is the proper one: For reference, the output using ElastoDyn or SubDyn is not exactly the same. But the bug not accounting for the proper buoyancy or mass when a rigid link was connected to the interface joint in SubDyn has been fixed. Next, I will test the issue #854 and will check if this fix addresses that issue as well. |
|
After compiling the SubDyn driver and running the standalone version, I can confirm that the issue #854 has been fixed as well. Yay! For reference, the model included 2 rigid links and one beam connected to the interface joint. See below for reference: The original issue was described as "rigid links connected to the interface and cable elements". However, the real problem were the rigid links connected to the interface joint. As can be observed, SubDyn with the fix returns the expected forces: IntfZss around 2.23e7 N. |
SD: Removing bug message [fixed]
|
Backport to 4.1.2 |




This PR is ready to be merged.
Feature or improvement description
This PR fixes a bug where the external loads on SubDyn interface degrees of freedom are incomplete if the interface joint is part of a rigid assembly. Previously, only the loads on the interface joint itself are computed. This is incomplete. We instead need to include the external loads on all nodes belonging to the same rigid assembly due to DoF reduction.
Related issue, if one exists
Addresses both Issue #854 and Issue #1081 (verified by @RBergua below). Both issues can now be closed. The corresponding warning message in SubDyn is also deleted.
Additional information
This appears to be a very old bug present since rigid links were first added to SubDyn. We can consider backporting to v4.x.
Impacted areas of the software
SubDyn
Test results, if applicable
No change to existing test results.