Thank you for all your help.
How do I set up OpenFAST to determine the wind loads (thrust forces) acting on the RNA?
I would like to reproduce the thrust force shown in Fig3-1(b) of this document: https://www.nrel.gov/docs/fy20osti/75698.pdf
I also want to find the thrust force when the wind speed is 50 m/s.
I have made a trial calculation and the thrust force I have obtained is about 1/5 of the value in this literature.
To simplify the problem, I am making the following assumptions
…I use the published model of the IEA 15MW wind turbine.
The .fst file is set to CompElast=0, CompInflow=1, CompAero=2, and 0 for the others.
ElastoDyn has FlapDOF1 to PtfmYDOF all set to False. I am checking the response when wind acts on the rigid body. Note that even if FlapDOF1 etc. are set to True, the blades will only oscillate, and the average value obtained is almost the same as when the settings are set to False.
BlPitch(1)~BlPitch(3) are changed according to the wind speed. In the calculation for a wind speed of 50 m/s, it is set to 90 degrees.
In the InflowFile, WindType=1 is used. The angle of incidence of the wind is 0 degrees.
AeroDyn15 uses public data as it is.
I thought that YawBrFxn was consistent with the thrust force.
Looking at the calculation results, I think the wind is hitting the blades, but not the nacelle.
Dear @Yosuke.Matsumoto,
Presumably you mean that you using CompElast
= 1 and you are running separation simulations at each mean wind speed? Are you setting the rotor speed correctly (along with the blade pitch angles) at each wind speed?
Note that if you don’t want to see the influence of structural flexibility, you can run the standalone AeroDyn driver, uncoupled from OpenFAST.
Typically a power curve is generated by running a series of OpenFAST simulations at a number of given, steady, and uniform wind speeds (WindType
= 1). Separate simulations are run at each wind speed and each simulation is run long enough to ensure that all transient behavior dies out (typically all relavent DOFs are kept enabled). Then recorded the steady-state output values from each simulation and plotted them as a curve (thus, only the steady-state response is shown).
Best regards,
Thanks for the reply.
As you mentioned, the following settings.
CompElast = 1.
Rotor speed was not entered in my previous post.
I have corrected the calculation but still no success.
I attach the conditions and results.
I believe the thrust force corresponding to the rated wind speed (10.59 m/s) is about 2800 kN. Looking at the results, with GenDOF =True it is about 3800 kN; with GenDOF =False it is about 2400 kN; with GenDOF =False it is about 2400 kN; with GenDOF =False it is about 2400 kN.
Question 1: Why does GenDOF =True result in a larger thrust force at the rated wind speed (10.59 m/s)? And why does GenDOF have little effect at very high wind speeds (57 m/s)?
Question 2: How do you set the wind load acting on the nacelle, which is about 400 kN smaller than 2800 kN? I imagine the difference is due to the presence or absence of wind loads acting on the nacelle.
Question 3: Are there any other settings that need to be changed?
Dear @Yosuke.Matsumoto,
Regarding (1), presumably, when you toggle on/off GenDOF
between cases 1/2, the rotor speed is changing, resulting in different rotor thrust. When GenDOF
= True in case 1, you must also enable the controller in ServoDyn to ensure that the rotor speed is regulated properly; have you done that?
For cases 3/4, the blade pitch is 90 degrees, which should result in minimal rotor thrust at zero rotor speed.
Regarding (2), I’m not sure I understand your question.
Regarding (3), when you pitch the blades to 90 degrees in high winds, you must also change the aerodynamic calculation (e.g., WakeMod
= 0, AFWeroMod
= 1), because the wake/induction and unsteady airfoil aerodynamics models are not applicable during parked/idling conditions.
Best regards,
Dear @Yosuke.Matsumoto,
NREL has not developed a universal document that lists the simulation recommendations for each load case, but the “Modeling Guidance” sections (or equivalent) of the user documentation for each OpenFAST module provides some guidance (4. User Documentation — OpenFAST v3.5.0 documentation), and this topic has been discussed several times on this forum.
The AeroDyn module of OpenFAST does not currently support direct modeling of wind loads on the hub and nacelle.
Best regards,
Thank you for your response.
I understand that the settings for each state have been discussed in previous forums and that hubs and nacelles cannot be considered in AeroDyn.
I would like to know of alternatives to account for wind loads acting on the hubs and nacelles. Because if we do not consider them, we will underestimate the loads acting on the tower and floating structure.
As an alternative, I have considered the following two methods. Are these alternatives feasible in OpenFAST? Also, if you have any other good ideas, please let me know.
- Consider a height, diameter, and drag coefficient at the top of the tower modeled in AeroDyn that corresponds to the wind-receiving area of the hub and nacelle.
- Consider a concentrated load equivalent to the wind load acting on the hub and nacelle.
Dear @Yosuke.Matsumoto,
I have not considered (1) before, but that sounds like an interesting work around.
We have applied (2) before, using the ability in the Structural Control (StC) submodel of ServoDyn to apply arbitrary point loads in the nacelle. That is, compute the aerodynamic load on the nacelle separately and apply this load to the OpenFAST model via the StC_DOF_MODE
= 4 (prescribed load time history) option of StC.
Please note that for situations with an operating rotor, that the direct wind loads on the hub and nacelle are likely much less than the loads on the rotor. And for parked/idling conditions, the direct wind loads on the hub and nacelle are likely much less than the loads on the tower. I agree that we need to add wind loading on the nacelle and hub to AeroDyn in the future, but in most cases, these loads are much less than wind loads on the rotor and tower.
Best regards,
Hello.
Thanks for all your help.
I have noticed a strange relationship between Rot Thrust and YawBrFxn.
Rot Thrust is larger and YawBrFxn is smaller. looking at TwrBsFxt, it is smaller than Rot Thrust. I had assumed that YawBrFxn would be slightly larger than Rot Thrust. The result is the opposite. Why does this happen?
This calculation is for an onshore wind turbine of about 3 MW. The wind turbine is left idling. The wind speed is 10 m/s.
The results of running the wind turbine are also included below. The results show that Rot Thrust and YawBrFxn are almost the same, but YawBrFxn is slightly smaller.
Dear @Yosuke.Matsumoto,
I would guess this is tied to the orientation of each axis (with RotThrust
aligned with the shaft, YawBrFxn
aligned with the nacelle, and TwrBsFxt
aligned with the tower base), as well as the contribution of gravity along this axis (the rotor for RotThrust
, the rotor + nacelle for YawBrFxn
, and the rotor + nacelle + tower for TwrBsFxt
).
Best regards,
Thanks for the reply.
I still do not understand the relationship between Rot Thrust and YawBrFxn.
If the relationship is YawBrFxn = Rot Thrust * cos(ShftTilt), then Rot Thrust and YawBrFxn should be almost the same value. Here, ShftTilt is -5 degrees. On the other hand, in the above figure, Rot Thrust averages about 16 kN and YawBrFxn averages about 1 kN. Why does this difference occur? If possible, I would like to know in equation.
The gravity contribution you wrote about was not clear to me.
I thought YawBrFxn is the horizontal component and is perpendicular to the vertical component due to gravity, so there is no effect of gravity.
Dear @Yosuke.Matsumoto,
Your equation for YawBrFxn misses terms, such as the impact of the oscillating nacelle inertia (mass times fore-aft acceleration) and nacelle weight projected along the xn axis (as the tower deflects, the nacelle will also tilt, meaning that there is a contribution to nacelle weight along the xn axis).
Best regards,
Thank you for all your help.
I have used “StC_DOF_MODE = 4” to apply a concentrated load to the nacelle, it works fine when only StC is applied.
On the other hand, when I combined StC with HydroDyn wave loading (Hs=13m, Ts=13s, irregular waves), the acceleration of the nacelle produced an abnormal response.
A figure is attached. Blue is the case without StC and orange is the case with StC.
This calculation is for a 15 MW class floating wind turbine. The floating body is modeled using potential theory (WAMIT).
1)SERVODYN
NumNStC=1
2)StC_NStC
StC_DOF_MODE=4
PrescribedForcesCoord=1
3)PrescribedForcesFile
Time, Fx, Fy, Fz, Mx, My, Mz
(s) (N) (N) (N) (N-m) (N-m) (N-m)
0.0 782000 0.0 0.0 0.0 0.0
Dear @Yosuke.Matsumoto,
I’m not sure. It may help me to see other response metrics such as rotor speed and blade-pitch, blade and tower deflections, and floater motions. Are you seeing similar differences in these response metrics?
Perhaps your model is not numerically converged. Is the solution sensitive to DT
or DT_UJac
or NumCrctn
?
Best regards,
Thank you for your response.
The calculation is for a windmill at a standstill.
The sectional forces on the tower are very large, as are the accelerations.
Surge and Pitch, which correspond to the direction of wave action, are little changed, but Sway and Roll, which are perpendicular to the wave, respond in the same way as acceleration. However, Sway and Roll have small values to begin with.
Only calculations with different DT_UJac were tested. NumCrctn is set to 1.
Question.
Is there an output indicator to determine the convergence of the calculation? I want to be sure that my calculations are converging correctly.
Dear @Yosuke.Matsumoto,
To assess convergence, I would suggest comparing the time-series response (or suitable statistical equivalent) across different solver settings. OpenFAST does currently output a direct convergence measure.
Best regards,