BModes mesh convergence problem

Hi!

I am currently doing a study for my Bachelor Thesis in Mechanical Engineering and my aim is to get the edgewise vibration modes out of BModes, as a standalone code (as the manual states).
Since the purpose is only to have an overview of the mode shapes and eigenfrequency values, I am using the standard blade parameters given with BModes v1.03.01

Problem #1:
My interest is in the first edgewise (lag_disp) mode, which I am checking by the displacement value on the last point. In order to have a proper number of elements, I decided to run a mesh convergence study. To do so, I developed a small python code, to provide me the el_loc() elements as the program requires, with a finer mesh on the beginning of the blade. And there I keep increasing the number of elements until the results are satisfactory. Problem is, as the number of elements are getting larger, the results don’t seem to converge at all.

Taking the 2nd eigenfrequency, which provides the larger lag_disp, I have:

As you see, until 100 elements, I was getting satisfactory results, with just 0,07% error on the eigenfrequency value. But after that, it started to get worse again, and I can’t seem to understand why. You may ask “why didn’t you stop at 0,07%, which can be already acceptable for a mesh convergence study?” and the thing is, with the 1st eigenfrequency, it looks like this:

So while the 1st asks for more elements to converge, the 2nd does something else.

I have tried once to “keep going”, but the simulation time can go up to 20hours, when taking something like 500 or 600 elements (without success in convergence), so maybe I am missing something else that can be simpler or more fundamental.

Problem #2:
I also encountered a message at the end with 150 elements, saying “Stack trace terminated abnormally, BModes terminated normally”. The results output look just like before, but the eigenfrequency values are off, so maybe it can be related to my issue. Someone had something similar with FAST (viewtopic.php?t=645&start=15), but they were taking Echo input files as True, which is not my case.

Here I place the input files I have used, with 150 elements, which is when I got the odd message at the end.

Thank you very much for reading!

blade_sec_props.dat

[code]Blade section properties
21 n_secs: number of blade 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.00000 11.100 11.100 1447.607 646.044 646.044 7681.46E+06 7681.46E+06 2655.23E+06 17152.7E+06 0.000 0.000 0.0
0.02105 11.100 11.100 180.333 80.480 80.480 1169.87E+06 1169.87E+06 408.80E+06 2640.8E+06 0.000 0.000 0.0
0.05263 11.100 11.100 181.672 68.241 80.113 1020.62E+06 1092.28E+06 343.81E+06 2611.3E+06 0.032 -0.005 0.0
0.10526 11.100 11.100 183.905 47.842 79.502 771.88E+06 962.97E+06 235.50E+06 2562.1E+06 0.086 -0.014 0.0
0.15789 11.100 11.100 186.138 27.444 78.892 523.14E+06 833.66E+06 127.19E+06 2512.9E+06 0.140 -0.023 0.0
0.21053 11.100 11.100 188.370 7.045 78.281 274.40E+06 704.35E+06 18.87E+06 2463.6E+06 0.194 -0.032 0.0
0.26316 9.500 9.500 178.321 5.963 68.302 234.57E+06 614.65E+06 16.80E+06 2332.8E+06 0.188 -0.020 0.0
0.31579 7.900 7.900 168.271 4.881 58.323 194.74E+06 524.96E+06 14.72E+06 2202.0E+06 0.182 -0.007 0.0
0.36842 6.300 6.300 158.222 3.799 48.344 154.90E+06 435.26E+06 12.64E+06 2071.2E+06 0.176 0.005 0.0
0.42105 4.700 4.700 148.172 2.717 38.366 115.07E+06 345.57E+06 10.56E+06 1940.4E+06 0.170 0.018 0.0
0.47368 3.100 3.100 138.123 1.635 28.387 75.23E+06 255.87E+06 8.48E+06 1809.6E+06 0.164 0.030 0.0
0.52632 2.600 2.600 122.896 1.367 24.050 62.49E+06 217.87E+06 7.12E+06 1605.3E+06 0.168 0.038 0.0
0.57895 2.100 2.100 107.669 1.099 19.714 49.75E+06 179.86E+06 5.76E+06 1401.1E+06 0.172 0.047 0.0
0.63158 1.600 1.600 92.442 0.831 15.377 37.01E+06 141.86E+06 4.40E+06 1196.8E+06 0.176 0.055 0.0
0.68421 1.100 1.100 77.215 0.564 11.041 24.27E+06 103.85E+06 3.04E+06 992.6E+06 0.179 0.063 0.0
0.73684 0.600 0.600 61.988 0.296 6.704 11.53E+06 65.85E+06 1.68E+06 788.3E+06 0.183 0.071 0.0
0.78947 0.480 0.480 51.861 0.240 5.513 9.27E+06 54.25E+06 1.38E+06 654.3E+06 0.190 0.077 0.0
0.84211 0.360 0.360 41.734 0.185 4.322 7.01E+06 42.66E+06 1.08E+06 520.4E+06 0.198 0.082 0.0
0.89474 0.240 0.240 31.607 0.130 3.130 4.75E+06 31.06E+06 0.78E+06 386.4E+06 0.205 0.087 0.0
0.94737 0.120 0.120 21.480 0.074 1.939 2.49E+06 19.47E+06 0.48E+06 252.4E+06 0.212 0.092 0.0
1.00000 0.000 0.000 11.353 0.019 0.747 0.23E+06 7.87E+06 0.18E+06 118.5E+06 0.220 0.098 0.0

**Note: If the above data represents TOWER properties, the following are overwritten:
str_tw is set to zero
tw_iner is set to zero
cg_offst is set to zero
sc_offst is set to zero
tc_offst is set to zero
edge_iner is set equal to flp_iner
edge_stff is set equal to flp_stff
[/code]

150el.bmi

[code]====================== BModes v1.03 Main Input File ==================
Sample non-uniform blade (output is space-delimited)

--------- General parameters ---------------------------------------------------------------------
False Echo Echo input file contents to *.echo file if true.
1 beam_type 1: blade, 2: tower (-)
0.0 romg: rotor speed, automatically set to zero for tower modal analysis (rpm)
1.0 romg_mult: rotor speed muliplicative factor (-)
35.0 radius: rotor tip radius measured along coned blade axis OR tower height (m)
1.75 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)
1 hub_conn: hub-to-blade connection [1: cantilevered; other options not yet available] (-)
5 modepr: number of modes to be printed (-)
f TabDelim (true: tab-delimited output tables; false: space-delimited tables)
t 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 blade axis measured along the tip section y reference 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_sec_props.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 --------------------------------------------------
150 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.0 0.0033 0.0067 0.01 0.0133 0.0167 0.02 0.0233 0.0267 0.03 0.0333 0.0367 0.04 0.0433 0.0467 0.05 0.0533 0.0567 0.06 0.0633 0.0667
0.07 0.0733 0.0767 0.08 0.0833 0.0867 0.09 0.0933 0.0967 0.1 0.1033 0.1067 0.11 0.1133 0.1167 0.12 0.1233 0.1267 0.13 0.1333 0.1367 0.14
0.1433 0.1467 0.15 0.3067 0.3133 0.32 0.3267 0.3333 0.34 0.3467 0.3533 0.36 0.3667 0.3733 0.38 0.3867 0.3933 0.4 0.4067 0.4133 0.42 0.4267
0.4333 0.44 0.4467 0.4533 0.46 0.4667 0.4733 0.48 0.4867 0.4933 0.5 0.5067 0.5133 0.52 0.5267 0.5333 0.54 0.5467 0.5533 0.56 0.5667 0.5733 0.58
0.5867 0.5933 0.6 0.6067 0.6133 0.62 0.6267 0.6333 0.64 0.6467 0.6533 0.66 0.6667 0.6733 0.68 0.6867 0.6933 0.7 0.7067 0.7133 0.72 0.7267 0.7333
0.74 0.7467 0.7533 0.76 0.7667 0.7733 0.78 0.7867 0.7933 0.8 0.8067 0.8133 0.82 0.8267 0.8333 0.84 0.8467 0.8533 0.86 0.8667 0.8733 0.88 0.8867
0.8933 0.9 0.9067 0.9133 0.92 0.9267 0.9333 0.94 0.9467 0.9533 0.96 0.9667 0.9733 0.98 0.9867 0.9933 1.0

--------- Properties of tension wires suporting the tower --------------------------------
0 n_attachments: no of wire-attachment locations on tower, maxm allowable is 2; 0: no tension-wire support (-)
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 tower axis at each attachment point (deg)[/code]

Dear Murilo,

My guess is you are having trouble with BModes v1.03.01 due to the poor eigensolver used by that software. Instead, I would use what is called BModesJJ that is discussed in this forum topic: http://forums.nrel.gov/t/run-bmodes-with-hydrodynamic-effect/690/1. Do you get better results using BModesJJ?

Best regards,

Dear Jason,

Thank you so much for your quick reply! And this JJ version of BModes seems to have solved the convergence issue. I can get it working now with as little as 40 elements for the example blade I am studying (and it also runs way faster as well)

Best regards!

Great! I’m glad that solved the problem.