Tower (and blades) mode shapes BMODES vs. FAST

Hi everybody,
here I am again after a long silence :slight_smile: with a new question:

In my understanding, BMODES calculates and outputs modal shapes as adimensional plots of normalized displacement vs. normalized beam length. And every mode shape can be coupled, in the sense that it can contain both fore-aft and side-to-side components.

FAST, that I am approaching for the first time, does require for the same input polynomial coefficients, and moreover it requires that the polinomials be already categorized as “fore-aft” or “side-to-side”.

Is there a right way to go from BMODES output to FAST input? since the BMODES manual states that ultimately BMODES is a preprocessor for FAST, I am unsure if my interpretation is correct… I would have expected an optional polynomial coefficient output, or something similar.

Of course I can interpolate the data and calculate the polynomial coefficients myself, and try to decide if a given shape is fore-aft or side to side, but I wanted to be sure that this is expected from the user, that I am not missing some “piece” of software, or misinterpreting the manual.

Best regards and thanks a lot in advance!
Claudio Pedrazzi

Dear Claudio,

You are not missing a “piece” of software or “misinterpreting the manual.” BModes generates coupled modes, and FAST currently uses uncoupled modes (input as equivalent polynomial coefficients). We have plans to upgrade FAST to use coupled modes, but unfurtunately, we haven’t had time yet to add this feature. But when we get around to upgrading FAST we will enable it to directly read-in the output from BModes.

As it is now, you must identify the “prominent component” of each coupled mode generated by BModes and then pass a best fit polynomial throught that component (ignoring the other, less dominant, components of the mode). I use the MS Excel array function “LINEST” to calculate the best fit polynomial, but you could calculate it anyway you want.

I hope that helps.

Best regards,

Dear Jason,
thanks for the quick answer. It does help, in the sense that now I know I am going the right way. Actually, I planned to use MathCAD or EXCEL to find the polynomial coefficients.

Since, in my understanding, this forum is also to be used for posting suggestions, requests, wishes :slight_smile: for any Design Codes, I would like to add my suggestions for BModes:

  1. provide a way that the Nacelle Center of Mass could be Offset in any three directions from the tower top. X, Y and Z (now it is possible only with X).

  2. interface more directly to the FAST input. This of course could imply quite a bit of programming, but at the moment this is a significant “break” in the code chain (think what one has to do if he/she wishes to experiment with different thicknesses of a segment of the tower)

Best regards and thanks again

I would have a sequel :slight_smile: to the previous question, now specifically concerning FAST input. Sorry for bothering you, I appreciate very much your help.

I would like to confirm the statement, to be found in page 72 of the FAST user guide, that the polynomial coefficients should have sum = 1. The reason I ask is that I have a mode like this:

 -------- Mode No.   4  (freq = 0.10110E+02 Hz)					
span_loc	s-s disp	s-s slope	f-a disp	f-a slope	twist
0	0	0	0	0	0
0.0017	0	0	0	-0.000117	0
0.0019	0	0	0	-0.000142	0
0.0908	0	0	-0.003674	-0.075573	0
0.1798	0	0	-0.012481	-0.114779	0
0.2687	0	0	-0.022941	-0.11431	0
0.2689	0	0	-0.022962	-0.114302	0
0.2723	0	0	-0.023352	-0.114228	0
0.2725	0	0	-0.023374	-0.11422	0
0.3632	0	0	-0.032501	-0.085446	0
0.4542	0	0	-0.038758	-0.054295	0
0.5262	0	0	-0.042065	-0.039923	0
0.598	0	0	-0.044805	-0.038513	0
0.5982	0	0	-0.044812	-0.038515	0
0.6017	0	0	-0.044948	-0.038539	0
0.6019	0	0	-0.044955	-0.038541	0
0.6928	0	0	-0.048778	-0.043658	0
0.693	0	0	-0.048786	-0.043649	0
0.7838	0	0	-0.051631	-0.007355	0
0.8745	0	0	-0.046378	0.14377	0
0.9691	0	0	-0.018785	0.463748	0
0.9693	0	0	-0.018697	0.463878	0
0.971	0	0	-0.017908	0.463939	0
1	0	0	-0.004432	0.464512	0

As you can see, it has a negative value in x/L=1. Moreover, the value in x/L=1 is small, relative to the values in x/L = 0.8.

Of course I did the mathematical transformation (with MathCAD linfit function), and it works fine, but I am not satisfied because I see “wild” :slight_smile: polynomial coefficients, namely:

x^2 = 211.19
x^3 = -435.953
x^4 = 84.86
x^5 = 512.075
x^6 = -371.172

I am not particularly happy with such big numbers, even if the resulting polynomial behaves quite appropriately. It reaches around 17.3 around x/L = 0.8. Is this the intended normalization? I am unsure if the correct normalization wouldn’t be to have a maximum value of 1.0 (instead of final).

Thanks a lot
Best regards

Hi Claudio,

The approach you have taken to get the coefficients is correct. You could also try to use both the displacement and slope output from BModes in your curve-fitting routine to compute the polynomial coefficients, but I’m not sure if the curve fit would be much better.

FAST in its current form needs to have the polynomial coefficients sum to unity. The polynomial coefficients must sum to unity because the mode shapes are normalized by the tip displacement. This normalization scheme is not perfect, however, because there may be instances were the 2nd mode has zero tip displacement (through a suitable choice in tip mass). Luckily in your case, the tip displacement is not zero–it is just close to it.

When we upgrade FAST so that it uses coupled flap-lag-twist modes instead of uncoupled modes, we also plan to modify the mode shape normalization scheme to eliminate this potential problem.

Best regards,

thanks. You have completely answered my question.
Best regards and happy Christmas / New Year to you and all the NWTC team from Italy.


If I want to get the Polynomial parameters for the FAST blade input data, the BModes gives me 20 Modes. From each Mode, I get one set of prominent component so as to interpolate the polynomials. But so many modes. which can be taken as the input polynomial? The first several low frequencies?


Hi Yinping Yang,

Of course, you can choose any of the modes from BModes to use in the FAST model. However, the lowest frequency modes are likely the modes that are most important to the aero-elastic response of the wind turbine. So, typically one would use the lowest frequency modes.

Best regards,


I tried to calculate the mode Polynomials of Baseline_Blade.dat, which was used in Test11.fst of FAST Certest.

I used the BModes input file and changed some parameters as specified in Test11.fst.

[color=blue]20.0 rot_rpm
35.0 radius
1.75 hub_rad
0.0 precone
7.5 bl_thp

Other parameters are not changed. The data in blade_sec_props.dat are the same. So I ran the BModes to get 20 Modes for this input file. For the first four modes, I chose prominent component for each mode respectively ( the bigger displacement column compared to the other displacement) and interpolated these displacements to obtain the curve polynomials by using Excel.

Then I ran the Modes code, which was also provided by Nrel. Input parameters are like this:

[color=blue]20 Rotor angular velocity
7.5 Pitch angle for blades
35.0 Total beam length
1.75 Rigid beam length
0.0 End mass
5 Number of modes shapes
2 Order of first coefficient
21 Number of input stations
1 Factor to adjust mass
1 Factor to adjust out-of-plane stiffness
1 Factor to adjust in-plane stiffness
Properties are the same as example Test11.

Finally I have got all the results but they look seem different. The Modes results are closer to the input modes used in Test11.fst. The BModes result are different. Are the modes of Baselien_Blade coming from BModes? Or other Tools like Bladed?

[code]Results are like this:
Flap Mode 1(Mode 1)
f=1.2783 Hz

Edge Mode 1(Mode2)
f=1.8298 Hz

Flap Mode 2(Mode 3)
f=3.5875 Hz

Edge Mode 2(Mode 4)
f=6.0728 Hz

Out-of-Plane Shape 1
f=1.3715 Hz

In-Plane Mode Shape 1
f=1.919 Hz

Out-of-Plane Mode Shape 2
f=3.9947 Hz

In-Plane Mode Shape 2
f=6.4816 Hz

Flap Mode 1

Edge Mode 1

Flap Mode 2

Thanks in advance!

Best Regards

Hi Yinping Yang,

I calculated the polynomials in Baseline_Blade.dat for Test11.fst with Modes v2.22. The only differences between my model and yours, is that I used a rotor speed of 20.463 rpm and a pitch angle of 0.0 deg. I suspect you’ll get the same values I get when you make these two changes to your Modes model.

I developed the FAST model of the WindPACT 1.5-MW baseline wind turbine (Test11) before BModes was ever available. Even though BModes is now available–and is recommended to be used in place of Modes–I have not had a chance to update this FAST model with mode shapes from BModes. I plotted up the mode shapes using your results, however, and the Modes and BModes predictions are quite close. Please note that you must normalize the polynomial coefficients so that they sum to unity. For example, your flap mode 1 from BModes:


should actually be:


when normalized. Even though these coefficents are not identical to those predicted by Modes, the mode shapes, when plotted, are quite similar.

I hope that helps.

Best regards,


[color=blue]Thanks for your help! Your advice is really helpful to me, especially for a beginner. :slight_smile:

Does the Pitch angle influence the mode shapes ? If yes, should I use Pitch angle as specified in FAST primary input to calculate the Modes or just use 0 degree Pitch angle for all modes calculations ?

I normalize my flap mode 1 in such a way you mentioned before:
All the nodal displacements of the blade are divided by the tip displacement. Then I interpolate the normalized displacements by using Exel to get the polynomials, it looks a little different,maybe due to the interpolation method.


Is there another method to normalize the mode shape as you did using my flap mode 1 ?

If the plotted mode shapes are quite close, nearly identical, but the coefficents are different. Does that mean, both are correct? Using my normalized coefficents in FAST input file will have the same final results as the original mode coefficents you used in test11.fst ?

If I have the whole range (-180 degree to 180 degree) of AOA CL,CD,CM Tables, is it necessary to run AirfoilPrep to calculate our AeroDyn input data? The AeroDyn manual said that AirfoilPrep is not necessary if the whole range of aerodynamics data are available.

Maybe my silly questions are too many. I hope that does not annoy you.

Thanks again!

Best regards

Yinping Yang,

Mode shapes in real life change with operational parametes, such as rotor speed, pitch angle, and frequency of excitation. However, my experience has been that the accuracy of the mode shape (as long as they are close to correct) is not critical to the results of a loads analysis–the modal frequencies are far more important. So, we typically calculate the mode shapes only at one design point–typically the conditions at rated power. As wind turbines are getting larger and more flexible, the impact of the mode shapes will likely become more important.

I simply took your coefficients and scaled them so that they sum to unity. Again, as long as the mode shapes are close to correct and the system frequencies (and other inputs) are accurate, your simulation results should be good.

AirfoilPrep not only has a feature to extrapolate to the full range of AoA, but it also has features to (1) apply rotational augmentation (i.e., 3D corrections), (2) blend airfoil data (if needed), (3) calculate dynamic stall parameters, and (4) convert the airfoil data to AeroDyn format. So, AirfoilPrep is useful to use regardless of if the AoA range you have.

Best regards,


I´m conducting a study of the tower´s mode shapes. In FAST v8, the files “NRELOffshrBsline5MW_ (name of substructure) _ElastoDyn_Tower.dat” needs the polynomials’ coefficients of tower´s fore-aft (FA) and side-to-side (SS) mode shapes (first and second orders) as input. I have noticed that these polynomials start at the origin (0;0) point and with end at (1;1) point. For the OC3 Tripod structure see figures 1 and 2.

I also noticed that the OC4Jacket structure has modes shapes very similar to those in the figures.

Analyzing the figures it is clear that the deformation at the tower’s base is zero, so I deduce that the Tripod substructure is rigid (i.e not flexible) in this analysis. Am I right?

I ´m studying a tripod-shaped structure, similar to OC3 Tripod structure and I evaluated the mode shpapes in ANSYS software. When I placed the tower’s base, on top of my substructure, (the piles are fixed, simulating the connection to the seabed), I noticed that the tower base has a non-zero deformation in first and second order mode shapes (as in Figure 3 for example). Thus, it is impossible to obtain a polynomial like the OC3Tripod ones, since the graphics never begin at (0;0) point.

Do you know if FAST v8 requires the polynomial to start at point (0;0) (i.e, zero deformation at the base)?


Gabriel Maciel.

Dear Gabriel,

I have answered a similar question in my Apr 10, 2012 post in the following forum topic:

Best regards,


Thank you very much for your feddback.


Gabriel Maciel.

Dear Jason,

Regarding the Mode shape poly fitting procedure via corresponding excel file presented by NWTC I came up with a question. I have run the BModes and obtained the first 20 mode shapes of the OC4 jacket OWT. Now as you recommended, I want to identify the prominent components of the coupled mode shapes in order to put them into Y column in the input sheet of the ModeShapePolyFitting work sheet. In addition, the FAST ElastoDyn_tower input file needs the first and second FA and SS mode shapes polynomial coefficients which normally are the first 4 mode shapes generated by BModes. But the f-a displacements relative to first 4 mode shapes are larger than the s-s displacements for each particular mode shape.
Does it mean that the first 4 mode shapes are FA modes ?! If not, would you please help me what to do in order to obtain first and second FA and SS mode shapes.

Best regards,

My BModes’ output is attached here
26m - Copy.out.txt (61.4 KB)

Dear Arsalan,

I took a brief look at your results and it is surprising to me that the fore-aft displacement seems to dominate over the side-to-side displacement until mode 8. Normally I’d expect more closely aligned pairs of fore-aft and side-to-side modes of similar frequency. I would question the accuracy of the eigensolution. Are you running the same BModes model you shared in the following post: Have you checked the sensitivity of the eigensolution to tor_stff and axial_stff, which were set arbitrarily high? (Instead of using 5 orders of magnitude higher than flp_stff and edge_stff, perhaps try setting tor_stff and axial_stff 2-3 orders of magnitude higher.)

Best regards,

Dear Jason,

Yes I have run the model in the post you have mentioned but the apparent fixity length have been changed to 26 meter. Furthermore, I have decreased the order of tor_stff and axial_stff as you recommended but still f-a displacement dominate over the s-s displacement. I have attached my model coressponding files in the following.

Your sincerely,
out26.SD.sum.txt (2.49 KB)
26mBModesout.txt (61.4 KB)
tower_dist._prop…txt (3.47 KB)

Dear Arsalan,

OK, I’m able to reproduce your results.

I noticed that the KBBt and MBBt matrices written by SubDyn are quite different between these models. It sounds like you’ve changed the apparent fixity length, but can you clarify what you changed? Are you expecting such large differences in KBBt and MBBt?

When I run BModes with the original KBBt and MBBt matrices (i.e. the original hydro_K and hydro_M matrices from BModes.txt from, the BModes output is much clearer, where I would conclude the following:
Mode 1 - freq=0.309 Hz; 1st tower side-to-side
Mode 2 - freq=0.312 Hz; 1st tower fore-aft
Mode 6 - freq=2.278 Hz; 2nd tower side-to-side
Mode 7 - freq=2.729 Hz; 2nd tower fore-aft

I would conclude the same mode # identification from 26mBModesout.txt (with different frequencies), but I’m not sure why the side-to-side deflection does not exceed the fore-aft deflection in mode 1 in this case.

Best regards,