RAO OC3Hywind Turbine

Dear Yingyi Liu,

Here are my answers to your questions:

  1. Yes, the WaveSeeds can be set arbitrarily.

  2. Yes, white-noise-generated RAOs can be a bit noisy. Averaging over several time series will help. Yes, you should eliminate start-up transients from post-processing. But 1000 s sounds like a long time. Section 6.8.2 of the HydroDyn User’s Guide and Theory manual provides some guidance for choosing proper initial conditions to minimize start-up transients for floating wind systems: wind.nrel.gov/nwtc/docs/HydroDyn_Manual.pdf.

  3. It appears that the stack size is not large enough for generating checkpoint files with the long simulation with wind and waves you are running. Do you need to produce checkpoint files? If not, I suggest that you set ChkptTime > TMax.

Best regards,

Dear Jason,

Regarding the OC4 Phase II project, which has also been summarized in Amy’s publication (nrel.gov/docs/fy14osti/61154.pdf), I have two questions to confirm:

  1. Were the second-order wave kinematics/platform forces considered or not in the listed Load Cases?
  2. Were the initial platform displacements all zeroes? If not, what are these values in different Load Cases?

Thanks a lot.
Best regards,

Dear Yingyi,

I asked Amy Robertson of NREL, and this was her response:

Best regards,

Dear Jason,

Thanks a lot. Now I understand the answers.

Best regards,

Dear Jason,

I used the matlab code you attached here to reproduce the RAOs. I found the RAO in heave exactly matches the result given by the paper Investigation of Response Amplitude Operators for Floating Offshore Wind Turbines. However the amplitude of surge and pitch is about half of your results. I attached the figures for surge and pitch. Would you have any suggestions to fix this problem? Thanks.

Dear Yajun.

Hmm; I’m not sure. For a given regular wave input, does the amplitude of the response match your RAO at the associated wave frequency? Could there be some confusion between wave height versus wave amplitude (the height is twice the amplitude for linear regular waves)?

Best regards,

Dear Jason,

I realised the reason I got the above results is that I disabled all the DOFs except for surge,sway,heave,roll,pitch and yaw in ElastoDyn. The part of input file was set as:
---------------------- DEGREES OF FREEDOM --------------------------------------
False FlapDOF1 - First flapwise blade mode DOF (flag)
False FlapDOF2 - Second flapwise blade mode DOF (flag)
False EdgeDOF - First edgewise blade mode DOF (flag)
False TeetDOF - Rotor-teeter DOF (flag) [unused for 3 blades]
False DrTrDOF - Drivetrain rotational-flexibility DOF (flag)
False GenDOF - Generator DOF (flag)
False YawDOF - Yaw DOF (flag)
False TwFADOF1 - First fore-aft tower bending-mode DOF (flag)
False TwFADOF2 - Second fore-aft tower bending-mode DOF (flag)
False TwSSDOF1 - First side-to-side tower bending-mode DOF (flag)
False TwSSDOF2 - Second side-to-side tower bending-mode DOF (flag)
True PtfmSgDOF - Platform horizontal surge translation DOF (flag)
True PtfmSwDOF - Platform horizontal sway translation DOF (flag)
True PtfmHvDOF - Platform vertical heave translation DOF (flag)
True PtfmRDOF - Platform roll tilt rotation DOF (flag)
True PtfmPDOF - Platform pitch tilt rotation DOF (flag)
True PtfmYDOF - Platform yaw rotation DOF (flag)

When I enabled all the DOFs except for TeetDOF, I got the same results in the published paper. Now my question is, when I use a 0.5s DT, the simulation runs as normal when the DOFs are disabled as shown above, but aborts when enabling all the DOF. In other words, the simulation aborts when using a time step larger than 0.01s with all the DOFs being enabled.

Is that possible if I would like to use a 0.5s time step with all the DOFs enabled by modifying some of the input settings?

I appreciate your kind help.

Best regards,

Dear Yajun,

The required time step is intrinsically related to the structural natural frequencies that you are modeling. By disabling all DOFs except for the platform, the highest natural frequency is quite low, allowing for a large time step. Enabling DOFs introduces higher natural frequencies into the model, requiring smaller time steps. My rule of thumb for selecting the time step for the structural module is given in the following forum topic: http://forums.nrel.gov/t/fast-integrator-step-size-precision/247/3.

Best regards,

Dear Jason,

Thanks for your reply, now I am clear with the time step.

My additional question is that, in the paper ‘Investigation of Response Amplitude Operators for Floating Offshore Wind Turbines’, the turbine is modelled as both ‘flexible’ and ‘rigid’ turbine, is the difference between these two type of model related to the above DOFs we discussed?

Best regards,


Dear Jason,

I did not see in the HydroDyn manual the useful formula you gave for the white noise wave height: WaveHs = SQRT( 18(0.25 - 0.05) ) m

I’m guessing some parts, but I do not fully understand it and where does it come from. Could your explain it please?

Thank you again for your help,

Best regards,

Dear Bertrand,

See my post dated Jan 10, 2018 in this forum topic above for details on this equation.

Best regards,


And yet I did read this message, but did not get it was the same equation… :unamused:

Thank you, at least I got it now.

Best regards,

Dear Jason,

I am slightly confused. Is the auto spectral density and the cross spectral density the equivalent of power spectral densities?

For example, would you confirm that:

  • the wave power spectral density is the same as wave auto spectral density?
  • the heave power spectral density is the same as the heave-wave cross spectral density?
  • the RAO is equal to the auto spectral density divided by the cross spectral density?

Thank you for your help,
Best regards

Dear Bertrand,

The auto-spectral density is the same as the power-spectral density. Here are my answers to your questions:


No. The heave power spectral density is the same as the heave auto-spectral density.

No, you have this swapped. The RAO is equal to the output-wave cross-spectral density divided by the wave auto-spectral density, where “output” is any motion and/or load output from the simulation. For example, the heave RAO is the heave-wave cross-spectral density divided by the wave auto-spectral density.

Best regards,

Dear Jason,

Thank you for your answer.

Best regards

Dear Dr.Jonkman

I used the attached code file to reproduce the RAO of the OC4 semi-submersible wind turbine, but I have two questions about the code.

my first question : the code can estimate the peak frequencies of my system nearly well, but the problem is the vertical axis of the RAOs which is extensively high in magnitude. I will attach the pictures of the RAOs of the surge, heave, and pitch motions of the platform and I wish to get some advices from you to fix this issue.(I assumed nens=1)

my second question : The code gives me some errors in calculation of the UU_psd when I assume nens as 4 or 6. I don’t know why this happens!

Best regards.

Hello Ali.Nazokkar,

In regard to your question, I wrote the original RAO function. I’m assuming your questions are related to the RAO.m file that Jason shared in the past? I think the easiest way to check the script is to put in a simple dummy problem, such as a sine wave input/output. I did that just now and the magnitude of the RAO looked correct. I would caution to use inputs that are columns rather than row vectors to avoid issues.

For your second question, I have not gotten errors as you are suggesting. But, again, it may be an issue if you are using a row rather than a column vector for your time, input, and output signals. Use all column vectors (nx1).

Best regards,
Amy Robertson

Dear Amy

I really appreciate your fast reply and consideration. You were right and I used the attached code file for the RAO calculation. once again I checked the code and by your suggestion my second problem is now fixed. However, there is something which I’m confused about. As I change the nens to higher numbers (e.g. 6,15,30), the magnitude of the RAO decreases and looks more realistic and I don’t know why this happens! the optimum number for nens is also different in the heave and pitch motions!

I will attach some pictures of the surge motion RAO with nens=6,30. I should mention that I used only one ensemble as input and output; and my input(water elevation) is generated from the JONSWAP spectrum.

I’m so thankful for your consideration and I will attach the data file of my input and output time history in case if you want to check.

best regards
input-output file.xlsx (248 KB)

Dear Ali.Nazokkar,

The number of ensembles is how many segments you are breaking the signal up into. If you have a signal that is 10,000 points and you use 10 ensembles, your RAO will be calculated using 1000 pts (averaging 10 ensembles of 1000 pts each). Ensemble averaging will lead to a converged solution as it eliminates noise. However, you can take it too far and start removing the important information.

The length of the signal will dictate the resolution of your frequency information. If you have a signal of 10,000 pts and a time step of 0.01 seconds, you have 100 seconds of time and you can therefore resolve frequencies to 0.01 Hz. If you do 10 ensembles and reduce the length to 1000 pts, you now have a frequency resolution of 0.1 Hz. So, you can see how you start to smear out important information if your frequency resolution is so coarse it doesn’t resolve the peaks of interest.

In the end, you should look at the frequency resolution you need to dictate the number of ensemble averages. You can also do what you did and see how many ensembles takes you to an RAO that is converged without smearing out important information.

Best regards,