Dear Maxime,

Although I don’t think this made a big difference to the results presented by Wayman et al, I should note that the turbine stiffness that Wayman et al obtained through the linearization of FAST was not correct. At the time of that project, I don’t think we understood the importance of the “effectiveness stiffness” to the extent that we do now.

To answer your question regarding how to obtain the correct linearization of FAST for an offshore floating wind turbine, it is helpful to identify the terms that contribute to the linearized stiffness matrix. For this system, the terms that contribute to the linearized stiffness for the 6 DOFs of the platform–when the effective stiffness is zero–are aerodynamics (a), turbine weight (wt) (i.e., the weight of tower, nacelle, and rotor), platform weight (wp), hydrostatics (h), and moorings (m). In equation form:

K_Total = K_a + K_wt + K_wp + K_h + K_m.

Wayman et al were trying to get the stiffness associated only with the turbine:

K_Turbine = K_a + K_wt.

As has been noted, the stiffness output from the linearization of FAST does not equal K_Turbine if the platform weight, hydrostatics, and mooring are zero, because such a system is not in static equilibrium before linearizing.

As you rightly suggested, K_Turbine can be obtained by including the platform weight, hydrostatics, and mooring loads in FAST, then linearizing the FAST model about its static equilibrium to obtain K_Total, and calculating K_Turbine as follows:

K_Turbine = K_Total - K_wp - K_h - K_m.

The problem with this is that one needs to have the platform design details available and implemented in FAST before one can linearize the FAST model to obtain the turbine’s stiffness. Also, the stiffness terms associated with the platform may not be easy to obtain either.

Perhaps an easier solution, which would also work when the the platform details are not yet available, would be to neglect the platform weight, hydrostatics, and mooring loads from FAST, but instead include in FAST a user-defined platform loading routine that returns a force (F) from a displacement (X) around the desired linearization position (Xop) (Xop would equal zero if the desired linearization point is the undisplaced position), such that

F = -K_u*(X – Xop),

where K_u is a user-defined stiffness matrix. Then if K_u is chosen to be large relative to other stiffnesses in the model, the solution should converge close to the desired Xop, and the linearization of FAST should give

K_Total = K_Turbine + K_u,

such that K_Turbine could be found by subtracting K_u from K_Total. I haven’t tried this approach myself yet, but it should work.

Please note that WAMIT intrinsically accounts for the stiffness associated with system weight (K_wt + K_wp) and hydrostatics (K_h). So, if your reason to linearize FAST is to import the solution into WAMIT as an externally supplied stiffness matrix, we’ve found that it is convenient to linearize a model with all terms to get K_Total as described above. Then set the center of mass in WAMIT to zero (zeroing-out WAMIT’s internal calculation of the stiffness from system weight) and set the externally supplied stiffness matrix in WAMIT equal to K_Total minus K_h (K_h is calculated by WAMIT and output). Then, in its calculation, WAMIT will add K_h to the externally supplied stiffness matrix, giving back K_Total as desired for use in its calculations.

We hope to add features to a future version of FAST that would make it easier to identify the terms of the stiffness matrix separately. But until those features are available, the approaches described above are required.

Best regards,