Case study for Blade and tower in BModes

Dear all,
Theses days I simulated mode shape for blade and tower respectively using BModes. And I compared my results with OpenFAST’s default mode shape of blade and Tower ( adopted by Elastodyn in r-test folder). And I found something interesting. In the following, I will separately demonstrate results of blade and tower with different configurations (i.e. foundation condition, torsional/axial stiffness).

1. Blade mode shape + very large torsional/axial stiffness

input file:

--------- General parameters ---------------------------------------------------------------------
true      Echo        Echo input file contents to *.echo file if true.
1         beam_type   1: blade, 2: tower (-)
0.        romg:       rotor speed, automatically set to zero for tower modal analysis (rpm)
1.        romg_mult:  rotor speed muliplicative factor (-)
63      radius:     rotor tip radius measured along coned blade axis, OR tower height above ground level [onshore] or MSL [offshore](m)
1.5     hub_rad:    hub radius measured along coned blade axis OR tower rigid-base height (m)
-2.5        precone:    built-in precone angle, automatically set to zero for a tower (deg)
0.        bl_thp:     blade pitch setting, automatically set to zero for a tower (deg)
1         hub_conn:   hub-to-blade or tower-base boundary condition [1: cantilevered; 2: free-free; 3: only axial and torsion constraints] (-)
20        modepr:     number of modes to be printed (-)
t         TabDelim    (true: tab-delimited output tables; false: space-delimited tables)
f         mid_node_tw  (true: output twist at mid-node of elements; false: no mid-node outputs)

--------- Blade-tip or tower-top mass properties --------------------------------------------
0   tip_mass    blade-tip or tower-top mass (kg)
0      cm_loc      tip-mass c.m. offset from the tower axis measured along x-tower axis (m)
0       cm_axial    tip-mass c.m. offset tower tip measures axially along the z axis (m)
0            ixx_tip     blade lag mass moment of inertia about the tip-section x reference axis (kg-m^2)
0            iyy_tip     blade flap mass moment of inertia about the tip-section y reference axis (kg-m^2)
0            izz_tip     torsion mass moment of inertia about the tip-section z reference axis (kg-m^2)
0.                 ixy_tip     cross product of inertia about x and y reference axes(kg-m^2)
0            izx_tip     cross product of inertia about z and x reference axes(kg-m^2)
0.                 iyz_tip     cross product of inertia about y and z reference axes(kg-m^2)

--------- Distributed-property identifiers --------------------------------------------------------
1         id_mat:     material_type [1: isotropic; non-isotropic composites option not yet available]
'blade_secs_simpack.dat'   : sec_props_file   name of beam section properties file (-)

blade property file (which is identical to blade data in NRELOffshrBsline5MW_Blade.dat):

Tower section properties
26        n_secs:     number of tower sections at which properties are specified (-)

sec_loc	str_tw	tw_iner	mass_den	flp_iner	edge_iner	flp_stff	edge_stff	tor_stff	axial_stff	cg_offst	sc_offst	tc_offst
(-)	(deg)	(deg)	(kg/m)	(kg-m)	(kg-m)	(Nm^2)	(Nm^2)	(Nm^2)	(N)	(m)	(m)	(m)
0	0	0	7.15E+02	1.00E-10	1.00E-10	1.81E+10	1.81E+10	1.00E+20	1.00E+20	0	0	0
0.003252033	0	0	7.15E+02	1.00E-10	1.00E-10	1.81E+10	1.81E+10	1.00E+20	1.00E+20	0	0	0
0.035772358	0	0	7.80E+02	1.00E-10	1.00E-10	1.73E+10	1.97E+10	1.00E+20	1.00E+20	0	0	0
0.068292683	0	0	6.24E+02	1.00E-10	1.00E-10	1.05E+10	1.52E+10	1.00E+20	1.00E+20	0	0	0
0.100813008	0	0	4.47E+02	1.00E-10	1.00E-10	6.09E+09	9.37E+09	1.00E+20	1.00E+20	0	0	0
0.133349593	0	0	4.02E+02	1.00E-10	1.00E-10	4.82E+09	7.05E+09	1.00E+20	1.00E+20	0	0	0
0.165853659	0	0	4.49E+02	1.00E-10	1.00E-10	4.49E+09	7.37E+09	1.00E+20	1.00E+20	0	0	0
0.198373984	0	0	4.28E+02	1.00E-10	1.00E-10	3.13E+09	7.33E+09	1.00E+20	1.00E+20	0	0	0
0.230894309	0	0	3.72E+02	1.00E-10	1.00E-10	2.42E+09	5.19E+09	1.00E+20	1.00E+20	0	0	0
0.263414634	0	0	3.65E+02	1.00E-10	1.00E-10	2.14E+09	4.94E+09	1.00E+20	1.00E+20	0	0	0
0.328455285	0	0	3.48E+02	1.00E-10	1.00E-10	1.71E+09	4.37E+09	1.00E+20	1.00E+20	0	0	0
0.393495935	0	0	3.30E+02	1.00E-10	1.00E-10	1.26E+09	3.85E+09	1.00E+20	1.00E+20	0	0	0
0.458552846	0	0	3.02E+02	1.00E-10	1.00E-10	8.16E+08	3.20E+09	1.00E+20	1.00E+20	0	0	0
0.523577236	0	0	2.67E+02	1.00E-10	1.00E-10	5.04E+08	2.59E+09	1.00E+20	1.00E+20	0	0	0
0.588617886	0	0	2.32E+02	1.00E-10	1.00E-10	3.01E+08	1.84E+09	1.00E+20	1.00E+20	0	0	0
6.54E-01	0	0	1.89E+02	1.00E-10	1.00E-10	1.71E+08	1.33E+09	1.00E+20	1.00E+20	0	0	0
7.19E-01	0	0	1.63E+02	1.00E-10	1.00E-10	1.06E+08	1.02E+09	1.00E+20	1.00E+20	0	0	0
0.783756098	0	0	1.36E+02	1.00E-10	1.00E-10	7.59E+07	7.10E+08	1.00E+20	1.00E+20	0	0	0
0.848780488	0	0	1.04E+02	1.00E-10	1.00E-10	4.94E+07	4.55E+08	1.00E+20	1.00E+20	0	0	0
0.897560976	0	0	8.74E+01	1.00E-10	1.00E-10	3.47E+07	3.54E+08	1.00E+20	1.00E+20	0	0	0
0.930081301	0	0	7.24E+01	1.00E-10	1.00E-10	2.65E+07	2.81E+08	1.00E+20	1.00E+20	0	0	0
0.946357724	0	0	6.25E+01	1.00E-10	1.00E-10	1.96E+07	1.59E+08	1.00E+20	1.00E+20	0	0	0
0.962601626	0	0	5.53E+01	1.00E-10	1.00E-10	1.28E+07	1.19E+08	1.00E+20	1.00E+20	0	0	0
0.978861789	0	0	4.83E+01	1.00E-10	1.00E-10	7.54E+06	8.51E+07	1.00E+20	1.00E+20	0	0	0
0.995121951	0	0	1.21E+01	1.00E-10	1.00E-10	2.44E+05	6.61E+06	1.00E+20	1.00E+20	0	0	0
1	0	0	1.09E+01	1.00E-10	1.00E-10	1.73E+05	5.01E+06	1.00E+20	1.00E+20	0	0	0

As you can see, the blade has zeroed twist angle, very small flp_iner and edge_iner, very large tor_stff and axial_stff (as suggested by Jason, please see this post https://forums.nrel.gov/t/blade-mode-shapes-with-bmodes/1441?u=ran.tu ). So result will not contain any torsional mode shape. The fist three mode shapes are 1st flap-wise bending mode, 1st edge-wise bending mode, and 2nd flap-wise bending mode.
After fitting the mode coefficients, I plot the curve and compare it with default mode shape coefficients in NRELOffshrBsline5MW_Blade.dat:

I may come into it that:
when simulating blade mode shape in BModes, we can ignore flap/edge-wise inertia, and assign very large value to the torsional/axial stiffness. The results will be adequately accurate to be used in OpenFAST because OpenFAST do not use torsional mode shape.

2. tower + floating platform + different torsional/axial stiffness
input file:

--------- General parameters ---------------------------------------------------------------------
true      Echo        Echo input file contents to *.echo file if true.
2         beam_type   1: blade, 2: tower (-)
0.        romg:       rotor speed, automatically set to zero for tower modal analysis (rpm)
1.        romg_mult:  rotor speed muliplicative factor (-)
87.6      radius:     rotor tip radius measured along coned blade axis, OR tower height above ground level [onshore] or MSL [offshore](m)
0.0      hub_rad:    hub radius measured along coned blade axis OR tower rigid-base height (m)
0.        precone:    built-in precone angle, automatically set to zero for a tower (deg)
0.        bl_thp:     blade pitch setting, automatically set to zero for a tower (deg)
2         hub_conn:   hub-to-blade or tower-base boundary condition [1: cantilevered; 2: free-free; 3: only axial and torsion constraints] (-)
20        modepr:     number of modes to be printed (-)
t         TabDelim    (true: tab-delimited output tables; false: space-delimited tables)
f         mid_node_tw  (true: output twist at mid-node of elements; false: no mid-node outputs)

--------- Blade-tip or tower-top mass properties --------------------------------------------
3.500003109E+005   tip_mass    blade-tip or tower-top mass (kg)
-0.4137754432      cm_loc      tip-mass c.m. offset from the tower axis measured along x-tower axis (m)
1.9669893542       cm_axial    tip-mass c.m. offset tower tip measures axially along the z axis (m)
4.370E7            ixx_tip     blade lag mass moment of inertia about the tip-section x reference axis (kg-m^2)
2.353E7            iyy_tip     blade flap mass moment of inertia about the tip-section y reference axis (kg-m^2)
2.542E7            izz_tip     torsion mass moment of inertia about the tip-section z reference axis (kg-m^2)
0.                 ixy_tip     cross product of inertia about x and y reference axes(kg-m^2)
1.169E6            izx_tip     cross product of inertia about z and x reference axes(kg-m^2)
0.                 iyz_tip     cross product of inertia about y and z reference axes(kg-m^2)

--------- Distributed-property identifiers --------------------------------------------------------
1         id_mat:     material_type [1: isotropic; non-isotropic composites option not yet available]
'OC3Hywind_tower_secs.dat'   : sec_props_file   name of beam section properties file (-)

Property scaling factors..............................
1.0       sec_mass_mult:   mass density multiplier (-)
1.0       flp_iner_mult:   blade flap or tower f-a inertia multiplier (-)
1.0       lag_iner_mult:   blade lag or tower s-s inertia multiplier (-)
1.0       flp_stff_mult:   blade flap or tower f-a bending stiffness multiplier (-)
1.0       edge_stff_mult:  blade lag or tower s-s bending stiffness multiplier (-)
1.0       tor_stff_mult:   torsion stiffness multiplier (-)
1.0       axial_stff_mult: axial stiffness multiplier (-)
1.0       cg_offst_mult:   cg offset multiplier (-)
1.0       sc_offst_mult:   shear center multiplier (-)
1.0       tc_offst_mult:   tension center multiplier (-)

--------- Finite element discretization --------------------------------------------------
50        nselt:     no of blade or tower elements (-)
Distance of element boundary nodes from blade or flexible-tower root (normalized wrt blade or tower length), el_loc()
0.0000	0.0200	0.0400	0.0600	0.0800	0.1000	0.1200	0.1400	0.1600	0.1800	0.2000	0.2200	0.2400	0.2600	0.2800	0.3000	0.3200	0.3400	0.3600	0.3800	0.4000	0.4200	0.4400	0.4600	0.4800	0.5000	0.5200	0.5400	0.5600	0.5800	0.6000	0.6200	0.6400	0.6600	0.6800	0.7000	0.7200	0.7400	0.7600	0.7800	0.8000	0.8200	0.8400	0.8600	0.8800	0.9000	0.9200	0.9400	0.9600	0.9800	1.0000

--------- Properties of tower support subsystem (read only if beam_type is 2) ------------
1          tow_support: : aditional tower support [0: no additional support; 1: floating-platform or monopile with or without tension wires] (-)
-10.0        draft        : depth of tower base from the ground or the MSL (mean sea level) (m)
13.46    cm_pform     : distance of platform c.m. below the MSL (m)
134.73E5  mass_pform   : platform mass (kg)
Platform mass inertia 3X3 matrix (i_matrix_pform):
68.27E8   0.   0.
0.   68.27E8   0.
0.   0.   12.26E9
0.0        ref_msl    : distance of platform reference point below the MSL (m)
Platform-reference-point-referred hydrodynamic 6X6 matrix (hydro_M):
6.49E6	0.00000	0.00000	0.00000	-85.10E6	0.00000
0.00000	6.49E6	0.00000	85.10E6	0.00000	0.00000
0.00000	0.00000	14.70E6	0.00000	0.00000	0.00000
0.00000	85.10E6	0.00000	7.21E9	0.00000	0.00000
-85.10E6	0.00000	0.00000	0.00000	7.21E9	0.00000
0.00000	0.00000	0.00000	0.00000	0.00000	4.87E9
Platform-reference-point-referred hydrodynamic 6X6 stiffness matrix (hydro_K):
0.  0.  0.  0.  0.  0.
0.  0.  0.  0.  0.  0.
0.  0.  38.36E5  0.  0.  0.
0.  0.  0.  -37.76E7  0.  0.
0.  0.  0.  0.  -37.76E7  0.
0.  0.  0.  0.  0.  0.
Mooring-system 6X6 stiffness matrix (mooring_K):
    7.08E4        0.0      0.0          0.0   -1.08E5        0.0
        0.0    7.08E4       0.0    1.08E5          0.0         0.0
        0.0        0.0  1.91E4          0.0          0.0         0.0
        0.0  1.07E5      0.0  8.73E7	0.0	0.0	!JASON:311100000.0          0.0         0.0
 -1.07E5        0.0      0.0          0.0  8.73E7	0.0	!JASON:311100000.0         0.0
        0.0        0.0      0.0          0.0          0.0  1.17E8

Distributed (hydrodynamic) added-mass per unit length along a flexible portion of the tower length:
0           n_secs_m_distr: number of sections at which added mass per unit length is specified (-)
0.  0.    : z_distr_m [row array of size n_added_m_pts; section locations wrt the flexible tower base over which distributed mass is specified] (m)
0.  0.    : distr_m [row array of size n_added_m_pts; added distributed masses per unit length] (kg/m)

Distributed elastic stiffness per unit length along a flexible portion of the tower length:
0           n_secs_k_distr: number of points at which distributed stiffness per unit length is specified (-)
0	1	2	3	4	5	6	7	8	9	10	11	12	13	14	15	16	17	18	19	20	21	22	23	24	25	26	27	28	29	30	31	32	33	34	35	36  : z_distr_k [row array of size n_added_m_pts; section locations wrt the flexible tower base over which distributed stiffness is specified] (m)
595318000.0 	1165208000	1129400000	1095553000	1059931000	1024493000	989209000	953643000	918718000	883287000	847803000	812541000	777187000	741870000	706616000	671440000	636229000	600957000	565919000	530470000	495081000	459574000	385327000	305479000	280059000	254125000	227500000	200112000	171927000	143115000	114173000	80184000	52237000	35561000	20912000	9000000	1156000   : distr_k [row array of size n_added_m_pts; distributed stiffness per unit length] (N/m^2)

Tension wires data
0         n_attachments: no of wire-attachment locations on tower [0: no tension wires] (-)
3 3       n_wires:       no of wires attached at each location (must be 3 or higher) (-)
6 9       node_attach:   node numbers of attacments location (node number must be more than 1 and less than nselt+2) (-)
0.e0 0.e0 wire_stfness:  wire spring constant in each set (see users' manual) (N/m)
0. 0.     th_wire:       angle of tension wires (wrt the horizontal ground plane) at each attachment point (deg)

END of Main Input File Data *********************************************************************
*************************************************************************************************

tower property file (which is identical to tower in 5MW_OC4Semi_WSt_WavesWN) :

Tower section properties
11        n_secs:     number of tower sections at which properties are specified (-)

sec_loc  str_tw  tw_iner   mass_den  flp_iner  edge_iner  flp_stff   edge_stff   tor_stff   axial_stff  cg_offst  sc_offst tc_offst
(-)      (deg)    (deg)    (kg/m)     (kg-m)    (kg-m)     (Nm^2)     (Nm^2)      (Nm^2)       (N)        (m)       (m)      (m)
0.0      0.0     0.0       4667.00   24443.7   24443.7    603.903E9  603.903E9   464.718E9  115.302E9   0.0       0.0      0.0
0.1      0.0     0.0       4345.28   20952.2   20952.2    517.644E9  517.644E9   398.339E9  107.354E9   0.0       0.0      0.0
0.2      0.0     0.0       4034.76   17847.0   17847.0    440.925E9  440.925E9   339.303E9   99.682E9   0.0       0.0      0.0
0.3      0.0     0.0       3735.44   15098.5   15098.5    373.022E9  373.022E9   287.049E9   92.287E9   0.0       0.0      0.0
0.4      0.0     0.0       3447.32   12678.6   12678.6    313.236E9  313.236E9   241.043E9   85.169E9   0.0       0.0      0.0
0.5      0.0     0.0       3170.40   10560.1   10560.1    260.897E9  260.897E9   200.767E9   78.328E9   0.0       0.0      0.0
0.6      0.0     0.0       2904.69    8717.2    8717.2    215.365E9  215.365E9   165.729E9   71.763E9   0.0       0.0      0.0
0.7      0.0     0.0       2650.18    7124.9    7124.9    176.028E9  176.028E9   135.458E9   65.475E9   0.0       0.0      0.0
0.8      0.0     0.0       2406.88    5759.8    5759.8    142.301E9  142.301E9   109.504E9   59.464E9   0.0       0.0      0.0
0.9      0.0     0.0       2174.77    4599.3    4599.3    113.630E9  113.630E9    87.441E9   53.730E9   0.0       0.0      0.0
1.0      0.0     0.0       1953.87    3622.1    3622.1     89.488E9   89.488E9    68.863E9   48.272E9   0.0       0.0  

As we can see, there is a rotor-nacelle assembly atop the tower, and there is a floating platform supporting the tower. Tower height is 87.6 m, tower base is 10 m higher than mean sea level.
Here I set two cases. For case 1, the torsional/axial stiffness is normal, as you can see in above table. For case 2, the torsional/axial stiffness is 1E+20.
After simulation, in my understanding the first 6 mode shape are for platform motions. So we will need to find the tower mode shape from 7th mode shape. And case 1 will contain torsional mode shape, while case 2 has no torsional mode shape.

For case 1, I select Mode 8, 11, 7, 10 for 1st F-A, 2nd F-A, 1st S-S, 2nd S-S bending mode shape respectively. (Mode 9 is twist mode)

For case 2, I select Mode 8, 10, 7, 9 for 1st F-A, 2nd F-A, 1st S-S, 2nd S-S bending mode shape respectively.
After fitting the mode coefficients, I plot the curve and compare it with default tower mode shape in 5MW_OC4Semi_WSt_WavesWN:

I may also come into it that:
when simulating tower + floating platform mode shape in BModes, we can assign either normal value or very large value to the torsional/axial stiffness. The results will be adequately accurate to be used in OpenFAST as OpenFAST do not use torsional mode shape. But the advantage for using very large torsional/axial stiffness is that it is easy to distinguish the fist two flap-wise bending and first two edge-wise bending mode as no torsional coupling exits.

It should be noted that I do not ignore flap/edge-wise inertia here, but I am inclined to believe the inertia will not influence the results apparantly.

3. tower + fixed foundation + different torsional/axial stiffness
for input file, I change ‘hub_conn’ , ‘draft’, and cross-section property accoding to 5MW_Land_DLL_WTurb.

1         hub_conn:   hub-to-blade or tower-base boundary condition [1: cantilevered; 2: free-free; 3: only axial and torsion constraints] (-)
0.0        draft        : depth of tower base from the ground or the MSL (mean sea level) (m)

new tower property (which is identical to 5MW_Land_DLL_WTurb):

Tower section properties
11        n_secs:     number of tower sections at which properties are specified (-)

sec_loc	str_tw	tw_iner	mass_den	flp_iner	edge_iner	flp_stff	edge_stff	tor_stff	axial_stff	cg_offst	sc_offst	tc_offst
(-)	(deg)	(deg)	(kg/m)	(kg-m)	(kg-m)	(Nm^2)	(Nm^2)	(Nm^2)	(N)	(m)	(m)	(m)
0	0	0	5.591E+03	2.487E+04	2.487E+04	6.143E+11	6.143E+11	4.728E+11	1.381E+11	0 	0 	0
0.1	0	0	5.232E+03	2.165E+04	2.165E+04	5.348E+11	5.348E+11	4.116E+11	1.293E+11	0 	0 	0
0.2	0	0	4.886E+03	1.875E+04	1.875E+04	4.633E+11	4.633E+11	3.565E+11	1.207E+11	0 	0 	0
0.3	0	0	4.551E+03	1.616E+04	1.616E+04	3.991E+11	3.991E+11	3.071E+11	1.124E+11	0 	0 	0
0.4	0	0	4.228E+03	1.384E+04	1.384E+04	3.419E+11	3.419E+11	2.631E+11	1.045E+11	0 	0 	0
0.5	0	0	3.916E+03	1.178E+04	1.178E+04	2.910E+11	2.910E+11	2.239E+11	9.676E+10	0 	0 	0
0.6	0	0	3.617E+03	9.958E+03	9.958E+03	2.460E+11	2.460E+11	1.893E+11	8.936E+10	0 	0 	0
0.7	0	0	3.329E+03	8.357E+03	8.357E+03	2.065E+11	2.065E+11	1.589E+11	8.225E+10	0 	0 	0
0.8	0	0	3.053E+03	6.956E+03	6.956E+03	1.719E+11	1.719E+11	1.322E+11	7.543E+10	0 	0 	0
0.9	0	0	2.789E+03	5.739E+03	5.739E+03	1.418E+11	1.418E+11	1.091E+11	6.890E+10	0 	0 	0
1	0	0	2.536E+03	4.688E+03	4.688E+03	1.158E+11	1.158E+11	8.913E+10	6.266E+10	0 	0 	0

That said, there is still a rotor-nacelle assembly atop the tower as same as floating cases. But now the tower is cantilevered on the ground. Tower height is 87.6 m.

Here I also set two cases. For case 3, the torsional/axial stiffness is normal, as you can see in above table. For case 4, the torsional/axial stiffness is 1E+20.
For case 3, I select Mode 2, 5, 1, 4 for 1st F-A, 2nd F-A, 1st S-S, 2nd S-S bending mode shape respectively. (Mode 3 is twist mode)

For case 4, I select Mode 1, 4, 2, 3 for 1st F-A, 2nd F-A, 1st S-S, 2nd S-S bending mode shape respectively.

After fitting the mode coefficients, I plot the curve and compare it with OpenFAST’s default mode shape coefficients:

I may also come into it that:
when simulating tower + fixed foundation mode shape in BModes, we can assign either normal value or very large value to the torsional/axial stiffness. The mode shape results can agree with each other with few difference for 2nd F-A mode shape.

However, when compared to default tower mode shape in 5MW_Land_DLL_WTurb, the 2nd mode shapes are totally different. Could the developers check the tower mode shape coefficients in 5MW_Land_DLL_WTurb?

4. Conclusion

As Elastodyn in OpenFAST only needs bending mode, we can depress torsion mode shape when using BModes by assigning very large value to torsional/axial stiffness to keep identical to Elastodyn. It would also help us easily distinguish the first two flap-wise bending mode and the first two edge-wise bending.

Dear @Ran.Tu,

Thanks for sharing your findings. I agree with your results.

Regarding the difference you are seeing between the 2nd tower mode shapes you’ve derived from BModes and the ones used in the OpenFAST model for the land-based wind turbine, a similar question was asked and answered in the following forum topic: Ansys model tower.

Best regards,

Dear @Jason.Jonkman ,
From the shared forum topic, it seems that the discrepancy of 2nd tower mode shapes results from the flexibility of blade. As you originally derived the tower mode shape in ADAMS, and the flexible blade is modelled in ADAMS, while BModes only use the mass and moment inertia of rotor and nacelle assembly.

Regards,
Ran

1 Like