Hi all, I am in the process of calculating the fatigue range of a turbine tower. I have modelled the turbine and tower in FAST and post-processed the results using CRUNCH. Having applied Miner’s rule for estimating the fatigue range for 1e7 cycles using the RotThrust output, i obtained a value i was happy with, however upon validating the result by checking the fatigue range with the TwrBsMyt output, the two results did not compare. The same applied to the LSSTipMya output.
I have checked through my input file, carefully checking the inputted tower height. Does anybody have any other suggestions/experience of this problem?
Many thanks, Teddy Crockwell
I’m not sure what you mean. Are you saying that you calculated the damage-equivalent load (DEL) for the thrust, multiplied that value by the hub height, and compared it to the DEL of the tower base moment?
Did you use the same fatigue exponent for both measurements?
Do the statistics of the thrust and tower-base moment time series agree?
Did you add Twr2Shft + OverHang*sin(ShftTilt) to the tower height to compute the hub height?
If you answered yes to all those questions, then you should check your DEL calculation. If you have MatLab, you can use our MCrunch to compute the DEL for a comparison.
Here is another question to consider:
Are the tower DOFs enabled in the FAST model? If yes, the TwrBsMyt load will not exactly equal the thrust multiplied by the hub height. This is because the vibration of the tower will introduce inertia loads from the vibrating tower, nacelle, and rotor that will influence the TwrBsMyt load. That is, the tower, nacelle and rotor masses will oscillate due to the tower deflection, inducing loads in the tower, which FAST accounts for.
I hope that helps,
Thankyou both for your response. Yes, the calculated value of the DEL for the tower base moment was not equal to the DEL for the rotor thrust multiplied by hub height. The moment was significantly less (about 25%) of the expected value. I have checked the input files used, and the time series ect… I am unable to find the source of the error here. I have also checked my calcaultion for the DEL and this seems to be correct. So there must be a mistake I have overlooked, unles you could suggest anything else that may give the error experienced?
Many thanks , Teddy
Thankyou both for you replies to my question. Firstly, I would greatly appreciate it if you could send me a copy of your MCrunch programme that does not require a MatLab licence.
Secondly, after following the steps in your previuos response, the TwrBsMyt still does not equal LSSTipMys+RotThrust*[TowerHT-RBHt+Twr2Shft]. I have elimated the cosine of shaft tilt as it is at 0 degrees. I have switched off the DOFs as per your last response. However, having played with the input file some what,I noticed that the two signals are closest when I use a 0 value for the hub mass, nacelle mass, yaw bearing mass and the nacelle and shaft moments of inertia. In putting the actual values of these parameters makes the base moment far higher than the thrust*height ect… formula. I am positive that the other inputs are correct, I cannot fathom this aspect of the analysis. Once again, any help or suggestions would be hugely appreciated. Thanks, Teddy Crockwell
Good point. The equation I stated earlier–for a rigid tower and fixed yaw:
misses the contribution of the nacelle, hub, and blade masses. These masses also contribute to the tower-base bending moment [because they contribute to a moment (weight times distance) about the yt-axis]. The corrected equation is:
TwrBsMyt = LSSTipMys + RotThrustCOS(ShftTilt)( TowerHt - TwrRBHt + Twr2Shft ) + [ NacMassNacCMxn + RotMassOverHang*COS(ShftTilt) ]*Gravity
The rotor mass, RotMass, equals the sum of the hub and blade masses–the later of which depends on the distributed mass of each blade–and is given in the FAST summary (.fsm) file. Please note that the yaw bearing mass and nacelle, generator, and hub inertias should have no influence on TwrBsMyt when the tower is rigid and the yaw is fixed.
I’ll let Marshall respond about the MCrunch executable.
So for offshore wind turbines, the equation can be written as following:
TwrBsMyt = LSSTipMys + RotThrustCOS(ShftTilt)( TowerHt - TwrRBHt + Twr2Shft + TwrDraft) + [ NacMassNacCMxn + RotMassOverHang*COS(ShftTilt) ]*Gravity
And also, NacCMxn is a vector which for example in NREL 5MW is a positive number introducing a positive moment around yt and OverHang is negative introducing a negative moment around yt.
At last, I used this formula to check my simulation. There is a 6% deviation. Is this in right situation?
“Yes,” I agree with your addition of “+TwrDraft” in the equation for offshore wind turbines.
And “yes,” I agree that for the NREL 5-MW turbine the nacelle weight will create a positive moment about yt and the rotor weight will create a negative moment about yt.
This equation should be exact for a rigid tower and fixed yaw (as identified earlier) and no wave loading (for offshore). If you have a 6% deviation from this equation, I suspect one or more of these conditions is not met.
I have set all DoFs are false except CompAero. I set NacYawF 0 and no yaw control. I set water density 0 with still water wave model and no current. I still have deviation.
I used free body diagram to write this equation:
TwrBsMyt = RotThrust * |SIN(ShftTilt)| * OverHang * COS(ShftTilt)
+ RotThrust * COS(ShftTilt) * ( Hub Height + TwrDraft)
+ [ NacMass * NacCMxn + RotMass * OverHang * COS(ShftTilt) ] * Gravity/1000
I still have 6 to 7% deviation.
Since stress calculation is highly related to moment distribution, I wanna make it accurate enough. Hope you can help me about this, thank you!
After looking at this, I realized the equations I posted were incorrect. The equations missed the contributions of LSShftFzs and OverHang*SIN(ShftTilt) and incorrectly used RotMass. The correct relationship for a turbine with a rigid tower, fixed yaw, and no aerodynamic or hydrodynamic loads on the tower is:
TwrBsMyt = LSSTipMys + [ RotThrustCOS(ShftTilt) - LSShftFzsSIN(ShftTilt) ][ TowerHt - TwrRBHt + Twr2Shft + TwrDraft + OverHangSIN(ShftTilt) ] - [ RotThrustSIN(ShftTilt) + LSShftFzsCOS(ShftTilt) ][ OverHangCOS(ShftTilt) ] + ( NacMass*NacCMxn )*Gravity
I’ve ran a FAST simulation and confirmed that this equation is correct.
Sorry for the problems in my earlier posts.
Thanks very much!
Another question is where can I find those kinds of calculations about TwrBsMyt, LSSTipMysin etc in FAST? I try to know this program more detailed.
For information on the FAST theory basis, see the forum topic found here, especially my post from December 15, 2010: http://forums.nrel.gov/t/coupled-blade-modes-in-fast/314/1.
Thanks for the clarifications in previous posts, but I am still confused about a simulation result regarding Monopile_5MW.
I would like to check the tower bottom bending moment (TwrBsMyt) in different simulations.
In the simulation setup, all wind and wave load calculation are disabled. There is no control input or initial displacement for any DOF.
In the first run, all DOFs are disabled, and the system is seen as a fixed rigid body. As expected, the bending moment is constant near -1420 kNm.
In the second simulation, only the 1st order TwrFA DOF is enabled, and the moment is oscillating around -1420 kNm.
Curves are shown below.
The confusion is why the 2 results do not start from the same value.
I guess the oscillation comes from the imbalance of rotor and nacelle, so the flexible tower without tower top displacement does not contribute
any torque around tower bottom, but it seems there is extra load calculation when considering Tower DOF even though there is no tower bending.
Thank you for your continual help.
P.S. I just checked the FAST code, and I found the difference lies in the following section~
DO I = 1,NActvDOF ! Loop through all active (enabled) DOFs
MomX0Trb = MomX0Trb + PMomX0Trb (SrtPS(I), :)*QD2T(SrtPS(I))
ENDDO ! I - All active (enabled) DOFs
If deactivating all the DOFs, the above calculation will be skipped, but it will produce a value if the tower FA DOF is activated.
Still I don’t quite understand, since I suppose a vertical beam itself will not produce any bending moment.
When all DOFs are disabled, one simply gets how the applied loads (including gravity) are distributed throughout the turbine. When the tower (or any) DOF is (are) enabled, FAST will also include the inertia loads – that is, loads caused by nonzero acceleration of the structural members. These are the “additional” loads you see when you enable a DOF. The inertial loads will only be zero if the model is some sort of steady or quasi-steady equilibrium.
I have a question regarding RotThrust output from FAST.
In Table 35 of FAST User’s Guide on Page 114, RotThrust is the LSS thrust force. And I understand this parameter includes the aerodynamic thrust which is normal to the rotor plane and also the weight of hub and blades in the low-speed-shaft direction. As a matter of fact, if I only want to get the aerodynamic rotor thrust on rotor (which must be in the LSS direction), can I write the equation like this (3-blade rotor):
aerodynamic rotor thrust = RotThrust - (hub mass + 3* blade mass) * |sin(ShftTilt)| * g
where RotThrust is the one outputted from FAST.
Do you think my understanding is correct? And please also let me know if there is any other straight forward method to catch the aerodynamic thrust.
Yes, your understand is correct for the case of a rigid support structure (no platform or tower-bending DOFs enabled). I would state the equation as:
Aerodynamic Rotor Thrust = RotThrust + RotMassGravitySIN(ShftTilt),
where all variables are FAST variables:
RotThrust is a time-domain output from FAST (with appropropriate unit conversion kN → N.)
RotMass is output to the FAST summary (.fsm) file and equals [i]HubMass + NumBlBladeMass[/i]
*Gravity is an input to FAST
*ShftTilt is an input to FAST (positive for downwind turbines and negative for upwind turbines)
If the support structure is not rigid, than the equation is not so simple:
*ShftTilt would have to be augmented by the tower-top deflection
*RotThrust would also include inertia loads