Azimuth Angle of the Blade

Hi All,

I have been trying to understand where the azimuth angle references from. For example, I ran Test26.fst which its ElasoDyn has initial zero azimuth angle, but the AeroDyn output is 90 degree on blade 1 azimuth angle at initial.

I read the AeroDyn Theory Manual (from Dec. 2005), and found this…

But it seems to be something else.

Can someone verify on the AeroDyn v15.0 azimuth angle outputs , “BαAzimuth”, about where is its reference point?

Is it on the Y-axis or Z-Axis of the wind-turbine?

Thank you all.

Dear Daniel,

In FAST v8, the azimuth angle is defined differently between the ElastoDyn and AeroDyn v15 modules. I agree that the azimuth angle in AeroDyn v15 is not currently well documented.

In ElastoDyn, the azimuth angle is defined via input AzimB1Up, as documented in the old FAST User’s Guide: nwtc.nrel.gov/system/files/FAST.pdf.

In AeroDyn v15, the azimuth angle is defined based on how the rotor disk-averaged relative (wind minus structural) velocity (V_DiskAvg) projects onto the disk. That is, a local disk coordinate system is define such that x_disk is normal to the disk, y_disk/z_disk are in the disk, V_DiskAvg is in the x_disk/y_disk plane with positive V_DiskAvg along negative y_disk, and z_disk is normal to this plane; the azimuth angle is defined for positive rotations about x_disk from z_disk. See Figure 3 of our AIAA SciTech 2015 paper, which documents the development and validation of the new BEM and skewed-wake algorithm of AeroDyn v15, for a simple example: nrel.gov/docs/fy15osti/63217.pdf.

I hope that helps.

Best regards,

Dear Jason,

Thank you so much for the explanation. Please allow me to recap and summarize what you mentioned to see if I really understand it. Please correct me if I am wrong.

  1. ElasoDyn’s Blade 1 initial azimuth angle has nothing to do with AeroDyn v15 azimuth angle. So that even if I change the ElasoDyn initial azimuth angle, the AeroDyn v15 will still give me the same initial azimuth angle (90 degree). Therefore, users have no control on the initial position of blade in AeroDyn v15.

  2. In AeroDyn v15, the azimuth angle is the angle on Y-Z plane and it is positive as the rotation (about X) goes clockwise.

If the FAST output has 90 degree on Blade 1 at initial, the initial position of blade is like the red pen in the figure?

If I want to visualize all 3 blades as they rotate with each timestep, should I use azimuth angle from ElastoDyn or AeroDyn ?

Again, thank you for your help.

Dear Daniel,

I agree with 1 and 2. And yes, you’ve shown a 90 degree azimuth.

You can use the azimuth from ElastoDyn or Aerodyn, but I would think the ElastoDyn azimuth would be more useful. ElastoDyn will only tell you the azimuth of blade 1, so, have to add 120deg for blade 2 and 240deg for blade 3 (or 180deg for a 2-blader) to find the azimuth of the other blades. AeroDyn can output the azimuth of each blade independently, but the reference is defined relative to a V_DiskAvg as discussed above (which may vary over the simulation).

Best regards,

Dear Jason,

I just want to follow up on the azimuth from ElastoDyn.LSSTipPxa is the output name of the rotor azimuth angle position, as well as the azimuth of blade 1. According to your FAST v6 equations of motion, LSSTipPxa is defined as (in the FASTMotions file)

q_DrTr is position (in deg) of the drivetrain.
q_GeAz is generator azimuth.
MOD indicates modulo operation.

However, I do not understand what is AzimB1Up and how this term is computed. I have looked through the FASTKinematics file and could not this term. Can you help me out by explaining how the rotor azimuth is determined in ElastoDyn?

Please correct me if anything is wrong.

Happy new year and thank you.

Dear Daniel,

AzimB1Up is a parameter that the FAST user sets in the ElastoDyn input file, which defines the reference azimuth angle for when blade 1 points vertically upward for all azimuth-related inputs and outputs of ElastoDyn. For example, if you want blade 1 vertically upward to be zero degrees azimuth, set AzimB1Up to 0. If you want blade 1 vertically downward to be zero degrees azimuth, set AzimB1Up to 180.

Best regards,

Hi,
I have been reading through this thread and I don’t understand how to calculate this. Why do you add 120deg for blade 2, why 240deg for blade 3? Sorry if I am dumb but it’s been a long day and maybe this is something really simple.

Dear Kenneth,

The azimuth angle (rotor rotation) is defined relative to a specific blade. Because each blade of a 3-bladed rotor is 120-degrees apart, you must add 120 (or 240) to refer to the angle to the other blades.

Best regards,

Dear all,

Regarding Blade Azimuth angle in AeroDyn 15, there is something that confuses me. As I understood, when the blade_1 azimuth angle is zero degree the blade located at top and it is 180 degree when it passes the tower.

I ran Aerodyn 15 (stand-alone), and I plotted “Blade_1 azimuth angle” vs “time” and "x-component of undisturbed wind velocity at the Blade 1 tip ". I should expect to see the velocity goes down due to wind shear (which is 0.2) when the blade passes the tower ( and the azimuth angle should be 180 or -180). But the plot shows something different.

It seems that the Blade_1 azimuth angle is -90 degree when it passes the tower.

I should mention that I disabled “TwrShadow”, TwrAero, and TwrPotent.

Could you please let me know if my explanation is correct?

Thanks a lot.

Best regards,
Arash

Dear Arash,

Read the above posts again. In AeroDyn v15, the blade azimuth is not guaranteed to be defined such that it is zero degrees for a blade pointing upward; instead, the azimuth in AeroDyn v15 is defined relative to the inflow skew angle.

You haven’t mentioned anything about your turbine configuration or inflow condition. For the image pasted in the Sep 29, 2016 post above, if theta > 0 and gamma = 0, then x_disk would be defined along the shaft nominally downwind, y_disk would be defined in the rotor plane, nominally upward, and z_disk would be defined in the rotor plane nominally to the left when looking downwind. Then, the azimuth angle would be such that a blade pointing nominally upward has a 90-degree azimuth and a blade pointing nominally downward has a -90 degrees azimuth, which is what you are describing.

I hope that helps.

Best regards,

Dear Jason,

Thank you very much for your reply. Now I understand how it works.

Sorry if I missed any information of my turbine configuration. I ran a simple model with Aerodyn 15 with Precone =-3 and tilt = -6 and a uniform inflow condition (7 m/s) with no yaw.

Thanks again for the explanation and your time.

Best regards,
Arash

Dear Jason,

Thank you for the explanation and the pdf documents - I needed help with the AzimB1Up parameter specifications. I’m also working on the improvements for the research based on this article: Effect of Blade Pitch Angle on the Aerodynamic Characteristics of a Straight-bladed Vertical Axis Wind Turbine Based on Experiments and Simulations published in June 2018. And I also need to analyze this reference: A numerical study of blade thickness and camber effects on vertical axis wind turbines (by Danao, L.A.; Qin, N.; Howell, R.).

Best regards,
Renee Degutis

Dear All,
I have read the post listed above. But I am still confused. Does the V_DiskAvg means? Does it mean the relative inflow speed of the blade? But there are three blades.
Also, I have a question. To verify the initial condition of the three blades, I tried to output the Azimuth in ElasDyn and B1Azimuth、B2Azimuth、B3Azimuth in AreoDyn and I run FAST in Steady Wind 11.4m/s with wind shear.

My conditions are:
Initial pitch: 90°
Rotor Speed=0
Switch off all DOFs
ShftTilt = -5°
PreCone = -2.5°
Yaw = 0°

Then I change Azimuth in ElasDyn with 0°、90°、180°, and output the MomentY of three blades.
Figure1 is my results.

Because I used wind with wind shear, the upper blade will support bigger loads. So I guess the initial condition of the three blades is like Fig2.
Fig2.png

Is this correct? Please correct me if I am wrong.

Thank you!

Best regards!

Dear Dezheng,

V_DiskAvg in the discussion above refers to the rotor-disk averaged relative wind velocity. Basically, the structural velocity at every aerodynamic analysis node of every blade is subtracted from the ambient wind inflow at that node and spatially averaged across all nodes of all blades.

By setting the blade-pitch angle to 90 degrees, the aerodynamic loads are likely quite small and the blade-root moments are likely more loaded by gravity than aerodynamics. Presumably you’ve set AzimB1Up = 0 in ElastoDyn, then, the picture you show would be correct for Azimuth = 180 degrees (but not Azimuth = 0). The azimuth angles output from AeroDyn are relative to the axis of rotation about which the skew angle is defined, as discussed above. In your case, thew skew angle is driven by shaft tilt, so the axis of rotation is horizontal, which is why the Azimuth angle from AeroDyn for blade 1 is 90-degrees different from the azimuth angle output from ElastoDyn.

Best regards,

Dear Jason,

I am currently working on a project where I am modifying the AeroDyn source code to calculate aerodynamic tower loads resulting from the blade passing by. These loads are dependent on the azimuth angle. I just noticed that there is this difference between the rotor azimuth angle in ElastoDyn LSSTipPxa and the blade azimuth angle in AeroDyn BxAzimuth, that is discussed above.

I have specifically modified the ADTwr_CalcOutput subroutine, but my Fortran and general coding skills are only what I’ve been learning by doing so far in this project.

My question is whether there is a way to access the rotor azimuth angle from ElastoDyn (LSSTipPxa) within the AeroDyn subroutine so I can use it for my calculations? I am not sure about how the different modules access information stored in the various data types and what I need to do to pass that information from one module to another.

Alternatively, would you suggest simply subtracting 90° from the AeroDyn BxAzimuth, even if it is less precise?

Dear @Laura.Goetza,

OpenFAST makes use of data encapsulation such that AeroDyn cannot directly access data available within ElastoDyn unless you specifically define that data as a module-level output of ElastoDyn and input to AeroDyn. That is, modifications would be needed in the ElastoDyn and AeroDyn registry files (to define the input/output variables), in ElastoDyn (to set the output), in AeroDyn (to make use of the input), and in the OpenFAST glue code (to transfer the output from ElastoDyn as input to AeroDyn).

That said, AeroDyn has all of the information it needs to be able to calculate the azimuth angle of each blade relative to the tower because the orientation of the blade and tower elements are already outputs from ElastoDyn and inputs to AeroDyn (via the Orientation field of meshes expressed as 3x3 direction cosine matrices). So, I would recommend–instead of adding new output/input to ElastoDyn/AeroDyn–that you make use of these Orientation fields directly within AeroDyn to calculate the azimuth angle(s) you want.

Best regards,