Waveseed and wave amplitude

Hi all,
Does anyone tried to simulate different sea state through changing the waveseed? I was doing the test example about 5MW semi-sub wind turbine. About the hydrodyn module, I tried to change the waveseed(1) , and the flag for WaveNDAmp is FALSE. I expect that the two sea state would have different time series, but the wave spectrum may be the same. I am confused about the definition about the waveseed and WaveNDAmp. As long as i change one of the waveseed(1) or waveseed(2), the sea state would change, so as the wave spectrum. I have checked Jonkman’s PhD thesis and Hydrodyn manual. They mentioned that these two seednumber aims to ensure the phase is uniformly distributed and amplitude is normally distributed. From the mannual, it says “Setting WaveNDAmp to FALSE means that the amplitude of the wave frequency spectrum always matches the target spectrum”
image
I have also tried to setting the WaveNDmap=True, and vary the waveseed(1), the wave spectrum are more similar compared to the previous one.
So it seems i have some misunderstanding about the flag for WaveNDmap

Best regards
Lulu

Dear @Lulu.Liu,

Setting WaveNDAmp = FALSE will eliminate the normally distributed amplitudes, meaning that the amplitude of the wave component at each frequency should match the target spectrum exactly. If you are not seeing that, my guess is you are resampling the wave elevation time series in some way or you spectra is calculated with some windowing or filtering applied. I would suggest outputting the data from HydroDyn at a rate of WaveDT and up to the full WaveTMax in simulation length and then post-process the spectra using a raw FFT (without windowing or filtering).

Best regards,

Hi Jason
Thank you for your quick reply and suggestion. I was wondering about different DT. For example, in the r-test example, DT = 0.0125, in the glue code. In the hydrodyn, WaveDT=0.2, RdtnDT=0.0125. So i guess we always choose the minimum DT for the .fst file. For every single simulation time step 0.0125 , hydrodyn return some data to FAST. It will interpolate (since WaveDT=0.2>0.0125) ? I originally retain the settings, which means the time step for output is DT=0.0125, and use pwelch rather than raw fft. When i output the data at a rate of WaveDT and up to the full WaveTMax, the wave spectrum for different “waveseed” number is not exactly the same, but much reasonable. A question arises to me that does it make sense to set the total run time > WaveTmax ?

To simplify my test, i also use the standalone Hydrodyn module to verify the randomness of wave elevation. As you suggested, I changed the setting so that time simulation step=WaveDT=RdtnDT=0.2 (because i am not sure i can change the time step for output in standalone hydrodyn) and I use raw fft. The result for different waveseed differs a lot. Could you provide some possible reasons about it?

Best regards
Lulu

Dear @Lulu.Liu

For example, in the r-test example, DT = 0.0125, in the glue code. In the hydrodyn, WaveDT=0.2, RdtnDT=0.0125. So i guess we always choose the minimum DT for the .fst file. For every single simulation time step 0.0125 , hydrodyn return some data to FAST. It will interpolate (since WaveDT=0.2>0.0125) ?

“Yes,” HydroDyn will interpolate the wave time series if the module-level time step (RdtnDT) is different from WaveDT.

A question arises to me that does it make sense to set the total run time > WaveTmax ?

You can run simulations longer than WaveTMax. The generate wave data is periodic with a period of WaveTMax, so, running longer simulations will cause HydroDyn to repeat the wave data after WaveTMax. This is useful, e.g., if your start-up transient is large and you want to avoid post-processing this data; if you want 3600 s of output, but you need a 400-s start-up transient, you can set TMax = 4000 s with WaveTMax = 3600 s.

The result for different waveseed differs a lot. Could you provide some possible reasons about it?

What “result” are you referring to?

Best regards,

Hi Jason
Thank you for your detailed explanation. I found a mistake in my code. Then I used the standalone Hydrodyn module to verify the randomness of wave elevation. I changed the default setting so that time simulation step=WaveDT=RdtnDT=output rate=0.2s and I use raw fft. The wave spectrum i obtained for different waveseed(1) are quite the same. Now i am a little confused about why in the glue code, the wave spectrum has some range excursions when i output data at the rate of WaveDT?


If i ouput them for each simulation time step DT, the wave spectrum becomes a smooth line. I agree that i should output the data at the rate of WaveDT to verify the randomness of different realization. But is it reasonable that the wave spectrum fluctuates?

Best regards
Lulu

Dear @Lulu.Liu,

I’m sorry, but I’m not sure I understand your question. You mentioned both outputting at a rate of WaveDT and DT; which is correct?

Best regards,

Hi Jason
Sorry that it is a bit confusing. The simulation time step for Fast is 0.0125s. When i output data at the rate of WaveDT=0.25s , the wave spectrum becomes like the figure above. But when i output them for every single time step 0.0125s, the wave spectrum becomes smooth like the figure below. I don’t understand how it happens. The data here refers to wave elevation.

Thanks for your patience and time.
Lulu

Dear @Lulu.Liu,

When WaveDT > DT and you are outputting at a rate of DT, then the wave-elevation signal will be interpolated. I’m not fully sure I know how this will influence the raw FFT.

One thing to keep in mind is that HydroDyn may internally increase WaveTMax by a small amount relative to what is specified in the input file to ensure the FFT is efficient (basically the number of time steps and frequency components must be a product of small prime numbers). So, if you only output data up to WaveTMax, you may miss some of the data.

Best regards,