mode shapes import to FAST

Dear Jason,

I need to import on FAST the tower mode shapes coefficients.I have to do a tower-model on matlab. In this matlab model do i need to consider the Top mass or I only need to import the modes without mass and then FAST code automatically consider the top mass?

Best regard!

Alessandro

Dear Alessandro,

The tower mode shape coefficients specified in FAST should reflect the proper boundary conditions of the tower e.g. fixed or compliant foundation/substructure and tower-top mass/inertia, as has been discussed many times on this forum.

Best regards,

Dear Jason,
Thank you for your answer!
Can you suggest me where to find the formula that is used on FAST to calculate the natural frequencies in FA and SS direction with the top mass having the mode shapes? I have found something on your thesis of FAST theory but i don’know if that formulas are still used in Fast v7!

Dear Alessandro,

Actually, FAST does not directly calculate the tower natural frequencies with the tower top mass/inertia.

Best regards,

Dear Jason,

Thank you!So how can i make a comparison between FAST natural frequencies ane my natural frequencies?linearizing the model?

Dear Alessandro,

Yes, for land-based turbines without SubDyn or BeamDyn, you can use the linearization functionality of FAST v8 to export the full-system state matrix (A), the eigenanalysis of which can be used to extract the full-system natural frequencies, as has been discussed several times on this forum. Linearization functionality has not yet been added to FAST v8 for offshore turbines; for these systems, you can derive the natural frequencies through white-noise excitation, as has been discussed several times on this forum.

Best regards,

Dear Jason,

I used white-noise excitation with 6 seeds and 2000 seconds of simulation for 3 Waveheights.

The Autospectrum-Density of the WaveElev is not what I expected from my settings. What am I doning wrong?

Attached the spectrum and my settings in Hydrodyn.

Best regards,
Simon

------- HydroDyn v2.03.* Input File --------------------------------------------
NREL 5.0 MW offshore baseline floating platform HydroDyn input properties for the OC3 Hywind.
False Echo - Echo the input file data (flag)
---------------------- ENVIRONMENTAL CONDITIONS --------------------------------
1025 WtrDens - Water density (kg/m^3)
320 WtrDpth - Water depth (meters)
0 MSL2SWL - Offset between still-water level and mean sea level (meters) [positive upward; unused when WaveMod = 6; must be zero if PotMod=1 or 2]
---------------------- WAVES ---------------------------------------------------
3 WaveMod - Incident wave kinematics model {0: none=still water, 1: regular (periodic), 1P#: regular with user-specified phase, 2: JONSWAP/Pierson-Moskowitz spectrum (irregular), 3: White noise spectrum (irregular), 4: user-defined spectrum from routine UserWaveSpctrm (irregular), 5: Externally generated wave-elevation time series, 6: Externally generated full wave-kinematics time series [option 6 is invalid for PotMod/=0]} (switch)
0 WaveStMod - Model for stretching incident wave kinematics to instantaneous free surface {0: none=no stretching, 1: vertical stretching, 2: extrapolation stretching, 3: Wheeler stretching} (switch) [unused when WaveMod=0 or when PotMod/=0]
3630 WaveTMax - Analysis time for incident wave calculations (sec) [unused when WaveMod=0; determines WaveDOmega=2Pi/WaveTMax in the IFFT]
0.25 WaveDT - Time step for incident wave calculations (sec) [unused when WaveMod=0; 0.1<=WaveDT<=1.0 recommended; determines WaveOmegaMax=Pi/WaveDT in the IFFT]
04 WaveHs - Significant wave height of incident waves (meters) [used only when WaveMod=1, 2, or 3]
10 WaveTp - Peak-spectral period of incident waves (sec) [used only when WaveMod=1 or 2]
“DEFAULT” WavePkShp - Peak-shape parameter of incident wave spectrum (-) or DEFAULT (string) [used only when WaveMod=2; use 1.0 for Pierson-Moskowitz]
0 WvLowCOff - Low cut-off frequency or lower frequency limit of the wave spectrum beyond which the wave spectrum is zeroed (rad/s) [unused when WaveMod=0, 1, or 6]
4 WvHiCOff - High cut-off frequency or upper frequency limit of the wave spectrum beyond which the wave spectrum is zeroed (rad/s) [unused when WaveMod=0, 1, or 6]
0 WaveDir - Incident wave propagation heading direction (degrees) [unused when WaveMod=0 or 6]
0 WaveDirMod - Directional spreading function {0: none, 1: COS2S} (-) [only used when WaveMod=2,3, or 4]
1 WaveDirSpread - Wave direction spreading coefficient ( > 0 ) (-) [only used when WaveMod=2,3, or 4 and WaveDirMod=1]
1 WaveNDir - Number of wave directions (-) [only used when WaveMod=2,3, or 4 and WaveDirMod=1; odd number only]
90 WaveDirRange - Range of wave directions (full range: WaveDir +/- 1/2*WaveDirRange) (degrees) [only used when WaveMod=2,3,or 4 and WaveDirMod=1]
-398059274 WaveSeed(1) - First random seed of incident waves [-2147483648 to 2147483647] (-) [unused when WaveMod=0, 5, or 6]
-1118874648 WaveSeed(2) - Second random seed of incident waves [-2147483648 to 2147483647] (-) [unused when WaveMod=0, 5, or 6]
False WaveNDAmp - Flag for normally distributed amplitudes (flag) [only used when WaveMod=2, 3, or 4]
“” WvKinFile - Root name of externally generated wave data file(s) (quoted string) [used only when WaveMod=5 or 6]
1 NWaveElev - Number of points where the incident wave elevations can be computed (-) [maximum of 9 output locations]
0 WaveElevxi - List of xi-coordinates for points where the incident wave elevations can be output (meters) [NWaveElev points, separated by commas or white space; usused if NWaveElev = 0]
0 WaveElevyi - List of yi-coordinates for points where the incident wave elevations can be output (meters) [NWaveElev points, separated by commas or white space; usused if NWaveElev = 0]
---------------------- 2ND-ORDER WAVES ----------------------------------------- [unused with WaveMod=0 or 6]
False WvDiffQTF - Full difference-frequency 2nd-order wave kinematics (flag)
False WvSumQTF - Full summation-frequency 2nd-order wave kinematics (flag)
0 WvLowCOffD - Low frequency cutoff used in the difference-frequencies (rad/s) [Only used with a difference-frequency method]
3.5 WvHiCOffD - High frequency cutoff used in the difference-frequencies (rad/s) [Only used with a difference-frequency method]
0.1 WvLowCOffS - Low frequency cutoff used in the summation-frequencies (rad/s) [Only used with a summation-frequency method]
3.5 WvHiCOffS - High frequency cutoff used in the summation-frequencies (rad/s) [Only used with a summation-frequency method]

Dear Simon,

Your PSD of the white noise signals up to 1 Hz make sense to me given your inputs. My guess is the bumps in the PSD at around 4 and 8 Hz are the result of how you’ve sampled the time series and computed the PSD.

Best regards,

Dear Jason,

I redone the ASD with Mcrunch to avoid errors.
The Spectrum seems to have the same problem.
Attached the newly generated spectrum and the Mcrunch settings
I hope you can help me with that.
Best regards,
Simon

----- Power Spectral Density -------------------------------------------------
true DoPSDs Generate power spectral densities?
2 NumPSDChans Number of PSD channels.
$PtfmHeave$ $Wave1Elev$ PSDChans List of PSD channels.
false RmvMean Remove the mean of the signal(s)?
true Detrend Remove linear trend of the signal(s)?
false CosTaper Add a cosine taper to the ends of the time series?
“hamming” WindowType Type of data window.
false IntPSDs Integrate the PSDs before plotting or writing them to a file?
false BinPSDs Bin the PSDs before plotting or writing them to a file?
0.1 BinWidth Width of the PSD bins.
false WrXLS Write the PSDs to an Excel file?
false WrTxt Write the PSDs to a text file?
1 NumPSDFigs Number of figures for the PSDs. Each figure will have one or more subplots.
FigureName #rows #columns Channel list (must number #rows*#columns) (NumPSDFigs rows of data follow)
“Wave1Elev” 1 1 $Wave1Elev$

Dear Simon,

My guess is the problem is that you’re sampling the wave elevation time series i.e. you are not outputting the time series at WaveDT = 0.25 s or you are truncating the full time series in some way. The DFT of the full wave time series (unsampled) is written to the HydroDyn summary file, which I doubt will have the bumps in the PSD at around 4 and 8 Hz.

Regardless, I’m not sure this is really a problem, is it? Normally when exciting with white noise, I would tend to ignore the response outside of the white noise frequency band. Moreover, the bumps in the PSD at around 4 and 8 Hz are orders of magnitude smaller than the level in the white noise frequency band.

Best regards,

Dear Jason,

you are right. In the hydroDyn summary file it looks like I expect.

I’m outputting the time series at a time step of DT_Out=0.05s. And I also exclude the first 500 of 2000s for transients. Why does this affect errors? Would I change WaveDT to 0.05s then? In other sensors I also have effects at 4 and 8 Hz but not in the same way. I thought that the reason for that is the wave excitation. But seeing the data in the Hydrodyn summary…
For the most sensors this is not a problem, yes. But I have the rotorspinning and want to evaluate RotTorq as well and this sensor has high frequencies.

best regards,

Simon

Dear Simon,

I’m not an expert on exactly what will happen, but I do know that resampling and truncating a time series will influence the PSD. I suggest playing around with the terms to see their influence.

Regardless, the response outside of the frequency range of the excitation should be much less critical than the response inside the frequency range of the excitation. If you are concerned about the high frequency response of RotTorq, I would suggest expanding your white noise excitation across the frequency range of interest.