Mode shapes and eigenfrequencies

Hi,

can someone tell me, how ElastoDyn is calculating the eigenfrequencies with the polynomial coefficients? I am asking to compare the results (eigenfrequencies) of b_modes with the eigenfrequencies in FAST. I did some FFT analysis and saw that the frequencies in FAST has deviations, especially the second eigenfrequencies.

best regards
Kemal

Dear Kemal,

When you refer to ElastoDyn-calculated eigenfrequencies, are you referring to the eigenanalysis results of a FAST linearization analysis or something else? If so, I would guess the differences between FAST / ElastoDyn and BModes are related to the boundary conditions applied. BModes considers only a single beam (tower or blade) with fixed or free boundary conditions at the base and free at the top of the beam (depending on the BModes inputs set). FAST / ElastoDyn include the full system coupling between the tower and blades (depending on which DOFs are enabled). From my experience, the structural blade flexibility has a much stronger influence on the second tower (and higher) bending modes than it has on the first tower bending modes.

Best regards,

Dear Jason,

thank you very much for your support. I do not mean linearization, I am talking about normal power production simulations. I used Bmodes to calculate the mode shapes of a tower. The eigenfrequencies are exact the same as i expected.

After that, I used “span_loc” and “s-s disp” as the x and y input in “modeshapeployfittings.xlsx”. The slope at the bottom was set to “0”. Finally i get the 5 coefficients for a equivalent mode shape (Normalized Projection Method). These values are implemented into the tower input in elastodyn (TwSSM1Sh(2), …TwSSM1Sh(6)).

My thinking is, that FAST/ElastoDyn is calculating with the modeshape an eigenfrequencie for the simulations. Is this correct?

[code]span_loc s-s disp s-s slope f-a disp f-a slope twist

0.0000 0.000000 0.000000 0.000000 0.000000 0.000000
0.0100 -0.000001 -0.000241 0.000000 0.000000 0.000003
0.0200 -0.000005 -0.000490 0.000000 0.000000 0.000006
0.0300 -0.000011 -0.000748 0.000000 0.000000 0.000009
0.0400 -0.000020 -0.001025 0.000000 0.000000 0.000012
0.0500 -0.000032 -0.001329 0.000000 0.000000 0.000016
0.0600 -0.000047 -0.001645 0.000000 0.000000 0.000020
0.0700 -0.000065 -0.001974 0.000000 0.000000 0.000024
0.0800 -0.000086 -0.002315 0.000000 0.000000 0.000028
0.0900 -0.000111 -0.002671 0.000000 0.000000 0.000033
0.1000 -0.000140 -0.003042 0.000000 0.000000 0.000038
0.1100 -0.000172 -0.003429 0.000000 0.000000 0.000043
0.1200 -0.000208 -0.003833 0.000000 0.000000 0.000048
0.1300 -0.000249 -0.004255 0.000000 0.000000 0.000054
0.1400 -0.000294 -0.004723 0.000000 0.000000 0.000060
0.1500 -0.000343 -0.005215 0.000000 0.000000 0.000067
0.1600 -0.000398 -0.005730 0.000000 0.000000 0.000074
0.1700 -0.000458 -0.006270 0.000000 0.000000 0.000081
0.1800 -0.000524 -0.006837 0.000000 0.000000 0.000089
0.1900 -0.000595 -0.007432 0.000000 0.000000 0.000098
0.2000 -0.000672 -0.008059 0.000000 0.000000 0.000107
0.2100 -0.000756 -0.008719 0.000000 0.000000 0.000117
0.2200 -0.000847 -0.009415 0.000000 0.000000 0.000127
0.2300 -0.000945 -0.010150 0.000000 0.000000 0.000138
0.2400 -0.001050 -0.010927 0.000000 0.000000 0.000150
0.2500 -0.001164 -0.011749 0.000000 0.000000 0.000163
0.2600 -0.001285 -0.012622 0.000000 0.000000 0.000177
0.2700 -0.001416 -0.013549 0.000000 0.000000 0.000192
0.2800 -0.001557 -0.014536 0.000000 0.000000 0.000207
0.2900 -0.001707 -0.015611 0.000000 0.000000 0.000225
0.3000 -0.001870 -0.016813 0.000000 0.000000 0.000245
0.3100 -0.002044 -0.018100 0.000000 0.000000 0.000267
0.3200 -0.002232 -0.019480 0.000000 0.000000 0.000290
0.3300 -0.002434 -0.020963 0.000000 0.000000 0.000316
0.3400 -0.002652 -0.022557 0.000000 0.000000 0.000344
0.3500 -0.002886 -0.024256 0.000000 0.000000 0.000375
0.3600 -0.003138 -0.026071 0.000000 0.000000 0.000408
0.3700 -0.003408 -0.028012 0.000000 0.000000 0.000444
0.3800 -0.003699 -0.030094 0.000000 0.000000 0.000483
0.3900 -0.004011 -0.032331 0.000000 0.000000 0.000525
0.4000 -0.004346 -0.034740 0.000000 0.000000 0.000572
0.4100 -0.004707 -0.037341 0.000000 0.000000 0.000623
0.4200 -0.005094 -0.040158 0.000000 0.000000 0.000680
0.4300 -0.005511 -0.043212 0.000000 0.000000 0.000742
0.4400 -0.005960 -0.046543 0.000000 0.000000 0.000811
0.4500 -0.006444 -0.050180 0.000000 0.000000 0.000888
0.4600 -0.006964 -0.053962 0.000000 0.000000 0.000970
0.4700 -0.007523 -0.057674 0.000000 0.000000 0.001051
0.4800 -0.008118 -0.061317 0.000000 0.000000 0.001132
0.4900 -0.008749 -0.064891 0.000000 0.000000 0.001214
0.5000 -0.009415 -0.068396 0.000000 0.000000 0.001295
0.5100 -0.010116 -0.071832 0.000000 0.000000 0.001377
0.5200 -0.010852 -0.075199 0.000000 0.000000 0.001458
0.5300 -0.011620 -0.078497 0.000000 0.000000 0.001540
0.5400 -0.012421 -0.081726 0.000000 0.000000 0.001621
0.5500 -0.013254 -0.084886 0.000000 0.000000 0.001702
0.5600 -0.014119 -0.087978 0.000000 0.000000 0.001784
0.5700 -0.015014 -0.091002 0.000000 0.000000 0.001865
0.5800 -0.015939 -0.093957 0.000000 0.000000 0.001947
0.5900 -0.016893 -0.096844 0.000000 0.000000 0.002028
0.6000 -0.017875 -0.099664 0.000000 0.000000 0.002109
0.6100 -0.018886 -0.102415 0.000000 0.000000 0.002191
0.6200 -0.019923 -0.105098 0.000000 0.000000 0.002272
0.6300 -0.020988 -0.107714 0.000000 0.000000 0.002354
0.6400 -0.022077 -0.110263 0.000000 0.000000 0.002435
0.6500 -0.023193 -0.112745 0.000000 0.000000 0.002516
0.6600 -0.024332 -0.115159 0.000000 0.000000 0.002598
0.6700 -0.025496 -0.117507 0.000000 0.000000 0.002679
0.6800 -0.026682 -0.119789 0.000000 0.000000 0.002761
0.6900 -0.027891 -0.122004 0.000000 0.000000 0.002842
0.7000 -0.029122 -0.124153 0.000000 0.000000 0.002923
0.7100 -0.030374 -0.126236 0.000000 0.000000 0.003005
0.7200 -0.031646 -0.128254 0.000000 0.000000 0.003086
0.7300 -0.032939 -0.130206 0.000000 0.000000 0.003168
0.7400 -0.034250 -0.132094 0.000000 0.000000 0.003249
0.7500 -0.035580 -0.133917 0.000000 0.000000 0.003330
0.7600 -0.036928 -0.135675 0.000000 0.000000 0.003412
0.7700 -0.038294 -0.137406 0.000000 0.000000 0.003495
0.7800 -0.039677 -0.139229 0.000000 0.000000 0.003586
0.7900 -0.041078 -0.140980 0.000000 0.000000 0.003677
0.8000 -0.042497 -0.142662 0.000000 0.000000 0.003768
0.8100 -0.043931 -0.144273 0.000000 0.000000 0.003859
0.8200 -0.045382 -0.145814 0.000000 0.000000 0.003950
0.8300 -0.046847 -0.147286 0.000000 0.000000 0.004041
0.8400 -0.048327 -0.148689 0.000000 0.000000 0.004132
0.8500 -0.049821 -0.150023 0.000000 0.000000 0.004223
0.8600 -0.051327 -0.151290 0.000000 0.000000 0.004314
0.8700 -0.052846 -0.152488 0.000000 0.000000 0.004404
0.8800 -0.054377 -0.153620 0.000000 0.000000 0.004495
0.8900 -0.055919 -0.154685 0.000000 0.000000 0.004586
0.9000 -0.057471 -0.155759 0.000000 0.000000 0.004684
0.9100 -0.059034 -0.156817 0.000000 0.000000 0.004787
0.9200 -0.060607 -0.157801 0.000000 0.000000 0.004890
0.9300 -0.062190 -0.158711 0.000000 0.000000 0.004994
0.9400 -0.063781 -0.159548 0.000000 0.000000 0.005097
0.9500 -0.065380 -0.160312 0.000000 0.000000 0.005200
0.9600 -0.066987 -0.161005 0.000000 0.000000 0.005303
0.9700 -0.068600 -0.161611 0.000000 0.000000 0.005403
0.9800 -0.070219 -0.162096 0.000000 0.000000 0.005494
0.9900 -0.071842 -0.162521 0.000000 0.000000 0.005585
1.0000 -0.073469 -0.162884 0.000000 0.000000 0.005676[/code]

Dear Kemal,

There is no eigenanalysis done within FAST/ElastoDyn. Instead, the mode shapes are used to form the generalized mass and stiffness matrices, from which the nonlinear equations of motion are formed and solved in the time domain. The linearization functionality allows the nonlinear equations of motion to be linearized about a given operating point, from which an eigenanalysis can be processed to determine the underlying full-system natural frequencies and mode shapes, but these are not used within FAST/ElastoDyn to solve the equations of motion.

Best regards,

Thank you Jason!

can you tell me how it works with the excitation of a load with the mode shape?

And for example I am doing a fft analysis and see, that a excitation frequency has a larger deviation compared to the output frequency of Bmodes. Does that mean, the polyfit shape input does not fit well? How can I proove or calculate the eigenfrequency of the poly shape?

Best regards

Kemal

Dear Kemal,

The external (applied) loads are applied to each analysis node of the structure in FAST/ElastoDyn (distributed across the blades and tower, which are represented by mode shapes) and integrated to form the generalized force vector, from which the nonlinear equations of motion are formed and solved in the time domain.

Excitation frequencies and eigenfrequencies are different things. Excitation frequencies from aerodynamics typically occur at multiples of the rotor speed (nP, where n = 0,1,2,3… and P is the rotor speed). Eigenfrequencies correspond to the system natural frequencies. You can derive these for a FAST model by performing a linearization analysis and post-processing the resulting state (A) matrix via eigenanalysis. If the natural frequencies differ between FAST and BModes, this is typically because of differences in the boundary conditions; for a tower, it is important to include the mass, center of mass, and inertia of the rotor-nacelle assembly in BModes. And if the tower is not cantilevered to the ground (e.g., because of an offshore support structure), it is important to capture that substructure boundary condition properly within BModes as well.

Best regards,

Ok thanks for your help Jason!

Best regards
Kemal

Dear Jason,

I have two questions about BModes calculating natural frequency of distributed spring (DS) model:

  1. Can all translation DOF (surge, sway and vertical) and yaw rotation DOF at the bottom of the monopile be set to false, while roll tilt rotation DOF and pitch tilt rotation DOF be set to true in file of Monopile.bmi? How to set if possible?
  2. If the s-s disp and f-a disp in file of Monopile.out are dimensionless displacements? If so, what is the parameter used for dimensionless?
    Thanks in advance.

Best regards,
Kevin

Dear @Kevin.Chang,

Regarding (1), this is not possible, at least through the input file (changes to the source code would be required). The valid options for hub_conn are: 1: cantilevered; 2: free-free; 3: only axial and torsion constraints.

Regarding (2), BModes uses mass normalization. See the following forum topic for more information: From BModes output to FAST (Blade file).

Best regards,

Dear Jason,

Firstly, where can I get the source code of Bmodes? Secondly, if I can use the non-dimensionless f-a disp and s-s disp to obtain the polynomial coefficients for mode shapes?

Best regards,
Kevin

Dear @Kevin.Chang,

Unfortunately, the source code used to compile BModes_JJ is not available and the developer no longer works at NREL.

Yes, you can fit the polynomial coefficients used to obtain the mode shapes for ElastoDyn from the nondimensional outputs of BModes.

Best regards,