Foundation Stiffness and damping in FAST v8

Dear Jason,

I am interested in working with the module SubDyn.

What I have understood about my recent readings is that SubDyn can work with bottom-fixed wind turbines in OpenFAST, but not for Floating. However, I ve recently read the doc “Implementation of Substructure Flexibility and Member-Level Load Capabilities for Floating Offshore Wind Turbines in OpenFAST” published in August 2020.

I am working with OpenFast 2.6.0. and I have seen the SubDyn’s file example for Jacket, Tripod and Monopile. What I want to know is if I can use SubDyn with the Semi-OC4, due to the fact I ve seen in the fst file the option of using it (CompSub=1). If it were possible, where could I reach the example file for this example (in the last version of the r-test/glue-codes/openfast/5MW_OC4Semi_WSt_WavesWN in github isn´t available).

---------------------- FEATURE SWITCHES AND FLAGS ------------------------------
          1   CompElast       - Compute structural dynamics (switch) {1=ElastoDyn; 2=ElastoDyn + BeamDyn for blades}
          1   CompInflow      - Compute inflow wind velocities (switch) {0=still air; 1=InflowWind; 2=external from OpenFOAM}
          2   CompAero        - Compute aerodynamic loads (switch) {0=None; 1=AeroDyn v14; 2=AeroDyn v15}
          1   CompServo       - Compute control and electrical-drive dynamics (switch) {0=None; 1=ServoDyn}
          1   CompHydro       - Compute hydrodynamic loads (switch) {0=None; 1=HydroDyn}
          0   CompSub         - Compute sub-structural dynamics (switch) {0=None; 1=SubDyn; 2=External Platform MCKF}
          3   CompMooring     - Compute mooring system (switch) {0=None; 1=MAP++; 2=FEAMooring; 3=MoorDyn; 4=OrcaFlex}
          0   CompIce         - Compute ice loads (switch) {0=None; 1=IceFloe; 2=IceDyn}

Thanks for your attention.

Raúl P.

Dear Raúl,

Yes, as of OpenFAST v2.6.0 and newer, SubDyn can now be enabled to model floating substructures for the purposes of modeling structural flexibility and member-level loads within the floating substructure. However, we have not yet developed a SubDyn input file for the OC4-DeepCwind semisubmersible or any of the floater examples for the NREL 5-MW baseline turbine. This has been posted as a known issue on the OpenFAST github page: All of the full-system floating models with substructure flexibility we’ve tested at NREL to-date contain proprietary information that cannot be shared publicly.

Best regards,

Dear Dr. Jonkman,

I am modeling the foundation and soil flexibility (Soil-Structure Interaction) of the NREL Baseline 5MW turbine using the stiffness matrix in HydroDyn.
The method is explained in a Chalmers University thesis by Isaksson and Tenenbaum (2018).
I am using FAST v8.16 as Isaksson and Tenenbaum (2018) did.

The HydroDyn file with the Wave, Current, and Potential-Flow options disabled and the stiffness matrix values is given by Isaksson and Tenenbaum (2018), Appendix E. Their stiffness matrix in the HydroDyn file is as follows:
7058823529 0 0 0 -4235294118 0 AddCLin - Additional linear stiffness (N/m, N/rad, N-m/m, N-m/rad)
0 7058823529 0 4235294118 0 0
0 0 8571428571 0 0 0
0 4235294118 0 895398319328 0 0
-4235294118 0 0 0 895398319328 0
0 0 0 0 0 1250000000000
They have also entered zero platform mass and inertia in their ElastoDyn file:
0 PtfmMass
0 PtfmRIner
0 PtfmPIner
0 PtfmYIner
When I use their HydroDyn parameters with the Elastodyn file of the Basline5MW_ITIBarge4 model with the following platform masses, the FAST analysis terminates successfully.
5.452E+06 PtfmMass
7.269E+08 PtfmRIner
7.269E+08 PtfmPIner
1.4539E+09 PtfmYIner
But if I set the platform mass and inertia to zero, like Isaksson and Tenenbaum (2018) did, or even if I reduce them to 1/10 of the above values, I get the following errors:
ACH: Blade #1 element #15 is supersonic!
ED_HD_InputOutputSolve:HydroDyn_CalcOutput: Angles in GetSmllRotAngs() are larger than 0.4
(If I use AeroDyn v14),
FAST_Solution:FAST_AdvanceStates:AD_UpdateStates:BEMT_UpdateStates(node 5, blade
2):BEMT_UnCoupledSolve:DeterminePhiBounds:There is no valid value of phi for these operating
conditions! Vx = -1.3053, Vy = 15.005, rlocal = 11.743, theta = 0.23226
(If I use AeroDyn v15).
By the way, I deactivate the Mooring in the main file (CompMooring = 0), since it does not change the results.
I do not understand how Isaksson and Tenenbaum (2018) have run the analysis with zero platform mass and inertia, and I get the errors even if I reduce the mass and inertia of the Basline5MW_ITIBarge4 model to 10% of the given values.

For my modelings with different sizes of foundations I should be able to change the platform mass and inertia.
Moreover, I am concerned that the high inertia of the platform may interfere with the intended rotations of the foundation.
So, I would like to reduce the platform mass/inertia or even set them zero, but I get the errors.
I would greatly appreciate your help.
Thank you so much in advance.

Dear Behrouz,

My guess is when you reduce the platform mass and inertia, you are increasing the natural frequencies of the support structure, which would require the use of a smaller time step to keep the model from going numerically unstable, which it appears is what it is currently happening.

Please note the following:

  • If you enable the platform-yaw DOF and set the platform-yaw inertia to exactly zero (PtfmYIner = 0), you’ll need to disable the nacelle-yaw DOF; otherwise the platform-yaw DOF will not have any inertia when the tower is undeflected, resulting in ill-conditioning of the system. I recommend setting PtfmYIner equal to the rotational inertia of the tower about its centerline (in which case YawDOF can be kept enabled). The other platform mass and inertia terms can be set to zero without issue.
  • I have not read the thesis you are referring to, but you should be aware that the tower mode shapes in ElastoDyn should be changed when changing the tower-base boundary condition, as you are doing, e.g., using BModes to calculate the mode shapes dependent on soil stiffness.

Best regards,

Dear Dr. Jonkman,

Thank you very much for the answer.

Best regards,

Dear all

For my master’s thesis I am looking at soil damping of a jacketed offshore wind turbine. This has been a useful thread, however FAST and SubDyn have received several useful upgrades lately. I am exploring methods for transferring soil damping from the piled foundation to the rest of the structure in OpenFAST v3.0.0. Are there any go-to/established methods of doing this? Is there perhaps a way of adding dashpots to the reaction nodes of the jacket?

Best regards,
Magnus Saeland

Dear Magnus,

You can model soil springs on each pile of a jacket directly within SubDyn through the SSI input file. However, you cannot specify soil damping via this file. Instead, SubDyn requires that damping be specified through the Guyan and Craig-Bampton modes. So, if you can identify which modes involve motion of the pile, you can apply modal damping to those modes.

NREL is also wrapping up the implementation of the SoilDyn module within OpenFAST, but if I recall correctly, this module only applies to a single pile. I’ll let @Andy.Platt confirm and provide a status update.

Best regards,

1 Like

Hi Magnus,

As Jason mentioned, I am wrapping up development of a soil interaction module called SoilDyn. This module was designed specifically for use with a DLL called REDWIN distributed by NGI (not open source or publicly available). SoilDyn also includes an option for soil stiffness with a damping matrix. However, the damping matrix is incomplete at present; the matrix is read and passed to the solver, but is not currently implemented in the equations. It would be very straightforward to add the damping matrix into the equations there (motion information is passed into the solve).

There is currently a draft pull request for this module at SoilDyn -- soil dynamics module by andrew-platt · Pull Request #986 · OpenFAST/openfast · GitHub. It is currently only hold until the documentation and example cases are added to the code base. If you are interested in using this module and decide to add the damping equations, we would be very interested in incorporating your code into a future release.

Also, there is a placeholder in the code for a P-Y curve approach. This never got beyond a placeholder status, but all the hooks are in the code if someone was interested in adding it.

One other thing @Jason.Jonkman reminded me of: SoilDyn is currently configured for a single pile. However, it would be fairly straightforward to extend this to multiple piles using the same soil stiffness and damping matrices (the meshes are configured to handle multiple points, and most of the code loops for multiple mesh points already exists in the code). If I set this up correctly, it will be very simple to extend to multiple piles within the SoilDyn code (the glue code is already configured to handle this). Some minor changes would be required for different stiffness/damping matrices at each pile.


1 Like

Dear Jason.Jonkman
Excuse me. When using SubDyn (new version that can model a 6x6 stiffness matrix of an elastic foundation by specifying an SSIfile at each base reaction joint) coupled with OpenFAST, should Bmodes be used to recalculate something to reflect the influence of SSI on boundary conditions? In other words, does the user only need to specify the 6x6 stiffness matrix to account for the effect of SSI on the whole WT?
Thanks in advance. @Jason.Jonkman

Dear @Baoxuan.Wang,

BModes is often used to compute the tower shapes needed for ElastoDyn. The computation of these mode shapes depends on the boundary condition of the tower, in this case the substructure represented in SubDyn. Changing the SSIfile in SubDyn will effect the stiffness of the substructure, and thus ideally, you’d rerun BModes and update the tower mode shapes accordingly.

Best regards,