Question about using TMD in nacelle

Dear All

I am using FAST 8 and encountered a problem with TMD in the nacelle. I was trying to use the nacelle TMD but there is always an error. So, I decided to do a very simple test by using the “test01.fst” provided by FAST 8 and enabling the use of nacelle TMD. I copied the file “NRELOffshrBsline5MW_ServoDyn_TMD.dat” to the folder “AWT27” where other files of “test01.fst” are placed. I set “CompNTMD” to be True in the file “Test01_ServoDyn.dat” and set “TMD_X_DOF” to be True in “NRELOffshrBsline5MW_ServoDyn_TMD.dat”. I think this is the way to enable the use of nacelle TMD in X direction. However, I got the following error when I try to run the Simulink.

If I disable the nacelle TMD and enable the tower TMD, it works! This is the part I am really confusing. Sincerely hope someone could tell me the reason.

Best

XING WEI

Dear Xing Wei,

Did you change the mass of the TMD in NRELOffshrBsline5MW_ServoDyn_TMD.dat? The TMD mass in that file is 35000 kg, whereas the total rotor-nacelle-assembly (RNA) mass of the AWT27 turbine is only 7216 kg. Normally a TMD mass is about 10% of the RNA mass. My guess is the unphysically large TMD mass is causing your model with TMD to go numerically unstable.

Best regards,

Dear Jason

You are correct! Sorry I did not realize this could be a problem.

Best

XING WEI

Dear Sir,
I am trying to simulate spar with TMD in nacelle. The CompNTMD in ‘NRELOffshrBsline5MW_OC3Hywind_ServoDyn’ file is set true and the file name is given (all other parameters kept unaltered). In ‘NRELOffshrBsline5MW_ServoDyn_TMD’ file, the following changes were made(all other kept unaltered):
TMD_Y_DOF = false
TMD_X_DWSP = 4
TMD_X_UWSP = -4
TMD_Y_PLSP = 4
TMD_Y_NLSP = -4
TMD_X_M = 10470
TMD_X_K = 86660
TMD_X_C = 4203

With above modifications, the TTDspFA and PtfmSurge remain unchanged with and without TMD.

Hence I tried to run the ‘NRELOffshrBsline5MW_ServoDyn_TMD’ file with its default value. Even then the response was unaltered.

  1. Can I know where am I making mistakes?
  2. Which among TMD_X_DWSP, TMD_X_UWSP, TMD_Y_PLSP, TMD_Y_NLSP sets the stroke limit?

Dear Akheel,

I don’t really see any problems with you TMD settings. Do you see any effect from any output channel when you enable the TMD? One obvious effect I would expect you’d see is the tower-top force should increase due to the extra mass in the nacelle.

The stroke limit (stop position) for X-based TMD is TMD_X_DWSP (downwind) and TMD_X_UPSP (upwind).

Best regards,

Dear Sir,
Can I know what exactly did you mean by effect from output channel?

Dear Akheel,

I meant do any of the OpenFAST outputs change when you enable the TMD? For example, given the nacelle TMD mass of 10470 kg, I would expect the tower-top vertical force (YawBrFzn) to increase by about 103 kN relative to the simulation without the TMD enabled. Do you see that? I would expect this extra mass would also impact the tower deflection, platform heave, etc. a bit.

Best regards,

Dear Sir,
I could not find any YawBrFzn in mu output file. Only YawBrFxt YawBrFyt YawBrFzt are there. How to get ‘YawBrFzn’ in output file?

I need more insight into following aspects

  1. How to enable TMD in both nacelle and tower If they have different properties like stop position, stiffness, mass etc…
  2. Can the matlab function ‘fft’ is sufficient to convert response time series to PSD
  3. How to validate my results under wind and wave loads (As I am not able to match my results with the paper I have been using

Dear Akheel,

“YawBrFxt, YawBrFyt, and YawBrFzt” are not valid outputs from the ElastoDyn module; check again. The complete list of available outputs from OpenFAST is documented here: openfast.readthedocs.io/en/mast … eters.xlsx. Simply add the outputs you want in the OutList section of each module.

Here are my answers to your questions:

  1. Setting both CompNTMD and CompTTMD to True will enable both a nacelle and tower TMD. Each TMD should have a corresponding TMD input file.
  2. An FFT is not the same as a PSD, although you can derive a PSD via FFT, e.g., as I provided in the MATLAB script Jason_PSD.m in the following forum topic: http://forums.nrel.gov/t/user-defined-spectrum-from-routine-userwavespctrm-in-hydrodyn/1988/7.
  3. I’m not really sure I know enough about what you are asking to comment.

Best regards,

Dear Sir,
This message is regarding Q3 of my previous message. What I meant was, I need to learn how to simulate the response of OC3 spar under wind and wave loads. With the input data in the paper (Yang e.al), I did not get the exact response as available in the paper. So Do I need to make changes to any other parameters other than the data provided in the paper (i.e. wind speed, turb intensity, wave height, wave period, reference coordinates is at COG of platform)

Dear Akheel,

I’m not familiar with the paper you refer to, and so, cannot comment on that.

Best regards,

Yes Sir, YawBrFzn has increased in magnitude. Without TMD this value is around -3450, with TMD it is around -3900 kN.

Dear Akheel,

OK, well at least you are seeing some effect of the TMD on your simulation results, so, you know it is being called correctly.

Best results,

Dear Sir,
Since you are not familiar with it, can you suggest some paper so as to compare the responses.

Dear Akheel,

I’m sorry, but I’m not sure I understand your question. What do you want to compare and for what purpose?

Best regards,

Dear Sir,
The problem I am facing currently is that the response under the action of wind and wave is not exactly matching. I have input only the basic data that are available from the paper. If you could suggest a paper which you are familiar with, You will be able to correct me. That is why I asked if you could suggest a paper.

Dear Akheel,

I still don’t really understand what you want to check. Are you concerned that your simulation results with a TMD are not correct because of a possible improper simulation set up? Are you asking specifically about the impact of a TMD on the OC3-Hywind system? I have not published any papers on that topic myself. Perhaps reach out to the authors of the papers you are referencing?

Best regards,

Dear Sir,
Q1. I have simulated a case with wave and wind loads acting on the structure. With the same loading condition another test was run with TMD(x) in the nacelle. But the response in fore-aft direction was not reduced and the response in surge was found to increase considerably, which was not expected. Could you suggest a possible reason for the above observations. I have attached my TMD input file:
------- TMD V1.02.* INPUT FILE ------------------------------------------------
Input file for tuned mass damper, module by William La Cava & Matt Lackner (UMass)
---------------------- TMD DEGREES OF FREEDOM ---------------------------------
1 TMD_DOF_MODE - DOF mode (switch) {0: No TMD DOF; 1: TMD_X_DOF and TMD_Y_DOF (two independent TMD DOFs) 2: TMD_XY_DOF (Omni-Directional TMD)}
true TMD_X_DOF - DOF on or off (flag) {Used only when TMD_DOF_MODE is 1}
false TMD_Y_DOF - DOF on or off (flag) {Used only when TMD_DOF_MODE is 1}
---------------------- TMD INITIAL CONDITIONS ---------------------------------
0 TMD_X_DSP - TMD_X initial displacement (m)
0 TMD_Y_DSP - TMD_Y initial displacement (m)
---------------------- TMD CONFIGURATION --------------------------------------
0 TMD_P_X - At rest position of TMDs (X) (m) [relative to the nacelle (NTMD) or tower base (TTMD)]
0 TMD_P_Y - At rest position of TMDs (Y) (m) [relative to the nacelle (NTMD) or tower base (TTMD)]
3 TMD_P_Z - At rest position of TMDs (Z) (m) [relative to the nacelle (NTMD) or tower base (TTMD)]
8 TMD_X_DWSP - DW stop position (maximum X mass displacement) (m)
-8 TMD_X_UWSP - UW stop position (minimum X mass displacement) (m)
0 TMD_Y_PLSP - Positive lateral stop position (maximum Y mass displacement) (m)
-0 TMD_Y_NLSP - Negative lateral stop position (minimum Y mass displacement) (m)
---------------------- TMD MASS, STIFFNESS, & DAMPING -------------------------
14000 TMD_X_M - TMD mass (kg)
0 TMD_Y_M - TMD mass (kg)
0 TMD_XY_M - TMDXY mass (kg)
125328 TMD_X_K - TMD stiffness (N/m)
0 TMD_Y_K - TMD stiffness (N/m)
10061 TMD_X_C - TMD damping (N/(m/s))
0 TMD_Y_C - TMD damping (N/(m/s))
5e5 TMD_X_KS - Stop spring stiffness of TMD_X (N/m)
0 TMD_Y_KS - Stop spring stiffness of TMD_Y (N/m)
5e5 TMD_X_CS - Stop spring damping (N/(m/s))
0 TMD_Y_CS - Stop spring damping (N/(m/s))
---------------------- TMD USER-DEFINED SPRING FORCES ------------------------
False Use_F_TBL - Use spring force from user-defined table (flag)
17 NKInpSt - Number of spring force input stations
---------------------- TMD SPRING FORCES TABLE -------------------------------
X F_X Y F_Y
(m) (N) (m) (N)
-6.0000000E+00 -4.8000000E+06 -6.0000000E+00 -4.8000000E+06
-5.0000000E+00 -2.4000000E+06 -5.0000000E+00 -2.4000000E+06
-4.5000000E+00 -1.2000000E+06 -4.5000000E+00 -1.2000000E+06
-4.0000000E+00 -6.0000000E+05 -4.0000000E+00 -6.0000000E+05
-3.5000000E+00 -3.0000000E+05 -3.5000000E+00 -3.0000000E+05
-3.0000000E+00 -1.5000000E+05 -3.0000000E+00 -1.5000000E+05
-2.5000000E+00 -1.0000000E+05 -2.5000000E+00 -1.0000000E+05
-2.0000000E+00 -6.5000000E+04 -2.0000000E+00 -6.5000000E+04
0.0000000E+00 0.0000000E+00 0.0000000E+00 0.0000000E+00
2.0000000E+00 6.5000000E+04 2.0000000E+00 6.5000000E+04
2.5000000E+00 1.0000000E+05 2.5000000E+00 1.0000000E+05
3.0000000E+00 1.5000000E+05 3.0000000E+00 1.5000000E+05
3.5000000E+00 3.0000000E+05 3.5000000E+00 3.0000000E+05
4.0000000E+00 6.0000000E+05 4.0000000E+00 6.0000000E+05
4.5000000E+00 1.2000000E+06 4.5000000E+00 1.2000000E+06
5.0000000E+00 2.4000000E+06 5.0000000E+00 2.4000000E+06
6.0000000E+00 4.8000000E+06 6.0000000E+00 4.8000000E+06
---------------------- TMD CONTROL --------------------------------------------
0 TMD_CMODE - Control mode (switch) {0:none; 1: Semi-Active Control Mode; 2: Active Control Mode}
1 TMD_SA_MODE - Semi-Active control mode {1: velocity-based ground hook control; 2: Inverse velocity-based ground hook control; 3: displacement-based ground hook control 4: Phase difference Algorithm with Friction Force 5: Phase difference Algorithm with Damping Force} (-)
0 TMD_X_C_HIGH - TMD X high damping for ground hook control
0 TMD_X_C_LOW - TMD X low damping for ground hook control
0 TMD_Y_C_HIGH - TMD Y high damping for ground hook control
0 TMD_Y_C_LOW - TMD Y low damping for ground hook control
0 TMD_X_C_BRAKE - TMD X high damping for braking the TMDX (Don’t use it now. should be zero)
0 TMD_Y_C_BRAKE - TMD Y high damping for braking the TMDX (Don’t use it now. should be zero)

Q2. Is it possible to account the presence of TMD in spar by increasing the mass and moment of inertia of the structure in HydroDyn. Similarly Can I incorporate additional stiffness to the system so as to account for the TMD?

Dear Akheel,

I’m not an expert at setting up the nacelle-TMD inputs to minimize the motion of the floating wind turbine. So, I can’t really readily comment regarding (1) without digging into it myself. Have you reviewed related papers and set up the inputs appropriately for the system you are simulating? I would suggest starting with a simpler system, e.g. a land-based wind turbine, where there is a clearly dominant tower fore-aft mode (first tower bending) to be damped.

A TMD involves including a mass-spring damper system tuned to the system natural frequency. There is no way in HydroDyn to specify such a mass-spring-damper system. That said, you can include a tower-based TMD in FAST / OpenFAST and place this TMD at the tower-base, which is quite close to the platform. NREL has also been working to introduce the ability to model TMDs and other structural control options in floating substructures in; this new functionality will be released in OpenFAST soon.

Best regards,