BEMT method in AeroDyn module

Dear @Jason.Jonkman,

Hope you are doing well.
I have some questions regarding AeroDyn module.

  • In AeroDyn standalone version, AeroDyn does not perform aero-elastic calculations right ? Moreover, it does not take .bts file as an input ?

  • In AeroDyn module coupled with OpenFast, when setting WakeMod=1 and SkewMod=1, that means the user chooses to use the uncoupled BEMT. The term uncoupled means that no wake is included while computing aerodynamic loads. In all cases of SkewMod, BEMT performs aeroelastic calculations, right ?

  • In AeroDyn module coupled with OpenFast, it is recommended that the parameter IndToler equals 5e-5 when using OpenFast in single precision. This parameter is the tolerance for the convergence of the residual function, but there is no parameter for the tolerance of the inflow angle nor for the induction factors (axial induction factor, tangential induction factor). My question is what are the tolerances of the latter parameters ?

Dear @Riad.Elhamoud,

Here are my responses regarding the current version of the standalone driver for AeroDyn:

  • The AeroDyn driver assumed rigid-body kinematics with user-prescribed rigid-body motion (no aero-elastics).
  • The AeroDyn driver does support turbulent inflow when CompInflow is set to 1, in which case InflowWind is coupled to AeroDyn within the standalone AeroDyn driver.
  • The skewed-wake correction model (SkewMod) determines how skew between the inflow and rotor axis is accounted for within BEMT. The difference between “uncoupled” and “coupled” in relation to the skewed-wake correction model is documented in the following BEMT paper: https://www.nrel.gov/docs/fy15osti/63217.pdf.
  • The BEMT implementation in AeroDyn uses a nonlinear solve in terms of the inflow angle, but IndToler represents the tolerance of the nondimensional residual equation, with no physical association possible.

Best regards,

1 Like

Hello @Jason.Jonkman,

Hope you are doing well.

I wanna ask you about Cl_qs and Cd_qs (quasi-static lift and drag coefficients) AeroDyn_Nodes outputs. The aim of my work is to try to implement the simple BEMT. In fact, i run a simulation in openFAST v4 where the 5 MW onshore WT is subjected to steady 12 m/s mean wind speed where:

  • i disabled all degrees of freedom in ElastoDyn and set rotor_speed to 12.1 rpm and blade_pitch to 0 degrees.
  • i set to zero the precones and the shaft tilt to ensure that rotor plane is facing totally the wind.
  • I disabled all dynamics in AeroDyn also skew angle correction
  • in AeroDyn_blade.dat, i zeroed BlCrvAC and BlBlSwpAC
  • I set the power law exponent to zero to ignore the effect of the height of the mean wind speed
  • i disable servodyn

Here is a screen capture of my AeroDyn input file.

When i output Cl_qs and Cd_qs, i found that they are zero. Is it normal ? What is the mistake i have done ?

Thank you in advance.

Best Regards,

Riad

Dear @Riad.Elhamoud,

AeroDyn nodal outputs cl_qs and cd_qs are only available when OLAF is enabled.

That said, if you’ve disabled unsteady airfoil aerodynamics with UA_Mod = 0, AeroDyn nodal outputs Cl and Cd contain the quasi-static lift and drag anyway.

Best regards,

1 Like

Dear @Jason.Jonkman,

thank you for your response. I use the outouts Cl and Cd as you recommend. I implement BEMT in MATLAB using data structure called “struct” (simple version off OOP) which i found very efficient for this kind of problem always considering a rigid onshore wind turbine as i mentioned in the previous post. Regarding the root finding problem as suggested by Andrew Ning for solving for the inflow angle, i transform it into an optimization problem in such a way the root in Andrew ning’s paper is for me a minimum (global minimum). I used a global optmization algorithm called PSO which stands for Particle Swarm Optimization. I did this in order to get rid of the inital points required in the root finding problem and in the gradient-based optimization.
However, when i compare with OpenFAST, i find a discrepancy in the inflow angle for two points and where the discrepancy is 2 degrees. I thought at first that this discrepancy will not affect the lift and drag coefficients but later i foubd that both coefficients are very sensitive especially the lift coeffcient. Here a screen capture of the comparison that i made with OpenFAST.

What do you think ? Any comment is highly appreciated.

Thanks in advance.

Bst Regards,

Riad

Dear @Riad.Elhamoud,

I’m not sure. Are both solutions (yours and OpenFAST) valid within the user-specified tolerances?

Best regards,

1 Like

Dear @Jason.Jonkman,

Yes i have used the same tolerance for the residual equation. I took it 5e-5, the default value in AeroDyn.

Also, i wanna ask you: is there any possibility to output the values of the residual equation ?

Best Regards,

Riad

Dear @Riad.Elhamoud,

Outputting the tolerance would require a source code change.

That said, based on the lifting line outputs that are available (phi, AoA, Cl, Cd, Vrel, etc), you should be able to compute the residual and see if both are valid solutions within their respective tolerances.

Best regards,

1 Like

Dear @Jason.Jonkman,

I wanna tell you taht i succeed in validating my implementaion for the baic BEMT with AeroDyn/OpenFAST. The discrepancy in the lift coefficient was due to the fact that i was using the incorrect airfoil (One should refer to the order of the airfoils in AeroDyn inpt file and not the order in the Aerodata folder). Second, i realize that i can specify for the function fzero built in MATLAB the space where it should search for the root of the residual equation. So, i use it instead of PSO but unfortunately, i cannnot specify a tolerance for the residual equation and only a tolerance for the root could be specified (The default is eps , 2.2204e–16).

Thank you for your help,

Best Regards,

Riad

1 Like

Dear @Jason.Jonkman,

Now i am increasing the complexity of the BEMT implementation to account for shaft tilt, blade precone, blade prebend and blade sweep.

So, i wanna ask you about the coefficients:

  • cn and ct: normal and tangential coefficients. are they defined in the blade coordinate system ?
  • cx and cy: are they defined in the hub coordinate system ?
  • The resolution of the residual equation takes place in the blade coordinate system right? If so, the wind speeds should be transformed to the blade frame, do you agree ?

Thanks in advance,

Best Regards,

Riad

Dear @Riad.Elhamoud,

The coordinate systems used by AeroDyn (including options that are user-specified) are documented here: 4.2.2. Coordinate systems — OpenFAST v4.1.1 documentation.

Best regards,

1 Like