WISDEM: shear load trend along blade span not maximum at root

Hello everybody,

I am peeking at the code of WISDEM to try to implement blade load calculations in case of storm, and now I am dealing with the outputs of rotor_structure::RunFrame3DD, i.e., wt.rotorse.rs.frame.(F2, F3, M1, M2).

Below is the trend of F2 vs the blade span that I get with the data from the .csv file of a successful optimization made with the standard version of WISDEM (not the one I am modifying):


Now, in my understanding, F2 is mainly the shear force on each blade section, so I was expecting the graph to show the maximum at the blade root, but the F2 load peaks at ~30 m and then decreases towards the blade root.
I checked the code and found the line of RunFrame3DD that computes F2 commented as below (I am using WISDEM 3.10.1):

# shear and bending w.r.t. principal axes
        F2 = np.r_[-forces.Vz[iCase, 0], forces.Vz[iCase, 1::2]]  # TODO verify if this is correct
        F3 = np.r_[-forces.Nx[iCase, 0], forces.Nx[iCase, 1::2]]
        M1 = np.r_[-forces.Myy[iCase, 0], forces.Myy[iCase, 1::2]]
        M2 = np.r_[-forces.Mzz[iCase, 0], forces.Mzz[iCase, 1::2]]

So, can someone explain me whether there is a problem with RunFrame3DD outputs, or I was expecting the wrong trend?

Thank you for your time and attention,
Henny

Hello Henny,
Garrett and I did some digging. I don’t have a definitive answer, but some considerations that hopefully help.
First, we have not find any obvious bug in the code. Second, the loading is not from a storm load as you wrote. Rather, it’s coming from the WISDEM approximation of a gust where the rotor is hit at rated rpm and rated pitch by a three-sigma gust. The steady-state loads from CCBLade are then augmented with gravity (accounting for cone and tilt) and centrifugal loads. The aero loading from this big gust toward blade root are unusual (blade is stalling badly, angle of attack ramps up to 50/60 deg depending on the design) and the combination of these weird loads, twist, and gravity seems to cause that weird pattern in the shear force. Note that we don’t use that shear force anywhere in WISDEM…
I hope this helps,
Best regards,
Pietro

Hello Pietro,
Thanks to you and Garret for the digging.
I understand your point, and it’s important to know that no evident bug was found in the code.
Best regards,
Henny

Hello again,
I made some investigations on my own on this topic and now would like to share them with you with the hope to better clarify the cause of the F2 pattern.

Using the Px, Py, Pz load distributions output by WISDEM wt.rotorse.rs.tot_loads_gust, and using the twist angle distribution to make the coor. sys. conversion (as per Fig.26 in WISDEM documentation), I calculated the inplane and outplane loads on the blade.
Then I converted these loads from the blade coor. sys. to the principal-axes coor. sys. to calculate F2 (I call this result F2’ here). I used this conversion equation:

F2’ = Foutplane⋅cos(convAngle) - Finplane⋅sin(convAngle)

where convAngle = twistAngle + alphaAngle as found in rotor_structure.pyL434.
Finally, I split F2’ in two terms to separate the contribution of the outplane load from that of the inplane load:

F2’ = Foutplane⋅cos(convAngle) - Finplane⋅sin(convAngle) = F2’a - F2’b

The plot below shows the trends of the inplane and outplane loads, the F2’, F2’a, and F2’b calculated by me, the F2 calculated by WISDEM (F2 original), and the convAngle (conversion angle, ordinates on the right red vertical axis) . Of course, I have used for my F2’ calculation the same Px, Py, Pz used by WISDEM wt.rotorse.rs.frame to output F2 original, and also all the other variables needed for the loads conversions between coor. sys. are from the same WISDEM calculation.

I see that:

  • The trends of the inplane and outplane loads are smooth and show their absolute maximum values at the blade root
  • F2’ shows the same decreasing pattern as F2 for the blade span ≤ 25 m:
    • F2’ matches perfectly F2 original from the blade tip down to ~ 47 m of span, and there appear noticeable differences only for blade span ≤ 24 m ranging from 3% to ~6% with a max of 13.6% at span ~ 14 m
    • this decreasing pattern is present also in F2’a with the only difference of lower values

So the decreasing pattern of F2’ in going towards the blade root looks due mostly to the effect of the conversion of the load in the principal-axes coor. sys., that is to the contribution of cos(convAngle), since Foutplane trend is smooth, and F2’a is just equal to Foutplane⋅cos(convAngle). Therefore, also the decreasing pattern of F2 original may be due to the conversion of Px, Py, Pz in the principal-axes coor. sys. as required by Frame3DD.
Then, doing my calculations I realized that my numerical integration algorithm output a result vector one-element shorter than the input vector, so to require the repetition of the last result to have back the length of the input vector. Also Frame3DD called by WISDEM makes a numerical integration of Px, Py, Pz so this element repetition may explain why the two F2 values closest to the blade root are the same.

Finally, I have also a question: why F2’ trend does not match F2 original for span ≤ 24 m so well as for the rest of the blade span? Do I miss some factors in my conversion equation?