I am doing the analysis of OC4 model using FAST8 and using strip theory solution (Morison Equation only) for hydrodynamic forces. I found the difference among the inertia and mass values given in the “Elastodyn” and in the report “Definition of the semi-submersible floating system for phase ii of OC4”. I also found the explanation for the difference in one of the post (AddCLin for OC4 Semisubmersible - #3 by Jason.Jonkman). I have few questions and would highly appreciate your valuable comments.

I calculate the center of gravity the whole system (platform+tower+RNA) and i found it is above the mean sea-level. I used the mass and center of gravity values given in the Elasodyn to calculate the CoG of whole system. I have attached an excel file (a very small table, please give some time to look at it if these are right). I wonder if it is correct to use the values given in Elastodyn for calculation.

I checked many posts about the center of gravity and inertia properties of the nacelle and rotor (hub+blades) but i never found them separately. I have found the inertia of the RNA (nacelle+rotor) and their combined center of gravity. I wanted to know if the center of gravity of each of these part and their inertia about their corresponding CoG is available.
I will highly appreciate your help. Semi_Sub_OC4_COG.xlsx (9.68 KB)

Yes, the still-only mass and CG values of the OC5-DeepCwind semisubmersible found in the ElastoDyn input file of the FAST archive should be correct. Please note that this FAST model models the water ballast directly within HydroDyn.

I don’t recall publishing the distinct mass, CG, and inertias about the CG separately for the nacelle and rotor of the NREL 5-MW baseline turbine. However, the nacelle mass, CG, and inertia (without rotor) about the yaw axis are specified within ElastoDyn. The rotor mass and inertia about the rotor axis are calculated by FAST and written to the ElastoDyn summary file. These yield many of the values you seek. You can probably derive the remaining values from these.

I am thankful for your kind response. Using the yaw inertia of nacelle about its CoG and rotor inertia about rotor axis i was able to extract the Ixx, Izz inertia’s of nacelle and rotor separately from the combine RNA inertia values (which are available). However, i was not able to obtain the Iyy values of rotor and nacelle separately as i have two unknowns and 1 equation for that. I have few questions regarding the hydro-static stiffness and would be appreciate your comments.

In the published report “Definition of the semi-submersible floating system for phase ii of OC4” the hydro-static stiffness values of K33, k44 and k55 are 3.83610^6 N/m, -3.77610^8 Nm/rad and -3.776*10^8 Nm/rad, respectively. However, in the fast input file “marin_semi.hst” the value specified for K33, k44 and k55 are 3.800615E+02, -3.787550E+04, and -3.787550E+04. So, i am a little confused about the unit of these values. I thought if they are in kN/m or kN/rad, still i fee there is difference in the magnitude with that published values.

I studied your various comments regarding AddClin due to filled fluid in the members and i also calculate the AddClin values due to filled fluid using the Equation given in Sec. 6.8.3 of the Hydrodynamic manual (for understanding purpose, using mfgzf). Where zf is coordinate of center of mass of the fluid from Mean Sea level. If i want to obtain the response of the structure about another point e.g. at centre of mass of platform 13.46 m, Do i have to calculate zf with respect to that point and then update AddClin values or zf is always from MSL and thus AddClin remains same.

i highly appreciate your response and it significantly help me in understating these things.

The data in the WAMIT hydrostatic restoring (.hst) output file are nondimensional based on rhogravity (also including a length scale, which we’ve set to L = 1). More details can be found in Chapter 4 of the WAMIT User’s Manual: wamit.com/manual6.4/Chap4.pdf.

The elements of AddCLin are always defined with respect to the WAMIT Reference Point (WRP), which is always the intersection of MSL and the tower centerline for floating offshore wind turbines in HydroDyn.

Dear Dr. Jason Jonkman
I am trying to obtain the natural frequency of the floating wind turbine OC3-Hywind model. I have go through various posts regarding the linearization and natural frequency. I find it out in one of your post that natural frequency can be obtained either plotting the PSD or RAO of the responses or it can be obtained using the linearization analysis. From various post i have learned the linearization analysis procedure for FAST V8, but still i am facing some problem. I would highly appreciate your help regarding.

I flagged linearization to “True” in the fast main input file for and obtained the “test24.1.lin” output file. I used this output file and run the matlab function GetMats_f8 to obtain the various outputs. After that i run the matalb function “mbc3” but it gives me the following error.

“*ERROR: the number of colmn vectors in RotTripletIndicesOutput must equal 3, the num of blades”

As i am not familiar with the procedure i will highly appreciate your help. I have enabled only “CompElast” module while running the FAST linearization and applied some initial displaced e.g. surge pitch etc.

My another question is different from the above topic. I don not have any working knowledge of C++ or Fortron. I usually work in Matlab. I wanted to know if develop any function e.g. for mooring lines or for Hydro-statics in Matlab. Is it possible for me to use that Matlab function with FAST V8?

Regarding (1), I’m not sure which version of MBC3 you are using, but we fixed a bug pertaining to findBladeTriplets.m a while ago in the MBC3 that is released through the OpenFAST site–I suggest using the version of MBC3 found here: github.com/OpenFAST/mbc.

Regarding (2), FAST v8 supports an interface to MATLAB/Simulink, but this interface does not support the calculation and application of hydrodynamic and mooring loads from MATLAB/Simulink. So, while I’m sure it would be possible to modify the source code, you’ll have to not only implement your new model in MATLAB/Simulink, but you’ll also have to modify the Fortran-based S-Function and FAST dynamic library.

FYI: As has been discussed several times on this forum, the linearization functionality of FAST v8 does not apply to floating wind turbines. It sounds like you disabled HydroDyn and MAP++ for your linearization of the OC3-Hywind model, but this model will not include any hydrostatic or mooring restoring, so, will probably not produce the linearized results you expect. We are currently working on the implementation of the linearization functionality applicable to floating offshore wind turbines in OpenFAST.

I am highly thankful for your help.
Regarding (2), The only thing i want to do is that instead of using AddClin for hydrostatic stiffness i want to make that zeros, and use external MATLAB function (which i have made) to calculate the hydro-static stiffness or hydrostatic forces. Thank you for your valuable comments.

Yes, I understand your question, but as I said in my prior post, the existing FAST-MATLAB/Simulink interface does not support passing applied loads from MATLAB/Simulink to FAST. So to calculate hydrostatic loads in MATLAB/Simulink for use in FAST, you’ll have to update the Fortran-based S-Function and FAST dynamic library, which will require modifying Fortran source code.

are there any requirements regarding the outputs defined in ElastoDyn and the main file of OpenFAST to get correct results from fx_mbc3()?

I get the following error:
Error using fx_mbc3 (line 99)
**ERROR: the number of column vectors in RotTripletIndicesOutput must equal 3, the num of blades

I checked that I use the latest version of this script with the latest 32bit executable of OpenFAST with Elastodyn (not Beamdyn).

Next I wonder if there is a way to linearize a turbine model with foundation stiffnesses not included in results from BModes?

I fixed the error by selecting at least one output for all three blades, in my case BlPitch1, BlPitch2, BlPitch3.
So I guess the case that no triplets of blade outputs is defined leds to an error in fx_mbc3.m.
Can you confirm this?

I would like to linearize a onshore turbine model with foundation stiffness. As it is straight foreword I modeled the foundation with the stiffness and damping that is available in HydroDyn. In BModes no foundation is defined.
As OpenFAST can´t linearize Hydrodyn I wonder, weather there is a different why of linearizing the model with foundation stiffness included.
I know that determining the eigenfrequencies is possible by analyzing time series but this is not what I want to do.

Regarding (2), OpenFAST does not currently have the ability to linearize the model with foundation stiffness and damping without modification of the source code. We are currently working on full-system linearization in OpenFAST for floating offshore wind systems, including the linearization of HydroDyn and MAP++. This new functionality should be available later this summer.

I have a query regarding free vibration response of OC3-Hywind model. I am a little confused about the initial conditions and the platform output responses. I am using FAST V8. In the FAST user guide (page 80), it is mentioned that the Initial conditions (Roll, Pitch and Heave) represents rotations about PtfmRef (PtfmRefzt) relative to inertial reference frame. In Table 30 of the user guide (page 108), it is given that the PtfmSurge, PtfmSway, PtfmHeave are the transnational displacements along xyz of inertial reference frame. I would highly appreciate your help regarding the following points if i have understood these correctly.

1). These transnational output represents the displacement at the Center of mass of the system i.e. at -78 m from mean-sea-level?

2). Can i obtain the transnational output at any other point of my choice?

3). If i have correctly understand these output and the above statement (1) is correct. In that case, i set the PtfmRefz = -78 m and then apply some initial pitch rotation (3, 6, 9 deg, other conditions are set to zero) and i performed analysis and compared the Surge, Heave and Pitch displacements. I was expecting that, since the point of application of initial rotations and the point of outputs is same (i.e. 78 m from MSL), So the pitch rotation should not cause any change in the surge and heave. However, i found slight change in the surge, and heave displacements with the increasing Pitch rotations. I am confused if i have misunderstood anything or what could have caused this difference. I have uploaded the results and will be highly thankful for your valuable comments.

The platform outputs (PtfmSurge, etc.) of ElastoDyn represent the motion of the platform reference point. If PtfmRefzt=0, then these represent the platform motion for a point nominally at the ground / mean sea level (MSL). If PtfmRefzt=-78 (for the OC3-Hywind spar), then these represent the platform motion at the full-system center of mass.

The OC3-Hywind system does not necessarily rotate about is center of mass.

I am highly thankful for your kind response. Regarding (3), if the initial rotations are not necessarily applied Ptfmrefz, is it possible to know at which point the initial rotations are applied or is there any parameter in fast input file to specify the center of rotation for initial conditions.

The initial platform displacements/rotations are specified about the platform reference point (defined by PtfmRefzt). My point regarding (3) was that the natural center of rotation of the OC3-Hywind spar is likely not right at the full-system center of mass. So, while you may have defined pure pitch about the center of mass, this is effectively changing the surge motion of the actual center of rotation, which leads to further translational displacements of the system.

I am modeling a semisubmersible FOWT like WindFloat type which has a PtfmCmxt offset from the tower centerline, and I set the reference point as defalut i.e “0”. I obtained the wamit outputs with the reference point (0,0,0) i.e. the intersection of the tower centerline and the MSL. However the 6 DOF motion output by FAST v8.16 was with reference to the PtfmRefzt, but I need the motion response about the mass center to compare with the experiment data. So how could I obtain the FAST Ptfm motion output about its mass center other than the PtfmRefzt, with the PtfmCm horizontal offset from the tower centerline. What kind of transform can I take to process the default motion output of FAST to get the desired result.

Assuming you are modeling the floater as a rigid body rather than with structural flexibility available in OpenFAST v2.6 and newer, you can apply rigid-body kinematic expressions based on the motions known at the platform reference point to output the platform motions at points other than the platform reference point in a post-processing step.