Turbine-soil interaction. Influence on the mode shapes.

Dear Mr. Jonkman.

I have two questions reffering to my previous post and the PSD plot. I have been trying to find out why there is a frequency peak at 2.4 Hz for the rigid foundaion model, but I can’t find an answer. I have concluded that the two peaks at approximately 1.8 and 2.0 Hz represents the second tower fore-aft and side-to-side modes (1.8604 and 2.0494 Hz from BModes), but there is no natural frequency from BModes around 2.4 Hz. The peak is even more significant in the mudline moment PSD, see attached plot.

MyPSD.png

From the moment time series oscillations at this frequency (period of 0.4 seconds) can be clearly seen, but I can’t understand why. Do you have an explanation to what this frequency is caused by?
zoom.png

Also, shouldn’t there be peaks at the operational natural frequencies of 1P (here 0.2 Hz), 3P, 6P etc?

In addition I have a question about simulating an idling rotor. I wanted to turn off the rotor to compare the effect of the operational natural frequencies vs the structural natural frequencies on the ressonance effects seen when wave spectral period is 5 seconds. The changes I did are as follows:
In ElastoDyn: BldPitch1=BldPitch2=BldPitch3=90, RotSpeed=0
In AeroDyn15: WakeMod=0, AFAeroMod=1
In ServoDyn: PCMode=0, GenTiStr=True

The wind input is still turbulent with a mean wind speed of 12m/s, but the output time series of mudline moment oscillates around 0, like there is no inflow wind? See attached plot of the rigid and flexible foundation models for the operating and the idling case. What am I doing wrong, and how can I include the wind for the idling case?

Idling.png

Thank you very much

Best regards,
Ingrid

Dear Ingrid,

The rotor flexibility has a strong influence on the second tower-bending modes (which is possible to obtain with FAST, but not BModes). The NREL 5-MW turbine atop the OC3-monopile with a rigid foundation has a second tower-bending modes around 2.4 Hz, as you are seeing.

I see the 0.4 Hz oscillation in your time series plot, but not in your PSD plot. Are these not for the same signal?

I don’t know enough about your simulation set-up to know why you are not seeing 3P or 6P excitation in your simulations with an operating wind turbine.

Your simulation set-up for an idling rotor sounds reasonable, assuming that you set TimGenOn in ServoDyn to be greater than TMax. With the rotor idling and all blades feathered to 90 degrees, I would expect the rotor thrust (and thus the tower-base bending moment) to have zero mean, unless you’ve enabled the tower aerodynamic loads.

Best regards,

Jason,

Using the extremely useful discussion found in this thread, I have applied an apparent fixity condition to my support structure design and obtained Bmodes frequency outputs that are in agreement with values obtained in another program. I then used the modeshapepolyfitting.xls document to get the required mode shape polynomial coefficients and run my FAST simulations.

However, in looking at the PSD plots, which I was hoping to use to derive some frequency-domain transfer functions for the system, the spectral peaks are not occurring at the expected frequencies, but are instead occurring at almost exactly half of those frequency values, i.e.

Mode 1 FA : .211 Hz
Peak @ apx: .100 Hz
Mode 2 FA : 1.44 Hz
Peak @ apx: .70 Hz

Modes.PNG

Near identical peaks occur in the FA and SS directions. I have read your responses elsewhere on the forums citing the DOF of the rotor/nacelle/drivetrain as sources of some disagreement between FAST natural frequencies and those generated by BModes, but I wasn’t sure if there is some other phenomena at play here given the dramatically different results I’m seeing. Any insight at all you can offer is greatly appreciated.

Thank you.
MC Anderson

Thank you again for your quick reply! And for clearing up the 2.4 Hz question. Do you also know what the second side-to-side mode frequency is exptected to be?

The time series and the PSD are not for the same signal, the PSD is for white noise excitation, while the moment time series is for turbulent wind and waves. When plotting a PSD of the output from a simulation with wind and waves I get a spectrum where no peaks can be detected.

In the time series there are oscillations at period of approximately 0.4 seconds, which represents a frequency of approiximately 2.4 Hz, as seen on the PSD, am I right?

Information on the simulation behind the PSD:
I have used Test19.fst. The only changes I have made to the input files provided by NREL is:
In HydroDyn: Changed WaveMod to white noise spectrum and disabled 2nd-order waves.
In FAST primary input file: Setting CompAero to 0 and adding a steady wind of 12m/s.
Everything else is kept the same, the rotor speed is still 12.1 rpm. Does any of my changes imply that the rotor is not rotating?
Do you understand why there are no peaks at the operational natural frequencies?

Regarding the idling rotor: Yes, I set TimeGenOn to a high number. I have not turned off the tower aerodynamic loads, in the AeroDyn input file TwrAero = True. The wind field is turbulent with a 12m/s mean. Shouldn’t wind loading then create a mudline moment with a nonzero mean?

I really appreciate your help, thank you.

Best regards,
Ingrid

Dear Mary Carol,

I would not expect a large influence of the rotor flexibility on the first tower-bending modes; the rotor flexibility will have a larger impact on the second tower-bending modes.

You’re results show a quite substantial difference between the natural frequencies predicted by FAST and BModes. I’m not sure I understand this. I suggest that you make the rotor and drivetrain rigid in FAST (so as to better match the assumptions of BModes). If the results do not match well in that case, I would expect some sort of inconsistency between the inputs specified in FAST and BModes.

Best regards,

Dear Ingrid,

I would expect both the tower fore-aft and tower side-to-side bending modes for the NREL 5-MW turbine atop the OC3-monopile to be around 2.4 Hz (the second tower-side-to-side may be a bit smaller).

Sorry, I misspoke in my prior post. Your time series are showing an approx. 4-s period, which matches the approx. 2.4-Hz mode.

The rotor speed should be near zero for an idling case.

Yes, direct wind loading on the tower will create a nonzero mean bending moment at the mudline. But tower aerodynamic loads are usually much more important for idling cases at high speed than they are during operational cases.

Best regards,

Dear mr Jonkman,
I am new to FAST and in my Master Thesis I want to model an offshore wind turbine with a monopile and the p-y curves approach for the soil representation. By reading some older posts, I have found useful information on the topic (especially in the post I am now responding), but I want to be 100% sure that I do not miss something, so I want to present the main steps:
I am presenting the procedure using FAST v7, as I read that I need subroutine UserTwrLd() to model a DS approach and this subroutine does not exist in FAST v8.

  1. I run BModes with the real geometry (tower + platform i.e. monopile) of the structure in order to obtain the mode shapes
  2. I convert them using the .xls file provided, to get the pseudo-cantilever modes that FAST requires as an input
  3. As an input in UserTwrLd() I give the depth z of each node and the corresponding spring stiffness. The nodes should cover the region from the deepest point of the pile until the seabed (with a coordinate z = - water_depth )
  4. I run FAST by setting TwrLdMod equal to 2 in order to implement the subroutine.

Apart from any flaws in my procedure that I would like you to point out, I want to raise a question:
As I understand, the role of UserTwrLd() is to take into account the stiffness of each spring and calculate the total corresponding force at the JNode i.e. at the connection point between the tower and the pile. I am a bit confused about the DOFs at the JNode while running FAST. Should I enable all of them or only the horizontal translational (surge and sway)? And should I turn on the switches and leave the values equal to zero? Or by inserting more realistic values I can achieve quicker convergence?
I apologize for the long post. And I am really greatful in advance for your help.

Best regards,
Cristos Lathourakis

Dear Christos,

I agree with steps 1-4 in your procedure for modeling a wind turbine atop a monopile with a DS foundation in FAST v7.

But I’m not really understanding what you are saying/asking in this paragraph:

Best regards,

Dear mr Jonkman,
First of all, thank you for the immediate response. I will try to rephrase and be more specific about my question.
By reading UserTwrLd() I understood that the subroutine’s output is a force at the connection point between the tower and the platform, a point named JNode. This force will represent all the springs beneath.
So my question is that, since we give FAST the value of that force, applied on the base of the tower, that FAST considers cantilevered, shouldn’t we release some of the DOFs? For example, setting true PtfmSgDOF and PtfmSwDOF? And a step further, should I leave the initial conditions equal to zero or should I change them to speed up the procedure and the convergence?
In simpler terms, appart from setting TwrLdMod equal to 2, what other changes should I make on the FAST code?
I hope to have clarified it a bit, I also attach you the specific part of FAST’s platform file.

I am really greatful for your support.

Best Regards,
Chtistos Lathourakis

Dear Christos,

Actually, user-routine UserTwrLd() in FAST v7 is called once for each tower analysis node (JNode) at each time step. That is JNodes represents a tower analysis node, not the connection point between the tower and platform. The exact elevations of each tower analysis node in the undeflected tower are explained along with input TwrGagNd on page 69 of the old FAST v7 User’s Guide: nwtc.nrel.gov/system/files/FAST.pdf. The deflection of the tower at each node is determined by the combined motion of the platform and tower-bending degrees of freedom (DOFs).

When modeling a DS foundation in FAST v7, I would normally expect that you’d enable the tower-bending DOFs as well as PtfmSgDOF, PtfmSwDOF, PtfmRDOF, and PtfmPDOF as you’ve shown in the platform file you attached to your prior post.

I would not expect that it would be necessary to set nonzero platform or tower initial conditions, but you can always minimize start-up transients by setting the initial conditions consistent with their expected (mean) values based on the mean wind speed you are simulating.

Best regards,

Dear mr Jonkman,
once again thank you for the quick response and the clarifications. I had mistaken JNode as a stable point and that’s why I couldn’t understand the rest. I am really grateful for all your help.
I hope not to face further problems.

Best regards,
Christos Lathourakis

Dear mr Jonkman,
As I have described above, I am trying to simulate an 5MW OWT with distributed springs (OC3 Phase II). I recompiled FAST and also successfully ran it, but I have forgotten to enable the appropriate DOFs like you suggested me above to do (the strange thing is that I still got results pretty close to the ones of the OC3 Phase II paper, even with a rigid connection on the mudline).
However, when I tried to modify correctly the platform input file by enabling the 4 DOFs needed and re-run FAST, an error occurred. I attach you a screenshot of the error.
I would really appreciate some guidelines for solving it.
Thank you in advance for your help.

Best regards,
Christos Lathourakis

Dear Christos,

From the error message you’ve received, I would guess that your model has suffered a numerical instability due to the use of a time step that is too large. (Enabling the platform DOFs with distributed springs likely introduced higher natural frequencies in your structural model.) I suggest that you drop the time step and try running the simulation again.

Best regards,

Dear mr Jonkman,
once again thank you for your immediate response. I have just tried your suggestion. Particularly, my initial time step was 0.0125 and after your correction I dropped it at 0.00625 and even 0.003125, but the same error message appeared.

Best regards,
Christos Lathourakis

Dear Christos,

I can’t think of anything else that would trigger this error. Are your distributed springs so large that you need a minuscule time step? You’ve only enabled the PtfmSgDOF, PtfmSwDOF, PtfmRDOF, and PtfmPDOF DOFs in the platform, correct?

Best regards,

Dear mr Jonkman,
yes, I enabled only these four DOFs. The springs are quite similar to the ones used in your subroutine UserTwrLd (you have uploaded a file at some point). The one thing I can remember to be different, is the value of the stiffness exactly at the mudline (the head of the pile). In LPILE’s output, this particular stiffness was zero (whereas, in your subroutine, the value was non-zero). Could this detail be the cause of the problem?

Best regards,
Christos Lathourakis

Dear Christos,

I would think zeroing out a few springs would result in lower (not higher) natural frequencies.

I looked at my old FAST v7 model of the NREL 5-MW turbine atop a monopile with distributed springs foundation and noticed that the time step I used was quite small i.e. 0.00125 s. I suggest that you drop your time step a bit more and try running the simulation again.

Best regards,

Dear mr Jonkman,
firstly, thank you for your support, I really appreciate your help. Unfortunately even with a time step of 0.000125, the same error occured. In fact, in every single model I have run with enabled the 4 DOFs, this error appears at the exact same time (timestep 9 of 630 seconds) stating that there is a violation of the wind array boundaries. At first I tried to expand the grid through the TurbSim input files (I re-ran it to get new wnd files), but I faced the same error (just at a different time step).
Every little advice would be really appreciated.

Best wishes,
Christos Lathourakis

Dear Christos,

What does the time series of platform and tower motion look like before the simulation crashes?

Best regards,

Dear mr Jonkman,
I ran the simulation just for the first 8 seconds (to avoid crashing) and the displacements (and rotations) were really small at the beginning and kept increasing until the 8 seconds. I attach you a google drive link of the excel file with the results.

drive.google.com/file/d/17tRYOs … sp=sharing

Best regards,
Christos Lathourakis