Wind PDF
Wind PDF
Wind PDF
CALEB KREEGER
ME 59104
ABSTRACT
The airfoil I performed my analysis on was a Delft DU84-123V3. This airfoil belongs to the DU airfoil family, which
consists of a group of thick airfoils with a maximum relative thickness of 15 % to 40 % chord. These airfoils are
utilized worldwide by turbine manufacturers with rotor diameters ranging from 29 to 100 m. Research with thick
airfoils has been attempted before, by linearly scaling the coordinates from a NACA airfoil with a smaller thickness.
However, the NACA airfoil family suffers from a severe environmental degradation due to “premature transition”.
Therefore, researchers at Delft University set out to investigate the improved aerodynamic performance when
incorporating use of a think airfoil in a wind turbine.
2D AERODYNAMIC ANALYSIS
My first steps involved performing a 2d aerodynamic analysis in ANSYS fluent to estimate the aerodynamic
coefficients. These would be needed later to carry out calculations using the Blade Element method. As well as
calculating Cl,Cd, and Cm I was interested in observing the behavior of the pressure velocity, and vorticity around
the airfoil and used contours for visualization. First, I saved the airfoil coordinates as a text file using Excel, then
uploaded the coordinates to Ansys Design Modeler. After uploading and generating the airfoil, I began to sketch
my C-shaped control volume. A series of sketches were then made on the control volume with which face splits
were used. These face splits allow for volume separation, specifically around the stagnation point, which ensured
good results for my CFD analysis and made mesh sizing possible. The control volume is shown below in Figure 1,
but the airfoil is hard to see so it is circled in red. On the next page in Figure 2 is a zoomed in screenshot of the face
split surrounding the stagnation point of the airfoil.
The face splits made earlier allowed for the creation of a structured mesh, using a series of different mesh sizing
techniques in the mesh editor. To create my mesh, I used one simple face meshing with which I selected all 11
bodies in the workspace. I then used five sets of edge sizing with divisions to account for smooth mesh transition. I
believed that by using mesh sizing techniques, my results will come closer to convergence.
EDGE SIZING 1
# of Divisions 25
Bias None
# of Divisions 40
Bias None
The third edge sizing had 200 divisions, a bias factor of 35, and a default growth rate of 1.2
# of Divisions 200
Bias Factor 35
# of Divisions 25
Bias Factor 20
# of Divisions 40
Bias 50
Now that my mesh was created, I opened up Fluent and began my cfd analysis. For general options, I selected a
Density- Based type and Transient time simulation. The turbulence model I used was the k-epsilon model, which is
the most common turbulence model used and is good for modeling the atmospheric boundary layer. For materials,
I specified my fluid as air and gave it a constant density to make the simulation have incompressible flow. For
boundary conditions I first selected the velocity inlet and input a velocity magnitude and direction. The first
simulation done was at an angle of attack of 2 degrees. To account for the 2 degrees, I input sin(2) into the x-
component of flow direction, and cos(2) into the y-component of flow direction. To simulate the other 12 angles of
attack I would follow the same format and rotate the incoming flow rather than rotate the airfoil itself. After that, I
set up my pressure outlet boundary condition. The outlet flow should have the same conditions as the velocity
inlet, so I input the same x and y components of the flow direction. The next step in the solution method consisted
of setting up my reference values. I input the dimensions of the airfoil and set the velocity in the reference value
list. After that, I set up my report definitions to ensure I get my Cl, Cd and CM values at the conclusion of the
simulation. I then initialized the parameters using standard initialization, then ran my simulation. The results for 4
different angle of attacks are shown below, included are pressure, velocity and vorticity contours. Also shown are
the resulting lift, drag and moment coefficients.
RESULTS
VELOCITY CONTOURS
2 DEGREES 6 DEGREES
10 DEGREES 14 DEGREES
Figure 8- Fluid is decelerating on lower airfoil surface with increase in angle of attack
From the velocity contours we can see that the fluid is decelerating on the lower surface of the airfoil as the angle
of attack increases. At the same time, the fluid is traveling at a higher velocity on the upper portion of the airfoil
surface. From Bernoulli’s equation we can predict that the upper surface of the airfoil will endure a lower pressure
than the bottom surface of the airfoil. As a result, the bottom surface should push up on the upper surface
generating a lift force. This means, as the angle of attack increases, we should see an increase of the lift coefficient
in our results.
RESULTS
PRESSURE CONTOURS
2 DEGREES 6 DEGREES
10 DEGREES 14 DEGREES
Figure 9- As angle of attack increases, the pressure increases on airfoil lower surface
From the pressure contours, we can see that the pressure is increasing on the lower surface of the airfoil as the
angle of attack is increased. This behavior is what Bernoulli equation predicted, as the fluid velocity decelerates on
the lower surface, the pressure should increase. Due to the increase in pressure, we should see an increase in the.
lift coefficient as the angle of attack is increased.
STREAMLINES
2 DEGREES 6 DEGREES
10 DEGREES 14 DEGREES
2 DEGREES 4 DEGREES
8 DEGREES 10 DEGREES
As the angle of attack is increased there is a slight change in the vorticity contours. It seems as if the circulation in
the far field boundary conditions changes in shape. The vortex ring in the upper right of the fair field boundary
condition is reduced to nearly half of its diameter, as the angle of attack is changed from 8 to 10 degrees,
COEFFICIENT OF LIFT VS. ANGLE OF ATTACK
CL vs. AOA
1.5
0.5
0
-20 -15 -10 -5 0 5 10 15 20
-0.5
-1
-14 .412
-12 .465
-10 .504
-8 .497
-6 .478
-4 .341
-2 .20
2 .142
4 .345
6 .654
8 .756
10 1.13
12 1.23
14 1.33
CD vs. AOA
1.5
0.5
0
-20 -15 -10 -5 0 5 10 15 20
-0.5
-1
-14 .119
-12 .105
-10 .095
-8 .09
-6 .085
-4 .067
-2 .034
2 .038
4 .045
6 .057
8 .061
10 .081
12 .111
14 .124
-0.02
-0.03
-0.04
-0.05
-0.06
-0.07
-0.08
-0.09
-0.1
-14 -.065
-12 -.06
-10 -.077
-8 -.089
-6 -.091
-4 -.067
-2 -.075
2 -.087
4 -.077
6 -.068
8 -.052
10 -.048
12 -.055
14 -.034
Shown below is data taken from the airfoil tools database, which shows the value of 𝐶𝐿 , 𝐶𝐷 , 𝑎𝑛𝑑 𝐶𝑀 as the angle of
attack is varied. My 2d CFD results from ANSYS Fluent are pretty close in comparison for all three aerodynamic
coefficients.
Now that I performed my 2d aerodynamic analysis and obtained the essential aerodynamic coefficients necessary
for blade element analysis, I began to size and dimension the wind turbine blade. Our goal of using the blade
element method is to discretize our blade into 20-30 elements and use fluid mechanics to determine the power
output and thrust on each part of the blade. In theory, the flow is divided into independent stream tubes of width
dr. Aerodynamic analysis is then performed on each blade element is then found which helps determine the axial
and angular momentum changes of the air in the annular strip. Before calculating the lift and drag forces on each
blade element, the local angle of attack, flow velocity, twist angle and chord length all need to be determined. A
MATLAB code was written by the Professor which requires an input of angle of attack, turbine diameter,
aerodynamic coefficients, and tip speed ratio. The blade was broken up into twenty elements along 0 to R. The
value for Cl was 1.33, for CD 1.24, and for Cm -.034. The tip speed ratio used was 4 after finding maximum Cp.
I first varied the tip speed ratio and produce a 𝜆 vs. 𝐶𝑃 plot to decide which tip speed ratio will optimize the power
production out of our turbine blade. From the plot below we can see the maximum Cp occurs at a Tip speed ratio
of 4.
TSR vs. Cp
0.44
0.42
0.4
0.38
0.36
0.34
0.32
0.3
0 2 4 6 8 10 12
OUTPUT
INDUCTION CONVERGENCE
INDUCTION FACTORS
When performing the blade element analysis in MATLAB, the blade was broken into 21 elements. In Solidworks, I
then set up 21 reference places spaced out along the chord length of the blade. From the MATLAB code, I was able
to calculate the pitch angle for every element (r/R). Each plane represents a single element (r/R) in which our
airfoil coordinate is to be imported and rotated to the corresponding pitch angle. For example, the 21 st element is
on the 21st reference plane, which contains the airfoil imported and rotated to an orientation 21.29 degrees. Once
the model is lofted the blade has a twisted shape and then the hub is drawn.
Figure 20- Loft shown w/ 21 planes and uploaded airfoils with corresponding pitch angle
Figure 21- Completed loft and resulting blade Figure 22- Completed Assembly
3D CFD ANALYSIS
The next step in my analysis involved importing my 3D model into Ansys and creating the control volume for my
cfd simulation. I sketched a small cylinder surrounding the three blades, which will allow me later to perform mesh
sizing functions in the region of interest, which is around the blades. Following that, I sketched the second
enclosure which was a large rectangle and accounts for the far field boundary condition. After setting up my
control volume I performed two sets of Boolean subtraction to ensure accurate results.
Figure 23- Interior enclosure Figure 24- exterior enclosure control volume
MESHING
When attempting to upload my model into the mesh editor an error occurred. Due to the limited capacity of my
computer, I could only perform mesh operations on a model of 512,00 cells or less. To resolve this issue, I went
back into Design Modeler and suppressed two of the blades. I then went back into the mesh editor and continued
with creating the mesh. My mesh consisted of three sets of body sizing. One sizing was for the outer enclosure and
contained medium size 10 m elements. The second body sizing was for the inner enclosure and was to have
smaller sized elements at .5 m due to its close proximity to the area of interest, the stagnation point around the
blades. The third set of body sizing was for the blade itself and contains fine sized .15 m elements. Shown below is
the wireframe view of the resulting mesh.
BODY SIZING 1
In the general setup tab, I selected a density-based solver, Transient analysis, and Absolute velocity form. The
Turbulence Model used was a 2-equation k-epsilon RNG model. RNG is the renormalization group theory which
contains an additional term that enhances accuracy for swirling flows. The next step was to set up the cell zone
conditions for the blade and ambient incoming air. The fluid domain was set to rotate and translate rather than
blade, due to simplicity. The angular velocity used was 4.8 rad/s and the translation velocity used was 18 m/s, the
same speed as the incoming wind. The wind turbine blade was then set to stay still as the incoming air flow was
already set to rotate. After that, I set my boundary conditions for the velocity inlet and outlet using a wind speed
of 18 m/s. I then set the outside rectangular domain as wall-non slip to minimize its contribution to the boundary
layer.
RESULTS
𝑃 = 𝑇𝑜𝑟𝑞𝑢𝑒 ∗ 𝜔
Torque is in (N-m) and is extracted from Ansys Fluent Results 𝑇𝑜𝑟𝑞𝑢𝑒 = √𝑀𝑥2 + 𝑀𝑦2 + 𝑀𝑧2 =
Rotational Velocity is calculated from our known design values for Tip Speed ratio, Blade radius and wind speed.
𝜆
𝜔= 𝑈𝑤 ×
𝑅
4
=18×
15
𝑟𝑎𝑑
𝜔 = 4.8
𝑠
S 𝜆 is design tip speed ratio, at which maximum 𝐶𝑝 occurs. 𝑈𝑤 is incoming design wind speed and R is the radius.
Comparative Analysis
The Power initially assigned to me was 590 and my calculated power was 564.9 . My calculations are somewhat
close to the assigned Power but still off by a significant bit which warrants further revision to my modeling,
meshing, and solution method implemented during my CFD analysis. There are many ways to improve my
implementation of the cfd tools to increase the accuracy of my analysis. My control volume can be further
manipulated in Design Modeler to make different surfaces of the blade applicable for a various range of mesh
sizing techniques. Although due to the limited capacity of my computer and its inability to process meshes with
more than 512,000 elements, such mesh sizing techniques may only be useful to an extent. Although my results
could have been more accurate, I am satisfied with my results due to this being my first time using ANSYS. I am
grateful for being assigned this project as it has forced me to familiarize my self with this important software.
APPENDIX
clear all
close all
clc
clear all
close all
clc
%chord=0.20;%chord length of blade
alpha=14;;% Angle of attack
CL=1.5;
CD=0.04;
dia=4.;%diameter of the Wind Turbine
R=dia/2.0;
Lamda=4;
V0=(1-a);
V2=Lamdar*(1+b);%disk plane velocity
phi=180/pi*atan2(V0,V2);%flow angle
pitchangle=alpha+phi;
Cn=CD*sin(phi*pi/180)+CL*cos(phi*pi/180);
Ct=CL*sin(phi*pi/180)-CD*cos(phi*pi/180);
N=3;% # of blades, N=3
sigma=N*C./(2*pi*r1*R);% Solidity N
an=1./(1+4*sin(phi*pi/180).*sin(phi*pi/180)./(sigma.*Cn));
bn=(an.*Ct)./(Lamdar.*Cn);
Cn=CD*sin(phi*pi/180)+CL*cos(phi*pi/180);
Ct=CL*sin(phi*pi/180)-CD*cos(phi*pi/180);
N=3;% # of blades, N=3
sigma=N*C./(2*pi*r1*R);% Solidity N
an=1./(1+4*sin(phi*pi/180).*sin(phi*pi/180)./(sigma.*Cn));
bn=(an.*Ct)./(Lamdar.*Cn);
An(:,:,J1)=an;
Bn(:,:,J1)=bn;
Phi(:,:,J1)=phi;
end
%Monitor convergence
for k=1:1:Ncon
figure (1)
plot(r1, Phi(:,:,k),'-*b','LineWidth',2.0,'MarkerSize',12)
hold on
plot(r1, 90-Phi(:,:,k),'-*r','LineWidth',2.0,'MarkerSize',12)
grid on
title(['Pitch angle vs r/R'],'FontSize',30,'FontWeight','bold')
ylabel('pitch angle, ^o','FontSize',30,'FontWeight','bold')
xlabel('radial blade location, r/R','FontSize',30,'FontWeight','bold')
legend('pitch angle relative to rotation plane','pitch angle relative to incoming velocity
Uz','location','east')
end
for k=1:1:Ncon
figure (2)
plot(r1, An(:,:,k),'-*b','LineWidth',2.0,'MarkerSize',12)
hold on
plot(r1, Bn(:,:,k),'-*r','LineWidth',2.0,'MarkerSize',12)
grid on
title(['Induction Convergence vs r/R'],'FontSize',30,'FontWeight','bold')
ylabel('pitch angle, ^o','FontSize',30,'FontWeight','bold')
xlabel('radial blade location, r/R','FontSize',30,'FontWeight','bold')
legend('Induction upstream','Induction downstream','location','east')
end
%Power Coeff Cp
deltaLamdar=gradient(Lamdar)
Cpp=(8/Lamda^2)*bn.*(1-an).*Lamdar.^3.*deltaLamdar
Cp=sum(Cpp)
%Final output
out1=[r1' pitchangle' 90-pitchangle'];
figure (11)
plot(r1, pitchangle,'-*b','LineWidth',2.0,'MarkerSize',12)
hold on
plot(r1, 90-pitchangle,'-*r','LineWidth',2.0,'MarkerSize',12)
grid on
title(['Pitch angle vs r/R'],'FontSize',30,'FontWeight','bold')
ylabel('pitch angle, ^o','FontSize',30,'FontWeight','bold')
xlabel('radial blade location, r/R','FontSize',30,'FontWeight','bold')
legend('pitch angle relative to rotation plane','pitch angle relative to incoming velocity
Uz','location','east')
ax = gca;
set(ax,'FontSize',30,'FontWeight','bold')
figure (12)
plot(r1, an,'-*b','LineWidth',2.0,'MarkerSize',12)
hold on
plot(r1, bn,'-*r','LineWidth',2.0,'MarkerSize',12)
grid on
title(['Induction factors vs r/R'],'FontSize',30,'FontWeight','bold')
ylabel('Induction factors, ^o','FontSize',30,'FontWeight','bold')
xlabel('radial blade location, r/R','FontSize',30,'FontWeight','bold')
legend('induction factor upstream','induction factor downstream','location','east')
ax = gca;
set(ax,'FontSize',30,'FontWeight','bold')
REFERENCES
[1] Rooij, van Ruud. “Design of Airfoils for Wind Turbine Blades”. Delft University of Technology. 03 May, 2004
[2]