Professional Documents
Culture Documents
Thesis Openfoam 2d Airfoil
Thesis Openfoam 2d Airfoil
October 7, 2011
Department of Mechanical Engineering
Author: Teodor Kaloyanov
Supervisors: Jens Srensen and Robert Mikkelsen
Title: Investigation of 2D Airfoils equipped with a trailing edge flaps
Division: Wind Energy Division
Abstract
Wind power is the most developed industry from the renewable energies presently.
It has already established its place in the society and the market, thus it is pub-
licly accepted and widely spread all over the world. Therefore the optimization
and further development within the field is crucial for the economic fusibility of
the future wind power projects.
There are various aspects to be considered in order to optimize the overall impact
of a wind turbines. Beyond all question the most important are power production
and lifetime. In this project have been investigated an idea for a device which
will have a positive impact on those aspects. The project was inspired by the
work of Peter Bjrn Andersen and his Ph.D. thesis Advanced Load Alleviation
for Wind Turbines using Adaptive Trailing Edge Flaps: Sensoring and Control.
[1]. His research has shown that using a moving trailing edge flaps on an wind
turbine blades, similar to those on the airplane wings can significantly reduce
the aerodynamic loads and increase the life time of the turbine. The purpose of
this thesis is to research further on that mater and give better inside to this new
technique.
Contents
1 Introduction 1
2 Modeling 2
2.1 Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
2.2 OpenFOAM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
2.3 Model Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
2.4 Mesh . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
2.4.1 Mesh selection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
2.4.2 Mesh generation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
2.5 Boundary conditions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
2.6 Solution . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
2.6.1 Finite Volume Schemes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
2.6.2 Finite Volume Solutions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
2.6.3 Solvers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
2.6.4 Turbulence Model K-Omega SST . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
2.6.5 Time control . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
2.7 Simulations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
2.7.1 NACA0012 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
2.7.2 NACA64318 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
3 Experiment 27
3.1 Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
3.2 Experimental setup . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
3.3 Main components . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
3.3.1 Airfoil . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
3.3.2 Linear Motor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
3.3.3 Rotational Motor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
3.3.4 DAQ unit and LabVIEW . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
3.3.5 Pressure transducer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
3.4 Major Challenges . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
3.4.1 Data acquisition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
3.4.2 Setup . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
3.5 Uncertainty Assessment . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
3.6 Test Cases and Results . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
4 Summary 38
A Turbulence Models 40
B Meshing 41
C OpenFOAM 51
D Experiment 54
i
List of Figures
ii
LIST OF FIGURES iii
3.6 Voltage generator control panel LabV IEW.vi (left), LabV IEW.vi for monitoring the con-
trol signals (right) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
3.7 Pressure telemetry setup, [21] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
3.8 Pressure monitoring LabV IEW panel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
3.9 Location of the pressure tab on the surface of the NACA63418 airfoil . . . . . . . . . . . . 34
3.10 Pressure coefficient distribution on the airfoil surfaces for each pressure tab, Re = 3.1888e5 35
3.11 Pressure coefficient distribution comparison, Re = 3.1888e5, experiment flap position V =
2.0, OpenF OAM flap position 0[deg] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36
3.12 Pressure coefficient distribution comparison corrected, Re = 3.1888e5, experiment flap
position V = 2.0, OpenF OAM flap position 0[deg] . . . . . . . . . . . . . . . . . . . . . . 37
3.13 Force coefficients comparison Experiment and OpenF OAM results . . . . . . . . . . . . 37
Vectors will be given in bold font, for example: U - Velocity vector. Dimensions are given in square
brackets [] and [] implies non-dimensionality. Some large or small numbers given will be given as using
exponential part, and are considered multiplied by 10 to the power of the value, e.g. 1e1 = 10
Ux x, velocity component
Uy y, velocity component
Re Reynolds number
c Airfoil Chord
AoA Angle of attack
Cp Pressure coefficient
cL Lift coefficient
cD Drag coefficient
Dynamic viscosity
Kinematic viscosity
Density
t Turbulent viscosity
Turbulent kinetic energy
Specific dissipation rate of turbulence kinetic energy
I Turbulence intensity
l Turbulent length scale
y+ Dimensionless wall distance
Uf Friction velocity
g Ratio between the first and the last cell of an edge, of the block in a mesh
s First cell of particular block
e Last cell of particular block
rays Number of cells perpendicular to the airfoil surface
glow Number of cells parallel to the airfoil surface
iv
Chapter 1
Introduction
The atmospheric boundary layer where the wind turbines are located is a highly turbulent environment.
For this reason the blades and the other mechanical components constantly experience unsteady loadings
and therefore under fatigue loads. The engineers are trying to reduce this effect by controlling and opti-
mizing different turbine elements. For instance, pitch control of the blades, tip brakes, vortex generators,
use of special materials, etc. Among those only the pitch control is actually a real time control which
can alter the aerodynamic properties of the turbine blades to take into account the changes in the wind
speed. A pitch regulated turbine typically can achieve fatigue load reduction in the order of 20 to 30
percent. However the new turbine blades are progressively becoming larger and larger and the wind flow
around them is not uniform, so dealing with the unsteady loads cannot be achieved with pitch control
all along. Thus the need of smart rotor blades with a local flow control is already widely discussed topic
within the wind energy field.
The are various mechanisms which can be applied for local control of the flow around the turbine blade. A
good discussion of some classical boundary layer control devices is presented in Adaptive wing and flow
control technology [5]. A relatively simple and efficient solution is the trailing edge movable flaps which
alters the camber of the airfoil and therefore changes its aerodynamic properties. Furthermore since this
technology is widely used on aircraft applications, one can find research on the topic which dates from
1930s. Thus there are numerous available sources of information and results from experiments and models.
Following this idea Peter Bjrn Andersen made his Phd dissertation [1] where he investigates the impact
of an adaptive trailing edge flaps on the wind turbine blade similar to the flaps of airplane blade. The
author [1] argues that a blade with added trailing edge flaps significantly reduces the fatigue loads on the
turbine. He concludes that attaching flaps on the wind turbine blades have significant influence on the
wing aeroelastic stability. As a result, a single flap with a length of 10% the blade length based on the
control achieves up to 30% load reduction, and for three flaps up to 40%.
In addition this technology would provide much faster and cheaper capability of tracking optimum lift
because the motion requires sufficiently less energy to move the flaps, rather than the whole wing. More-
over the change in the pitch angle would change the flow over the whole blade, while the flaps alter the
flow around a specific section of the blade.
In order to analyze the flow around a blade with moving flaps is important to know how the wind behaves
when passing through an airfoil equipped with a movable trailing edge. Thus the purpose of this thesis
is to give better inside on the flow around a section of the blade using the current state technology and
software. The investigation includes computational fluid dynamics (CFD) modeling via OpenF OAM ,
and experiments in a wind tunnel laboratory. The CFD computations include turbulence modeling
because of the high Reynolds number flows around the turbines.
1
Chapter 2
Modeling
2.1 Overview
In this chapter the model used for the CFD modeling is thoroughly explained. This includes short
description of the used software tools, along with the equations and the models which are involved in the
coding. The program used for the CFD analysis is OpenF OAM together with additional programming
and scripting on F ortran90, Shellscript and Octave used to generate the mesh file, control the simulations
and plot the results. The goal of the CFD model is to simulate the experiment conditions and to reproduce
comparable data for open discussions.
2.2 OpenFOAM
OpenF OAM is an open source commercial CFD code written on C + +. It was chosen for this particular
case because of its flexibility and accessibility. It consists of various embedded libraries which are acces-
sible for review and modifications. The libraries consists of numerous mathematical models and CFD
tools organized in directories. Furthermore the program runs under linux environment and it is free to
use [2].
In order to facilitate the reader with the content, the basics of the program are briefly explained. Figure
2.1 presents the overall structure of OpenF OAM and figure 2.2 shows a block diagram of the OpenF OAM
case folder structure. The system directory is hosting the control tools, the finite volume schemes and
the finite volume solutions. The control tools are used to identify parameters as time step, simulation
time, creating time directors and sampling physical quantities. The constant directory contains the files
which define the mesh and the dimensional fluid properties as dynamic and kinematic viscosity, as well as
the setup of the turbulent models. Since the program requires an initial conditions (boundary conditions
(BC)) for the major fluid parameters one have to specify the initial vectors and fields within the initial
time directory at start time. Then based on the control of the simulation are created new time directories
which contain the solutions for the same parameters for the requested time steps. There are various post
processing utilities which can additionally calculate important parameters for each time directory after
the simulation is finished.
2
CHAPTER 2. MODELING 3
CASE
System
Control Dictinary
Finite Volume
Schemes
Finite Volume
Solutions
Sample Dictinary
Constant
Transport Properties
Polymesh
Directories
Boundaries
Ux y
x
U
Uy
The airflow will be presented in terms of two vectorial components, U x along the chord of the airfoil, and
U y perpendicular to it. Thus the angle of attack will depend on the magnitude and direction of those
terms. The purpose is to simulate a two dimensional flow at realistically high Reynolds numbers (Re)
around an airfoil at different angles of attack, and different flap positions. The model will be first imple-
mented for NACA0012 standard airfoil and compared with experimentally acquired data. Subsequently,
simulations will be carried out for airfoil NACA-63418 used in the experiment, chapter 3.
As a standard CFD modeling routine, all of the parameters will be in non-dimensional form. However,
since OpenF OAM source code uses dimensional quantities, in order to insure consistency, all of the
parameters will be assigned to a constant values of 1 or 0, except the kinematic viscosity, . This way
the Reynolds number will be controlled by changing only the viscosity of the fluid (equation 2.1).
Thus the major parameters are given in table 2.1:
CHAPTER 2. MODELING 4
Uc 1
Re = = (2.1)
2.4 Mesh
2.4.1 Mesh selection
One of the most important aspects when dealing with a CFD problem is the mesh. There are various
programs which can generate mesh and which are compatible with OpenF OAM [2]. However the project
requires a moving mesh in order to simulate the flow around a airfoil with a moving flap. This implies the
need for facilitation of a mesh which is easily modifiable even during simulations. OpenF OAM itself is
equipped with a mesh generation tool for structured meshes called blockM esh [2]. Since this tool allows
easy mesh manipulations it is the best choice for this particular problem. A disadvantage is the fact that
one cannot monitor the creation of the mesh before completion. Once the mesh is generated it can be
reviewed via P araview, the program which is generally used for visual post processing for OpenF OAM .
[2].
It uses three dimensional coordinate systems as all geometries are implemented in three dimensions. Thus
when building a two dimensional mesh on of the dimension is an empty dimension, i.e. just an extruded
2D mesh. This grid is composed by blocks and has several others features which defines it.
4 3
4
5 9
0 6
8 2
7
1 2
Vertexes - Labeled major points which define the blocks of the mesh
Edges - A line which connects two vertexes, as it can take a selected shape. It is not recommended
to have cross section
Blocks - The mesh have to be composed by the use of hexagon blocks. If needed they can be
compressed to other shapes, but thats not required for this project. Each hexagon is defined by
selection of 8 vertex labels. The block are meshed individually as the user can selects the number
of cells in each direction of the block (x, y coordinates), as well as their cell expansion ration which
is defined as the ration between the last and the first cell.
Patches - The sides of the blocks which are not neighboring each other have to be defined as patches.
CHAPTER 2. MODELING 6
Point Description
Vertex 0 The x coordinate is found as the circle radius from the center, y is zero
Vertex 1 The coordinates are calculated based on the required length of the arc between vertex 0 and 1
Vertex 2 The coordinates are calculated based on the required length of the arc between vertex 1 and 2
Vertex 3 The coordinates are calculated based on the required length of the arc between vertex 2 and 3
Vertex 4 The coordinates are calculated based on the required length of the arc between vertex 0 and 4
Vertex 5 The point of the airfoil coordinates with maximum thickness
Vertex 6 Leading edge coordinates
Vertex 7 The point of the airfoil coordinates with maximum thickness
Vertex 8 Point from the airfoil for 90% of the airfoil chord, positive y direction
Vertex 9 Point from the airfoil for 90% of the airfoil chord, negative y direction
Those patches are used to define the boundaries of the mesh and therefore the boundary conditions
for the fluid quantities.
Vertexes
Based on those parameters have been build a blockM eshDict file which generates airfoil O-mesh. However
this tool requires careful bookkeeping in order to attain accuracy and consistency. Thus to control the
size of the mesh and to change the airfoil shape automatically, the use of additional programing is
recommended. The code is given in appendix B. A sketch of the mesh model is presented on figure 2.6.
The vertexes are twenty overall given with small numbers from 0 to 9, as there are ten more in the
extruded dimension z and the blocks are five marked as big numbers in gray circles. In order to define a
circle and an airfoil inside the middle of it, the locations of the major points have been chosen in a way
which assures consistency in the size of the neighboring cells. The circle center has the x coordinate of
the airfoil maximum thickness, while y is zero. The leading edge of the airfoil has coordinates (0 0) and
the trailing edge (1 0) so the chord length is 1[m]. The coordinates of the airfoil have been taken from
the UIUC Airfoil Coordinates Database [10]. The locations of points 1, 2, 3 and 4 has been calculated in
a sense that the ration between lengths of the arcs they form and the corresponding section of the airfoil
are the same for each block. This way is insured the consistency in the cells neighboring cell sizes. The
function used for the computation is given in the end of appendix B subroutine points. It computes the
required angle between the vertexes based on the distance between the major points of the airfoil and
calculates the coordinates of the points on the circle. The vertexes are summarized in table 2.2.
Edges
Consequently the edges are formed by calculating additional points and using the points of the airfoil.
In order to create the shape of the airfoil is used polySpline tool, which connects requested points with
a spline. The trailing edge is exception because at this last 10% region the airfoil surface is considered a
straight line. Additionally in order to allow easy adjustments to the airfoil flap position the two points at
90% chord are connected though a spline passing by the last two points of the trailing edge. Therefore the
flap angle is controlled by the position of those two points in y direction. Moreover, by connecting those
two points with a spline it is ensured that even the small line between the last two points is a curvature.
Creating a circle as a shape for the mesh is required in order to have better shaped mesh lines parallel to
the airfoil. The vertexes in table 2.2 have been already placed in such way so that they form a circle. The
next step is to connect them using arcs by finding points on the same circle. This is implemented by the
same subroutine points, in appendix B, but instead it is using the half distance which finds a point on
the same circle between the two points. Then the edges which shaped the inner part of the blocks have
been build in a way which ensures that the parallel mesh lines are perpendicular to the airfoil surface.
This is implemented by connecting the point of the airfoil and the point of the circle with a spline which
contains a point between them near the airfoil that makes the line perpendicular to its surface. Such
point is found by finding the angle between two points of the airfoil (vertex 9 for example, and the point
just before it in the leading edge direction - equation 2.2). Then based on the selected distance to the
point are calculated the coordinates (subroutine arcs appendix B). Table 2.3 presents a summery of the
CHAPTER 2. MODELING 7
edges.
abs(y(pi ) y(pi1 )
= tan1 (2.2)
abs(x(pi ) x(pi1 )
Blocks
The blocks shape and position have been chosen in a way which implies consistency in the size of the
neighboring cells. Since the grading ration and number of cells are the input parameters for meshing each
block, those parameters can be select in way which yields consistency between the neighboring blocks.
The mesh around the leading and trailing edge should be finner because of the high gradients of the
velocities and pressure in those regions. Since the meshing of each block depends on the number of cells
and the grading ration between the first and the last cell, one can derive the size of those cells using the
length of the meshing side and vice versa. This is implemented in a subroutine grading at appendix B
which compute the following equations using arithmetic progression, equation 2.3.
n
s= (2.3)
2(2s + (n 1)d)
Where s is the sum of progression, n is the number of terms, s is the value of the first term, and d
is the difference between two terms. Based on that one can derive the number of mesh cells and their
progression ratio, g.
s
g= (2.4a)
e
l
S= (2.4b)
s
np q
X 2 2
l= (x(i) x(i + 1)) + (y(i) y(i + 1)) (2.4c)
i
g(g + 4s)
pr = (2.4d)
(2(4S + g))
g
rays = (2.4e)
2pr
Where np is the number of points on the airfoil; x(i) coordinate on the airfoil surface; g is the ration
between the first and the last cell (e); S is the sum of the elements; l is the length of the airfoil curve;
pr is the progress rate of the arithmetic progression; and rays is the number of cells perpendicular to the
airfoil surface. The equation for pr has been derived using V olf ramM athematica.
CHAPTER 2. MODELING 8
Patches
As described above the patches are the sides of the hexagons with no neighboring blocks and they are
used to define boundaries conditions. OpenF OAM allows assigning various kinds of patches which have
specific properties. For this project the patches of particular interest are inletOutlet and wall. The
first option will switch the velocity and the pressure between either a fixed value and a zero gradient
depending on the direction of the flux. The wall condition is a no slip condition, constant velocity and
pressure no gradient. The patches geometry is summarized in table 2.4.
Review
Based on the description above the mesh have been created using the F otran90 scrip B as it creates
the file blockM eshDict which the OpenF OAM utility blockM esh uses to create the mesh. The code
generates supporting files in the constant directory which contains all the information for the mesh and
actually presents the mesh itself. Once the mesh is created one can review it with the post processing
tool P araV iew.
Figure 2.7 presents the resulting mesh.
Figure 2.7: Final mesh used for the simulations of NACA0012 airfoil, P araV iew
2.6 Solution
This section explains the numerical algorithms and models built in OpenF OAM which are used for this
particular case.
bounded, implicit scheme. However in order to estimate initial fields for the velocity, the pressure and
the flux, it is used a steady state condition which does not solve for time derivatives.
Gradient Schemes
The gradient numerical scheme models the gradient of the pressure for p and the velocity for U .
There are several options for selection of the gradient schemes which include the leastSquares method
as second or fourth order scheme, or Gaussian interpolation. Furthermore those schemes can be limited
only to the grid faces or cells.
Divergence Schemes
Each divergence term for the particular model have to be presented as the user have to specify also its
interpolation scheme. OpenF OAM has a default divergence schemes for steady state k-omega SST model
which will be used for this project. In order to solve each term OpenF OAM uses Gauss discretization,
and prescribed interpolation scheme. The terms are given in table 2.6.
Laplacian Schemes
It models the Laplacian terms, as it requires the selection of interpolation and normal surface gradient
schemes.
CHAPTER 2. MODELING 10
2.6.3 Solvers
The fluid dynamics solver applications in OpenF OAM are based on pressure-implicit split-operator
(P ISO) or semi-implicit method for pressure-linked equations (SIM P LE) algorithms. These algorithms
are iterative procedures for solving equations for velocity and pressure, as P ISO is being used for transient
problems and SIM P LE for steady-state. Both algorithms are based on evaluating initial solutions and
then correcting them by the use of finite volume schemes. SIM P LE only makes one correction while
P ISO requires around four as the user can specify this number.
(U ) = 0 (2.5)
U
+ (uu) (u) = p (2.6)
t
The solution is implemented by deriving an equation for the pressure, using the divergence of the mo-
mentum equation, and then it is substituted in the continuity equation.
Then the momentum equation (2.7) where H(U ) (2.8) is combination of the matrix coefficients of an
neighbor cells ap times their velocities U n and then this is added to the unsteady term eq : continuity.
H(U ) p
ap U p = H(U ) p U p = (2.7)
ap ap
CHAPTER 2. MODELING 11
X Uo
H(U ) = an U n + (2.8)
n
t
The continuity equations in discrete form (2.9) is given as the sum of the velocity on the face U f (2.10)
times its outward-pointing face area vector S:
X
U = SU f (2.9)
f
H(U ) (p)f
Uf = (2.10)
ap f (ap )f
Finally substituting equation 2.10 in equation 2.9 one can obtained an equation for the pressure (2.14).
X
1 H(U ) H(U )
p = = U (2.11)
ap ap ap f
f
2.7 Simulations
In this section are presented the simulation scenarios of particular interest to the model. The results
from OpenF OAM will be compared to experimental data and other programs. First starting with a
steady state laminar simulations which aims to inspect the quality of the mesh, and if the acknowledged
finite volume schemes and solutions generate acceptable results. For this purpose is used the standard
NACA0012 symmetric airfoil. Then the Reynolds number will be increased, and the turbulence model
will be included in order to analyze the properties of the flow in terms of lift, drag and pressure distri-
bution. Once those results are resolved the simulations are being done for NACA-63418 airfoil used in
the experiment, chapter 3. First the results from OpenF OAM are compared to some experimental data
and other computer programs. Finally, in chapter 3 the conditions of the experiment will be mimicked
in order to compare the acquired data with the data from the model.
The coordinate profiles of both airfoils involved in the simulations are shown on figure 2.8. The major
parameters of the meshes are presented in 2.7. A common parameters for the meshes is the circle radius
of 5 [m], and the minimum cell height neighboring the airfoil wall of 0.00015 [m]. The minimum cell is
chosen so it yields non-dimension wall distance, y + (equation 2.16) of average 1 along the surface.
Uf y
y+ = (2.16)
Where Uf is the friction velocity, and y is the height of the nearest cell to the wall.
0.4
0.2
y [-]
-0.2
-0.4
NACA0012
NACA63418
2.7.1 NACA0012
The laminar cases which aim to clarify the quality of the mesh and the validity of the model are done
for low Reynolds numbers of 100 and 1000. On figure 2.9 one can observe the wind speed behavior
along the airfoil for different angles of attack. At small angles of attack the boundary layer for the lower
Reynolds number is significantly thicker, and this effect is reduced for higher AoA. The area around
the stagnation point where the flow speed is reduced is much larger in the case of the lower Reynolds
case. Important implication is the instability of the boundary layer at 14 degrees angle of attack, and
the complete separation at 20 degrees for Reynolds number of 1000, while for Re = 100 the flow stays
attached for each of those inclinations. Figure 2.9 presents the pressure distribution of the above cases.
As can be inferred from the velocity plots the lower Reynolds number cases influence the pressure around
the airfoil in a wider area. However the most interesting are the cases of Re = 1000 and angles of attack
14 and 20 degrees on figures 2.10h and 2.10j where one can see the formation of vortex structures in the
wake of the airfoil in terms of low pressure regions.
The validation of the SST model is implemented on NACA0012. Simulations are done for two
Reynolds numbers - 200000 and 1000000, and for three different flap positions of -5, 0 and 5 degrees.
This is done for angles of attack from -4 to 16, 17 degrees, in order to capture the 0 lift angle of attack,
and the optimum lift for each case.
The force coefficients for those cases are presented on figures 2.11, 2.12 and 2.13. Figure 2.11a presents the
results for the lift curves of NACA0012 mesh for the three flap positions, at Reynolds number of 200000.
One can observe that the change in the flap angle results in translation the lift curve along the y axis. The
flap deflection of plus 5 degrees (clockwise rotation) changes the camber of the airfoil in such a way that
increase the lift for each angle of attack with approximately 0.1 non-dimensional units cL . The sample
effect holds for flap deflection in the other direction (contra-clockwise) as minus 5 degrees results in lift
reduction of around 0.1. Then on figure 2.11b one can review a comparison between OpenF OAM results
and synthesized data from a combination of experimental results and computer calculations (source [14]).
The lift coefficient behavior is given for different Reynolds numbers. One can see how as Re increases
the rated cP is rising up. The OpenF OAM results and the experiment data are in a good agreement in
the linear part of the cP curve as they have almost identical values. However as it is common the CFD
model typically overestimate the stall point, and predict much higher optimum lift. This is because fully
turbulent models, cannot predict the complex stall phenomenon and the separation behavior on an airfoil
accurately which leads to over prediction of the aerodynamic characteristics. Figure 2.12a shows the drag
coefficient behavior for different flap positions. It slightly increases for positive rotation and decreases for
negative, as the change tends to have linear behavior. On figure 2.12b one can observe cD comparison. As
expected the drag coefficient decreases for higher Reynolds number as for the OpenF OAM result thus for
the experiment data. The slope of the curves are in a good agreement, however the CFD computations
tend to overestimate the drag force. In order to correct this effect the turbulence quantities in the model
have to additionally tunned.
CHAPTER 2. MODELING 15
Figure 2.9: Laminar simulations NACA0012, Pressure distribution, P , for Re = 1e2 and Re = 1e3
CHAPTER 2. MODELING 16
Figure 2.10: Laminar simulations NACA0012, Boundary layer view in terms of velocity, U , for Re = 1e2
and Re = 1e3
CHAPTER 2. MODELING 17
1.5
OpenFOAM Re2e5
OpenFOAM Re1e6
Exp Re1.6e5
Exp Re3.6e5
Exp Re7e5
1 Exp Re1e6
Cl [-]
0.5
-0.5
-5 0 5 10 15 20
AoA [deg]
(a) cL , flap comparison OpenF OAM ,Re = 2e5 (b) cL , Re comparison with experiments
0.1
OpenFOAM Re2e5
OpenFOAM Re1e6
Exp Re1.6e5
Exp Re3.6e5
0.08 Exp Re7e5
Exp Re1e6
0.06
Cd [-]
0.04
0.02
0
-5 0 5 10 15 20
AoA [deg]
(a) cD , flap comparison OpenF OAM ,Re = 2e5 (b) cD , Re comparison with experiments
1.5
1
Cl[-]
0.5
0 OpenFOAM Re2e5
OpenFOAM Re1e6
Exp Re1.6e5
Exp Re3.6e5
Exp Re7e5
Exp Re1e6
-0.5
0 0.02 0.04 0.06 0.08 0.1 0.12 0.14 0.16
Cd[-]
(a) cL /cD , flap comparison OpenF OAM ,Re = 2e5 (b) cL /cD , Re comparison with experiments
Figure 2.13: Lift-drag ratio, cL /cD over NACA0012, at Angle of Attack, AoA = 4 : 16
CHAPTER 2. MODELING 18
Figures 2.14, 2.15 and 2.16 present the pressure distribution over the airflow for different trailing edge
position, at an angle of attack of 5 degrees, and Re of one million. Furthermore the same results of cP
are compared with the result from previous experiments and modeling in figures 2.17, 2.19 and 2.18, [6].
A screen shots of the corresponding mesh at the trailing edge for each flap angle is given on figures 2.14a,
2.15a and 2.16a, where the boundary layer can bee seen in terms of velocity (dark red zero velocity, green
free stream velocity).
The pressure distribution along the airfoil itself is given on figures 2.14b, 2.15b and 2.16b, where cP is
plotted upside-down with negative values (suction). This is done for facilitation since the upper surface
of a conventional lifting airfoil corresponds to the upper curve. The pressure coefficient at the stagnation
point is around 1, as then it rises rapidly on both surfaces until it finally recovers to a small positive value
at the trailing edge (pressure recovery region). The upper surface pressure is shown with gray circles
and it is revered as suction, while the dark circles indite the lower pressure surface. The circles present
the surface pressure applied the airfoil taken in the centers of each control volume edge. A close look at
those plots reveals the behavior of the cP for the different flap positions. Applying a flap deflection of
5 degrees results in increase in the pressure and the curves go apart of each other (figure 2.14b), while
a negative flap angle of 5 degrees causes the pressure to decrease on both sides and the curves to come
closer together (figure 2.15b). Additionally the bended surface around the trailing edge experiences a
small anomaly in the cP , a local pressure peak with a coordinates position of the flap hinge.
On the comparison plots, figures 2.17, 2.19 and 2.18 one can observe that the OpenF OAM results hold
well together with the results from [6]. There is a small obvious overestimation for the suction surface of
the airfoil for each flap case, which most likely caused by the mesh quality. In addition, one can see that
at the trailing edge the curves on figures 2.17a, 2.19a and 2.18a are smooth, while those of OpenF OAM
have a sharp peak. The reason for that is the geometry of the movable flaps.
Finally the pressure distribution along NACA0012 computed in OpenF OAM is presented as viewed in
P araV iew for flap angles of 0 and 5 degrees, on figures 2.20a and 2.20b. One can observe the significant
change in the pressure distribution produced by the flap deflection. On figure 2.20a the pressure is the
same along both surfaces since NACA0012 has a symmetric profile, so flow around it is equally oscillated
on both sides and the pressure is in equilibrium and lift force is 0. However just rotation of 5 degrees on
the trailing edge flap alters the flow to such extend that the lift coefficient is around 0.11, which is similar
to airfoils like NACA 23012, [16]. Furthermore a comparison of cP distribution for the same conditions
are given on figure 2.21 for zero flap angle and 2.22 for 5 degrees flap angle.
CHAPTER 2. MODELING 19
Pressure Disctribution
-2
-1.5
-1
Cp [-]
-0.5
0.5
Suction
Pressure
1
0 0.2 0.4 0.6 0.8 1
x/c [-]
(a) Trailing edge mesh, boundary layer, U (b) Pressure distribution
Figure 2.14: Pressure distribution, Cp over NACA0012, for Reynolds number, Re = 1e6, and Angle of
Attack, AoA = 5 , and Flap angle, f lap = 0
Pressure Disctribution
-2
-1.5
-1
Cp [-]
-0.5
0.5
Suction
Pressure
1
0 0.2 0.4 0.6 0.8 1
x/c [-]
(a) Trailing edge mesh, boundary layer, U (b) Pressure distribution
Figure 2.15: Pressure distribution, Cp over NACA0012, for Reynolds number, Re = 1e6, and Angle of
Attack, AoA = 5 , and Flap angle, f lap = 5
Pressure Disctribution
-2
-1.5
-1
Cp [-]
-0.5
0.5
Suction
Pressure
1
0 0.2 0.4 0.6 0.8 1
x/c [-]
(a) Trailing edge mesh, boundary layer, U (b) Pressure distribution
Figure 2.16: Pressure distribution, Cp over NACA0012, for Reynolds number, Re = 1e6, and Angle of
Attack, AoA = 5 , and Flap angle, f lap = 5
CHAPTER 2. MODELING 20
Pressure Disctribution
-2
-1.5
-1
Cp [-]
-0.5
0.5
Suction
Pressure
1
0 0.2 0.4 0.6 0.8 1
x/c [-]
(a) Exp data, source [6] (b) OpenF OAM
Figure 2.17: Pressure distribution, Cp over NACA0012, for Reynolds number, Re = 1e6, and Angle of
Attack, AoA = 0 , and Flap angle, f lap = 0
Pressure Disctribution
-2
-1.5
-1
Cp [-]
-0.5
0.5
Suction
Pressure
1
0 0.2 0.4 0.6 0.8 1
x/c [-]
(a) Exp data, source [6] (b) OpenF OAM
Figure 2.18: Pressure distribution, Cp over NACA0012, for Reynolds number, Re = 1e6, and Angle of
Attack, AoA = 0 , and Flap angle, f lap = 5
Pressure Disctribution
-2
-1.5
-1
Cp [-]
-0.5
0.5
Suction
Pressure
1
0 0.2 0.4 0.6 0.8 1
x/c [-]
(a) Exp data, source [6] (b) OpenF OAM
Figure 2.19: Pressure distribution, Cp over NACA0012, for Reynolds number, Re = 1e6, and Angle of
Attack, AoA = 5 , and Flap angle, f lap = 5
CHAPTER 2. MODELING 21
Figure 2.20: Pressure distribution, Cp over NACA0012, for Reynolds number, Re = 1e6, and Angle of
Attack, AoA = 0
Pressure Disctribution
-0.6
-0.4
-0.2
0
Cp [-]
0.2
0.4
0.6
0.8
Suction
Pressure
1
0 0.2 0.4 0.6 0.8 1
x/c [-]
(a) Exp data, source [6] (b) OpenF OAM
Figure 2.21: Pressure distribution, Cp over NACA0012, for Reynolds number, Re = 1e6, and Angle of
Attack, AoA = 0 , and Flap angle, f lap = 0
Pressure Disctribution
-0.6
-0.4
-0.2
0
Cp [-]
0.2
0.4
0.6
0.8
Suction
Pressure
1
0 0.2 0.4 0.6 0.8 1
x/c [-]
(a) Exp data, source [6] (b) OpenF OAM
Figure 2.22: Pressure distribution, Cp over NACA0012, for Reynolds number, Re = 1e6, and Angle of
Attack, AoA = 0 , and Flap angle, f lap = 5
CHAPTER 2. MODELING 22
2.7.2 NACA64318
This section is to show the validity of the model as it is compared to data from different sources taken
from the Ris airfoil catalog [15]. The data sources consists of experimentally acquired data from the
local wind tunnel and two models by XF OIL and EllipSys2D. The simulations in OpenF OAM are
executed for Reynolds number of three million so it is consistent with those from the catalog. They are
made for every angle of attack in the range of 0 to 20 degrees, in order to compute the force coefficient
curves. Additionally, the pressure distribution along the airfoil will be compared at selected AoAs.
Figure 2.23a shows the lift coefficient estimated by OpenF OAM along with the experimental and com-
puted data. From the plot one can infer that the XF OIL and EllipSys2D models overestimate the
experimental data and OpenF OAM underestimates it. It is important that the slope is the same in the
linear part of the curve (up to AoA = 10[deg]) for all of the results, which is the case here. The stall
part of the curves for angles of attack higher than fourteen degrees wide varies for each model, and it
seem like EllipSys2D has the best estimation according to the experiments. In fact the values which are
computed based on the OpenF OAM model are estimated using averaging. That is because at this high
angles of attack the solutions does not converge to a single value, but rather a series of repeating values.
The reason for that is separation of the flow which cannot reach a steady state solution, similar to what
is shown on figure 2.10j.
The drag coefficient shown on figure 2.23b estimated by OpenF OAM slightly overestimates all of the
other models but resembles the shape of the curves in a good manner. An overview of all force coefficients
is shown on figure 2.23.
The following plots (figures 2.24, 2.25 and 2.26) present different pressure distributions depending on the
angle of attack. The results from OpenF OAM are compared to two models used in [15] for angles of
attack of 6, 10, 12 , 14, 16 and 18 degrees. In addition, for better visualization the flow is given as seen
in P araV iew in terms of velocity and pressure.
From the plots one can infer that as the angle of attack is increasing, the pressure difference between
the suction and the pressure side of the airfoil is increasing. Another phenomenon is the flow separation
which occurs after a certain transitional point based on the angle of attack. As can be seen on figures
2.24c and 2.24d the flow at AoA = 6 and 10 is still fully attached and thus the cP curves on figures
2.24e and 2.24f indicate an adverse pressure gradient as they slowly reach the recovery point. However
after certain critical point, separation occurs and those curves flattens close to the trailing edge, since
there is no pressure gradient to sustain the flow. This separation becomes greater as the angle of attack
is getting higher, and at certain point, a full separation can be reached suction curve will be completely
flat. On figures 2.25 and 2.26, one can notice that there is a difference in the point of separation between
the OpenF OAM results and those from the other models. For the OpenF OAM based data it occurs
slightly later because as can been seen on figure 2.23a the critical angle of attack for the lift coefficient
is higher for this CFD model. In addition, the difference in the geometry for the different models at the
trailing edge, causes the formation of a local sharp peak at 90% chord length. In order to correct that
the shape of the trailing edge flaps have to be tuned.
CHAPTER 2. MODELING 23
1.6
0.08
1.4
1.2
0.06
1
Cd [-]
Cl [-]
0.8
0.04
0.6
0.4
0.02
0.2
0 0
0 5 10 15 20 0 5 10 15 20
AoA [deg] AoA [deg]
1.4 0.15
0.1
1.2
0.05
Cm [-]
1
Cl [-]
0
0.8
-0.05
0.6
-0.1
0.4 -0.15
0.2 -0.2
0 0.02 0.04 0.06 0.08 0.1 0 5 10 15 20
Cd [-] AoA [deg]
-6 -6
Suction Suction
Pressure Pressure
-5 -5
-4 -4
-3 -3
Cp [-]
Cp [-]
-2 -2
-1 -1
0 0
1 1
0 0.2 0.4 0.6 0.8 1 0 0.2 0.4 0.6 0.8 1
x/c [-] x/c [-]
(e) OpenF OAM , cP distribution, AoA = 6 left, AoA = 10 right
Figure 2.24: Pressure distribution, Cp over NACA64318, for Reynolds number, Re = 3e6, Free stream
velocity, AoA = 6 and AoA = 10
CHAPTER 2. MODELING 25
-6 -6
Suction Suction
Pressure Pressure
-5 -5
-4 -4
-3 -3
Cp [-]
Cp [-]
-2 -2
-1 -1
0 0
1 1
0 0.2 0.4 0.6 0.8 1 0 0.2 0.4 0.6 0.8 1
x/c [-] x/c [-]
(e) OpenF OAM , cP distribution, AoA = 12 left, AoA = 14 right
Figure 2.25: Pressure distribution, Cp over NACA64318, for Reynolds number, Re = 3e6, Free stream
velocity, AoA = 12 and AoA = 14
CHAPTER 2. MODELING 26
-6 -6
Suction Suction
Pressure Pressure
-5 -5
-4 -4
-3 -3
Cp [-]
Cp [-]
-2 -2
-1 -1
0 0
1 1
0 0.2 0.4 0.6 0.8 1 0 0.2 0.4 0.6 0.8 1
x/c [-] x/c [-]
(e) OpenF OAM , cP distribution, AoA = 16 left, AoA = 18 right
Figure 2.26: Pressure distribution, Cp over NACA64318, for Reynolds number, Re = 3e6, Free stream
velocity, AoA = 16 and AoA = 18
Chapter 3
Experiment
3.1 Overview
The experiment is conducted in the wind tunnel laboratory at the Technical University of Denmark
(DTU). The purpose of this research is to investigate the flow behavior around an airfoil with a movable
flap. Moreover the flapping airfoil should be able to retain optimum lift at variable angles of attack.
The hardware components and its control software as well as the airfoil has been designed and build by
Robert Mikkelsen at DTU. The students enrolled in the experiment have been assigned to implement
monitoring and controlling systems for the airfoil.
LinMot
Transformer Local
Controller
Power
LinMot
National
Instuments DAC Pressure
unit Device
MacMot PC
Airfoil
Pressure
scanners
Power supply
cable (low voltage)
Control signal
Wind Tunnel
Figure 3.1 shows a block diagram of the major components involved in the experiment. The airfoil is
mounted in a wind tunnel, as it is attached to a pitch mechanism with a rotational motor. The trailing
edge movable flap is operated by the use of a liner motor. Both mechanism are controlled by computer
programs which can use a voltage signal as a control signal. In order to measure the flow behavior
27
CHAPTER 3. EXPERIMENT 28
around the airfoil are used pressure tabs located on the surface of the airfoil which are connected to
pressure scanners and the readings are captured using specific software. Figure 3.1 presents how the
major components involved in the setup are connected.
Figure 3.6: Voltage generator control panel LabV IEW.vi (left), LabV IEW.vi for monitoring the control
signals (right)
in millimeters. Additionally the LabV IEW.vi is programmed in a way so one can observe the other
important parameters as the lift and drag force on the airfoil, the angle of attack and the position of the
flap. The forces are calculated in terms of pressure integrated over the surface area. The angle of attack
and the flap angle are estimated as a function of the voltage signal of the motors.
Observation: In this particular case, it was noticed that the flat control cable of the linear motor was
had a great impact on the pressure system as it increased the noise of the system up to 2-5 times. The
solution to this problem was to screen the flat cable with a Faraday cage and ground it to the thick cable
ground.
3.4.2 Setup
Linear Motor - The greatest challenge by any means is the linear LinMot motor. It is a highly sensitive
piece of technology which requires extra attention to all of it hardware connections and software setup.
Additionally the motor is not designed for moving high loads which implies that the airfoil flap mechanism
should not load the motor slider more than it is prescribed (around 50[N ]). Furthermore it is crucial
that the power signal wires and the control signal wires from the controller to the motor are placed in
separated shields within the cabling in order to avoid interference.
PressureTab
0.4
0.2
y/c [-]
-0.2
-0.4
Figure 3.9: Location of the pressure tab on the surface of the NACA63418 airfoil
On figure 3.10 one can observe the pressure distribution over the airfoil in the wind tunnel for each
measurement location. The results are presented for different pitch position as it was considered during
the experiment. Thus for each angle of attack are shown the two most distinct of the four flap positions
given in voltage signal. As can been seen on the plots the pressure curves starts to have a flat end around
angle of attack of twelve degrees, as this occurs after chord length of 80%. The separation moves towards
the leading edge as the angle of attack is increased, thus for angle of attack of 17 degrees reaches beyond
60% chord length.
Figure 3.11 shows a comparison between the experiment data of flap angle corresponding to voltage signal
V = 2.0[V ] and post-processed data from OpenF OAM for the same Reynolds number. It is obvious that
the two sets of data are not in a very good agreement in the first 50% chord length of the airfoil. However
in the other part of it, the OpenF OAM results predict quite well the point of separation. It was already
observed that the OpenF OAM model overestimates the angle of attack when separation occurs, and due
to the fact that the pressure distribution at zero angle of attack is supposed to be similar on both sur-
faces of the airfoil, one can conclude that the initial angle of attach of the experiments have been mistaken.
On figure 3.12 one can see the pressure distribution as it is shifted -7 degrees of angle of attack for the
measurement data. This one can notice that the experimental and computed data now is in much better
agreement.
Thus based on the pressure distribution, the lift and drag coefficients are estimated and compared to the
OpenF OAM results. This comparison is given on figure 3.13. The lift coefficient from the experimental
data is calculated using pressure integration over the surface area, and this way are computed the two
force components on the airfoil, one parallel to the chord and one perpendicular. Those forces are
transposed over the lift and drag vectors and thus the force coefficients are computed. This explains the
odd results on the drag plot, since for stream bodies 90% of the drag is due to drag friction, which is
not take into account for when computing the forces based on the experimental data. One can see a
significant difference in the lift curves as well. A possible explanation is that in fact the error in setting
zero the angle of attack was even grater, and the data is still shifted several degrees.
CHAPTER 3. EXPERIMENT 35
Cp [-]
-2 -2
-1 -1
0 0
1 1
0 0.2 0.4 0.6 0.8 1 0 0.2 0.4 0.6 0.8 1
AoA = 5 [deg] AoA = 7 [deg]
-5 -5
flap 1[V] flap 1[V]
-4 flap 3[V] -4 flap 3[V]
-3 -3
Cp [-]
Cp [-]
-2 -2
-1 -1
0 0
1 1
0 0.2 0.4 0.6 0.8 1 0 0.2 0.4 0.6 0.8 1
AoA = 10 [deg] AoA = 12 [deg]
-5 -5
flap 1[V] flap 1[V]
-4 flap 3[V] -4 flap 3[V]
-3 -3
Cp [-]
Cp [-]
-2 -2
-1 -1
0 0
1 1
0 0.2 0.4 0.6 0.8 1 0 0.2 0.4 0.6 0.8 1
AoA = 15 [deg] AoA = 17 [deg]
-5 -5
flap 1[V] flap 1[V]
-4 flap 3[V] -4 flap 3[V]
-3 -3
Cp [-]
Cp [-]
-2 -2
-1 -1
0 0
1 1
0 0.2 0.4 0.6 0.8 1 0 0.2 0.4 0.6 0.8 1
x/c [-] x/c [-]
Figure 3.10: Pressure coefficient distribution on the airfoil surfaces for each pressure tab, Re = 3.1888e5
CHAPTER 3. EXPERIMENT 36
AoA=0[deg] AoA=2[deg]
-5 -5
Exp, flap 2.0 [V] Exp, flap 2.0 [V]
-4 -4
OpenFOAM flap 0 [deg] OpenFOAM flap 0 [deg]
-3 -3
Cp [-]
Cp [-]
-2 -2
-1 -1
0 0
1 1
Cp [-]
-2 -2
-1 -1
0 0
1 1
Cp [-]
-2 -2
-1 -1
0 0
1 1
Cp [-]
-2 -2
-1 -1
0 0
1 1
Figure 3.11: Pressure coefficient distribution comparison, Re = 3.1888e5, experiment flap position V =
2.0, OpenF OAM flap position 0[deg]
CHAPTER 3. EXPERIMENT 37
AoA=-5[deg] AoA=-2[deg]
-5 -5
Exp, flap 2.0 [V] Exp, flap 2.0 [V]
-4 -4
OpenFOAM flap 0 [deg] OpenFOAM flap 0 [deg]
-3 -3
Cp [-]
Cp [-]
-2 -2
-1 -1
0 0
1 1
Cp [-]
-2 -2
-1 -1
0 0
1 1
Cp [-]
-2 -2
-1 -1
0 0
1 1
-2
-1
0
1
Figure 3.12: Pressure coefficient distribution comparison corrected, Re = 3.1888e5, experiment flap
position V = 2.0, OpenF OAM flap position 0[deg]
2.5 0.2
0.15
2
0.1
1.5
0.05
Cl [-]
Cl [-]
1 0
-0.05
0.5
Flap 1.0[V] Flap 1.0[V]
Flap 2.0[V] -0.1 Flap 2.0[V]
Flap 2.5[V] Flap 2.5[V]
0 Flap 3.0[V] Flap 3.0[V]
OpenFOAM Flap 0 [deg] -0.15 OpenFOAM Flap 0 [deg]
OpenFOAM Flap -5 [deg] OpenFOAM Flap -5 [deg]
OpenFOAM Flap 5 [deg] OpenFOAM Flap 5 [deg]
-0.5 -0.2
-10 -5 0 5 10 -10 -5 0 5 10
AoA [deg.] AoA [deg.]
(a) (b)
Figure 3.13: Force coefficients comparison Experiment and OpenF OAM results
Chapter 4
Summary
A CFD steady state model was implemented using the open source commercial code OpenF OAM , in
order to predicted the flow behavior around airfoils with a movable flaps. The CFD code uses the full
turbulent Shear Stress Transport model to simulate the high Reynolds number airfoil flows used
for the wind energy applications. Additionally, a script for creating an airfoil O-mesh was developed
with an option for a trailing edge flap rotation. The code can draw any airfoil shape based on airfoil
normalized coordinates as the first point should start from the trailing edge and the points should follow
in a contra-clockwise order. The mesh allow easy control over the size of the domain, the number of cells
and their grading as automatically calculates them based on the desired size of the smallest cell.
The CFD code can predict the steady flow behavior around different airfoils. For validation were used
NACA0012 and NACA63418 and the result were compared with data from experiments and other com-
puter models. As it was expected, the CFD model overestimates the angle of attack when stall occurs
and cannot provide accurate estimate for separating flows. It was shown that the model can generate
good results for attached flows. For the NACA0012 case, the estimated lift curves were matching the ex-
perimental data. In the case of NACA63418 the model predicted the slope of the lift curve but in general
underestimates the lift force, contrary on the other models used for comparison. The reason for that can
be found on the pressure distribution plots. The results from OpenF OAM are in good agreement with
the data from the other models, but there some anomalies cause by the quality of the mesh.
The final goal of the CFD model is to predict dynamic flow behavior of a flow around airfoil equipped with
a movable flap by the use of a moving mesh. The model developed for this master thesis was implemented
in way which offers the opportunity to be easily upgraded to a transient solver code. However the moving
mesh problems require large computer resources, and to simulate moving mesh cases with a fine mesh
geometry will be needed cluster of parallel running machines. OpenF OAM is equipped with tools for
this purpose which makes it a favorable chose.
Another very import aspect for future developed is the airfoil mesh, especially in the trailing edge sector.
The trailing edge flap is now modeled only with leaner surfaces, which creates sharp local peaks on the
pressure curves. This can be deal with by adding a function which bends the points in a particular way.
Additionally, the code can be tested for different trailing edge shapes and features which change the
aerodynamics of the airfoil flow.
In the wind tunnel laboratory an airfoil NACA63418 is used for the analysis of a flow around an air-
foil with a movable flaps. In order to setup the sensors and actuators for this project, their interface
software was investigated and configured. Additionally LabV IEW programs were implemented to mon-
itor and control each device and acquire experimental data. In order to improve the signal quality for
the control and the data acquisition, different sources of disturbances were investigated and taken care of.
The results from experiment are showing that there is a need of further measures for improving the
quality of the signal. The trailing edge movable flaps requires decreasing of stiffness in order to reduce
the load on the linear motor.
The final goal of the experiment is to control the trailing edge flaps so that it can follow optimum lift for
a change in the angle of attack. For this purpose to the current LabV IEW.vi have to be added a PID
control toolbox which uses the PID control algorithm.
38
Bibliography
[1] Peter Bjrn Andersen Advanced Load Alleviation for Wind Turbines using Adaptive Trailing Edge
Flaps: Sensoring and Control, Ris DTU, February 2010
[2] Open FOAM User Guide, Version 1.6, 24th July 2009
[3] Source code online, http://foam.sourceforge.net/
[12] Hansen, M.H., Data for aeroelastic modeling of the Nordtank 500 kW turbine with LM19.1 blades,
Ris DTU, Roskilde, Denmark, August 2010
[13] Sumer, B. M., Lecture notes on turbulence, DTU 2007
[14] http://www.cyberiad.net/, original source: Sheldahl, R. E. and Klimas, P. C., Aerodynamic
[15] Wind Turbine Airfoil Catalog, Ris National Laboratory, August 2001
[16] The Characteristics of 78 related airfoil sections from test in the variable-density wind tunnel, E.
Jacobs, K. Ward, R. Pinkerton
[17] LinMot Installation guide, Document version 3.10 / November 2009
39
Appendix A
Turbulence Models
The turbulent models use extra transport equations which define the turbulent properties of the flow. In the case
of the two equation models, the turbulent energy equation performs better if it is coupled with a second equation
modeling its rate of dissipation. The turbulence models which can be used for the CFD computation for this
project are the standard , , SST , as well as the 1 equation mixing-length Spalart-Allmaras model.
k standard model
The BSL model is based on Wilcox original omega model and is developed by Menter in order to
improve Wilcoxs original model so that an even higher sensitivity could be obtained for adverse-pressure-gradient
flows. The main issue with the Wilcox model is the strong sensitivity to free stream conditions. Based on the
values specified for the inlet, one can obtain a significant variation in the models results. In order to solve this
problem Menter develops, a combination between the model near the surface and the model in the
outer region. As a result the BSL model is identical to the Wilcox model in the inner half of the boundary-layer
but it can change gradually to the higher Reynolds numbers towards the boundary-layer edge.
k model
The model is usually used for free-shear layer flows with relatively small pressure gradients and for wall-bounded
and internal flows. Experiments show that there are significant computational errors in case of flows containing
large adverse pressure gradients [13]. Therefore one can conclude that the k - model will be an inappropriate
choice for inlet flows.
Model comparison
Menter (1993) made an extensive comparison between (1) the classic k- model; (2) the original model; (3)
the BSL model; and (4) the SST model for various well documented flows. The tested flows were,
among others, two kinds of adverse pressure gradient flow (one having a very strong adverse pressure gradient,
so strong that separation occurs); the backward- facing-step flow; and the flow past a NACA 4412 airfoil at an
angle of attack near maximum lift condition. The main conclusion from this inter-comparison exercise was that
the , SST model gave the most accurate results while the k - model did not yield as accurate results as the
other three for the tested adverse-pressure-gradient flow cases [13].
40
Appendix B
Meshing
Checking topology...
Boundary definition OK.
Point usage OK.
Upper triangular ordering OK.
Face vertices OK.
Number of regions: 1 (OK).
Checking geometry...
Overall domain bounding box (-4.70337 -4.99993 0) (5.29659 4.99993 0.1)
Mesh (non-empty, non-wedge) directions (1 1 0)
Mesh (non-empty) directions (1 1 0)
Boundary openness (2.61868e-20 1.04916e-20 -7.79731e-19) OK.
Max cell openness = 2.05272e-16 OK.
Max aspect ratio = 59.9866 OK.
Minumum face area = 5.63862e-08. Maximum face area = 0.319527. Face area magnitudes OK.
Min volume = 5.63862e-09. Max volume = 0.0319527. Total volume = 7.84156. Cell volumes OK.
Mesh non-orthogonality Max: 58.999 average: 22.3203
Non-orthogonality check OK.
Face pyramids OK.
Max skewness = 0.585886 OK.
Min/max edge length = 0.00015462 0.719724 OK.
All angles in faces OK.
Face flatness (1 = flat, 0 = butterfly) : average = 1 min = 0.999996
All face flatness OK.
Cell determinant (wellposedness) : minimum: 0.0107548 average: 1.53826
Cell determinant check OK.
Checking topology...
Boundary definition OK.
Point usage OK.
Upper triangular ordering OK.
Face vertices OK.
Number of regions: 1 (OK).
Checking geometry...
Overall domain bounding box (-4.55057 -4.9997 0) (5.44939 4.9997 0.1)
41
APPENDIX B. MESHING 42
Fortran 90 code
The following code is used to write the file required to build a mesh in OpenF OAM . It allows easy change of the
mesh geometry based on the sketch in figure 2.3. This includes different flap positions and airfoil shapes.
PROGRAM Mesh
c---------------------------------------------------------------------
c produces an OpenFOAM file (BlockMeshDict) for testing the airfoil flaps mesh
c
! Defining vars
! Dimensions
r = 5
z0 = 0
z1 = 0.1
! Change of flap
phi = 0
! Mesh parameters
ctm = 1
g = 0.001!0.0005
glow = 50!200
dels = 5e-3
dele = 5e-2
f = dele/dels
f2 = 1
! open(unit=2,file="naca.data")
open(unit=2,file="naca.data")
read(2,*) np
do i=1,np
read(2,*) X(i), Y(i)
! write(*,*) X Y,X(i),Y(i)
end do
X = X*ctm
APPENDIX B. MESHING 43
Y = Y*ctm
n0 = np/2 + 1.5
do i=1,np
fl_n(1) = X(i)
fl_n(2) = Y(i)
fn = i
if ((X(i).lt.0.905) .and. (Y(i).gt.0))exit
end do
do i=1,np
if ((X(i).lt.0.905) .and. (Y(i).lt.0))then
fl_s(1) = X(i)
fl_s(2) = Y(i)
fs = i
endif
end do
do i=1,np
if (y5.lt.Y(i))then
x5 = X(i)
y5 = Y(i)
cn = i
endif
if (y7.gt.Y(i))then
x7 = X(i)
y7 = Y(i)
cs = i
endif
end do
call flap(phi,dy,X,Y,fn)
call lenth(X,Y,cn,n0,l4)
call lenth(X,Y,fn,cn,l3)
call grading(l4,f,dels,rays)
call grading(l3,f,dels,mrays)
call lenth(X,Y,1,fn,ln)
call lenth(X,Y,fs,np,ls)
! lfl = Y(1) - Y(np)
call grading(ln,f2,dels,brays)
Y(1) = Y(1)+dy
Y(np) = Y(np)+dy
! Point 0
APPENDIX B. MESHING 44
x0 = x5 - r
y0 = 0
!arcs
call points(r,l4/2,lx,ly)
arc0x = x5 - lx
arc0y = -ly
! Point 1
call points(r,l4,lx,ly)
x1 = x5 - lx
y1 = -ly
!arcs
arc1x = x5
arc1y = -r
! Point 2
call points(r,0.1,lx,ly)
x2 = x5 + lx
y2 = -ly
!arcs
arc2x = r + x5
arc2y = 0
! Point 3
call points(r,0.1,lx,ly)
x3 = x5 + lx
y3 = ly
!arc
arc3x = x5
arc3y = r
! Point 4
call points(r,l4,lx,ly)
x4 = x5 - lx
y4 = ly
!arc
call points(r,l4/2,lx,ly)
arc4x = x5 - lx
arc4y = ly
! Point 5
x5 = x5
y5 = y5
! Point 6
x6 = X(n0)
y6 = Y(n0)
! Point 7
x7 = x7
y7 = y7
! Point 8
x8 = fl_s(1)
y8 = fl_s(2)
! Point 9
x9 = fl_n(1)
y9 = fl_n(2)
APPENDIX B. MESHING 45
! Paralels
! arcs(r,X,Y,cn,cn+1,hx,hy)
pl5x = x5
pl5y = y5 + r/16
pl7x = x7
pl7y = y7 - r/16
c__________________________________________________________________
c______________________________________________________________________
c____ WRITING THE OpenFOAM File _____________________________
c______________________________________________________________________
open(unit=1, file=blockMeshDict,status=unknown)
c---------------------------------------------------------------------
write(1,*)/*--------------------------------*- C++ -*----,
1 --------------------------*\\
write(1,*)| ========= | ,
1 |
write(1,*)| \\ / F ield | OpenFOAM: The Op,
1 en Source CFD Toolbox |
write(1,*)| \\ / O peration | Version*: 1.7.1 ,
1 |
write(1,*)| \\ / A nd | Web: http://w,
1 ww.OpenFOAM.org |
write(1,*)| \\/ M anipulation | ,
1 |
write(1,*)\\*-----------------------------------------------,
1 ------------------------*/
write(1,*) FoamFile
write(1,*) {
write(1,*) version 2.0;
write(1,*) format ascii;
write(1,*) class dictionary;
write(1,*) object blockMeshDict;
write(1,*) }
write(1,*)
APPENDIX B. MESHING 46
write(1,*) //* * * * * * * * * * * * * * * * * * * * * * *,
1 * * * * * * * * * * * * //
! write(1,901) Test,X(51)
c_____Convert to metres:
write(1,900)convertToMeters,ctm,;
900 format(A,F5.2,A)
write(1,*)
write(1,*)
c_____PLACE POINTS:
write(1,*)vertices
write(1,*)(
write(1,901)(,x0,y0,z0,) //Pt 0
write(1,901)(,x1,y1,z0,) //Pt 1
write(1,901)(,x2,y2,z0,) //Pt 2
write(1,901)(,x3,y3,z0,) //Pt 3
write(1,901)(,x4,y4,z0,) //Pt 4
write(1,901)(,x5,y5,z0,) //Pt 5
write(1,901)(,x6,y6,z0,) //Pt 6
write(1,901)(,x7,y7,z0,) //Pt 7
write(1,901)(,x8,y8,z0,) //Pt 8
write(1,901)(,x9,y9,z0,) //Pt 9
write(1,901)(,x0,y0,z1,) //Pt 0
write(1,901)(,x1,y1,z1,) //Pt 1
write(1,901)(,x2,y2,z1,) //Pt 2
write(1,901)(,x3,y3,z1,) //Pt 3
write(1,901)(,x4,y4,z1,) //Pt 4
write(1,901)(,x5,y5,z1,) //Pt 5
write(1,901)(,x6,y6,z1,) //Pt 6
write(1,901)(,x7,y7,z1,) //Pt 7
write(1,901)(,x8,y8,z1,) //Pt 8
write(1,901)(,x9,y9,z1,) //Pt 9
write(*,*)
write(1,*));
c-----PLACE BLOCKS:
write(1,*)
write(1,*)blocks
write(1,*)(
c BLOC 0:
write(1,903)hex (,0,1,7,6,10,11,17,16,) (,rays,glow,1,
1 ),simpleGrading (,f,g,1,)!Face 0
write(1,903)hex (,1,2,8,7,11,12,18,17,) (,mrays,glow,1,
1 ),simpleGrading (,1/f,g,1,)!Face 1
write(1,903)hex (,2,3,9,8,12,13,19,18,) (,brays,glow,1,
1 ),simpleGrading (,f2,g,1,)!Face 2
write(1,903)hex (,3,4,5,9,13,14,15,19,) (,mrays,glow,1,
1 ),simpleGrading (,f,g,1,)!Face 3
write(1,903)hex (,4,0,6,5,14,10,16,15,) (,rays,glow,1,
1 ),simpleGrading (,1/f,g,1,)!Face 4
write(*,*)
write(1,*));
! Section 0 6 7
APPENDIX B. MESHING 47
write(1,*)polySpline,6,7,(
do i=n0+1,cs-1
write(1,909)(,X(i),Y(i),z0,)
enddo
write(1,*))
write(1,*)polySpline,16,17,(
do i=n0+1,cs-1
write(1,909)(,X(i),Y(i),z1,)
enddo
write(1,*))
! Section 1 7 8
write(1,*)polySpline,7,8,(
do i=cs+1,fs-1
write(1,909)(,X(i),Y(i),z0,)
enddo
write(1,*))
write(1,*)polySpline,17,18,(
do i=cs+1,fs-1
write(1,909)(,X(i),Y(i),z1,)
enddo
write(1,*))
! Section 3 9 5
write(1,*)polySpline,9,5,(
do i=fn+1,cn-1
write(1,909)(,X(i),Y(i),z0,)
enddo
write(1,*))
write(1,*)polySpline,19,15,(
do i=fn+1,cn-1
write(1,909)(,X(i),Y(i),z1,)
enddo
write(1,*))
! Section 4 4 0
write(1,*)polySpline,5,6,(
do i=cn+1,n0-1
write(1,909)(,X(i),Y(i),z0,)
enddo
write(1,*))
write(1,*)polySpline,15,16,(
do i=cn+1,n0-1
write(1,909)(,X(i),Y(i),z1,)
enddo
write(1,*))
! Arc 0
write(1,910)arc,0,1,(,arc0x,arc0y,z0,)
write(1,910)arc,10,11,(,arc0x,arc0y,z1,)
! Arc 1
write(1,910)arc,1,2,(,arc1x,arc1y,z0,)
write(1,910)arc,11,12,(,arc1x,arc1y,z1,)
APPENDIX B. MESHING 48
! Arc 2
write(1,910)arc,2,3,(,arc2x,arc2y,z0,)
write(1,910)arc,12,13,(,arc2x,arc2y,z1,)
! Arc 3
write(1,910)arc,3,4,(,arc3x,arc3y,z0,)
write(1,910)arc,13,14,(,arc3x,arc3y,z1,)
! Arc 4
write(1,910)arc,4,0,(,arc4x,arc4y,z0,)
write(1,910)arc,14,10,(,arc4x,arc4y,z1,)
!
! ! 4 5
! write(1,910)arc,4,5,(,pl5x,pl5y,z0,)
! write(1,910)arc,14,15,(,pl5x,pl5y,z1,)
!
! ! 1 7
! write(1,910)arc,1,7,(,pl5x,pl5y,z0,)
! write(1,910)arc,11,17,(,pl5x,pl5y,z1,)
!
!
! ! 9 3
! write(1,910)arc,9,3,(,pl9x,pl9y,z0,)
! write(1,910)arc,19,13,(,pl9x,pl9y,z1,)
!
! ! 9 3
! write(1,910)arc,8,2,(,pl9x,-pl9y,z0,)
! write(1,910)arc,18,12,(,pl9x,-pl9y,z1,)
! Arc 4 5
write(1,*)polyLine,4,5,(
write(1,909)(,pl5x,pl5y,z0,)
write(1,*))
write(1,*)polyLine,14,15,(
write(1,909)(,pl5x,pl5y,z1,)
write(1,*))
! Arc 1 7
write(1,*)polyLine,1,7,(
write(1,909)(,pl7x,pl7y,z0,)
write(1,*))
write(1,*)polyLine,11,17,(
write(1,909)(,pl7x,pl7y,z1,)
write(1,*))
! Arc 9 3
write(1,*)polyLine,9,3,(
write(1,909)(,pl9x,pl9y,z0,)
write(1,*)) // trailing edge
write(1,*)polyLine,19,13,(
write(1,909)(,pl9x,pl9y,z1,)
write(1,*)) // trailing edge
! Arc 8 2
write(1,*)polyLine,8,2,(
write(1,909)(,pl9x,-pl9y,z0,)
write(1,*)) // trailing edge
write(1,*)polyLine,18,12,(
write(1,909)(,pl9x,-pl9y,z1,)
write(1,*)) // trailing edge
APPENDIX B. MESHING 49
write(1,*));
909 format(2x,A10,3(F7.4,X),A1)
910 format(A5,2(X,I2),A4,3(F9.6,2X),A12)
911 format(A5,2(X,I2),A4,3(F7.4,2X),A12)
close(1)
END
subroutine lenth(X,Y,p1,p2,l)
double precision X(1000),Y(1000)
real a,b,l
integer i,p1,p2
l = 0
do i=p1,p2-1
b = Y(i)-Y(i+1)
a = X(i)-X(i+1)
c = sqrt(a*a + b*b)
l = l + c
enddo
APPENDIX B. MESHING 50
end
subroutine grading(l,g,dels,rays)
real l,g,dels,sm
integer rays
sm = l/dels
! pr = (2*(sm - (g/(2*pr))*dels))/((g/(2*pr))*((g/(2*pr))-1))
! x = (2*(a - (b/(2*x))*d))/((b/(2*x))*((b/(2*x))-1)), solve x
pr = g*(g + 4*dels)/(2*(4*sm+g))
rays = g/(2*pr)
! write(*,*)sm,sm,pr,rays
end
subroutine points(r,l,lx,ly)
real l,r,lx,ly,alpha
pi = 3.1416
alpha = l*pi
lx = cos(alpha)*r
ly = sin(alpha)*r
! write(*,*)l,r,lx,ly,alpha,l,r,lx,ly,alpha
end
subroutine arcs(r,X,Y,p1,p2,hx,hy)
double precision X(1000),Y(1000)
real r,hr,hx,hy,beta
integer p1,p2
hr = r/64
beta = atan(abs(Y(p1)-Y(p2))/abs(X(p1)-X(p2)))
hx = sin(beta)*hr
hy = cos(beta)*hr
! write(*,*)r,hr,hx,hy,beta,r,hr,hx,hy,beta
end
subroutine flap(phi,dy,X,Y,fn)
double precision X(1000),Y(1000)
real phi,dy,lf
integer fn
pi = 3.1416
phi = phi*pi/180
lf = abs(X(fn) - X(1))
dy = tan(phi)*lf
phi = (phi/pi)*180
! write(*,*)phi,dy,lf,phi,dy,lf
end
Appendix C
OpenFOAM
fvSchemes
/*--------------------------------*- C++ -*----------------------------------*\
| ========= | |
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
| \\ / O peration | Version: 1.7.1 |
| \\ / A nd | Web: www.OpenFOAM.com |
| \\/ M anipulation | |
\*---------------------------------------------------------------------------*/
FoamFile
{
version 2.0;
format ascii;
class dictionary;
object fvSchemes;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
ddtSchemes
{
default steadyState;
}
gradSchemes
{
default Gauss linear;
grad(p) Gauss linear;
grad(U) Gauss linear;
}
divSchemes
{
default none;
div(phi,U) Gauss linearUpwind Gauss linear;
div(phi,k) Gauss upwind;
div(phi,omega) Gauss upwind;
div((nuEff*dev(grad(U).T()))) Gauss linear;
}
laplacianSchemes
{
default Gauss linear corrected;
}
interpolationSchemes
{
default linear;
51
APPENDIX C. OPENFOAM 52
snGradSchemes
{
default corrected;
}
fluxRequired
{
default no;
p;
}
// ************************************************************************* //
fvSolution
/*--------------------------------*- C++ -*----------------------------------*\
| ========= | |
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
| \\ / O peration | Version: 1.7.1 |
| \\ / A nd | Web: www.OpenFOAM.com |
| \\/ M anipulation | |
\*---------------------------------------------------------------------------*/
FoamFile
{
version 2.0;
format ascii;
class dictionary;
object fvSolution;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
solvers
{
p
{
solver GAMG;
tolerance 1e-7;
relTol 0.1;
smoother GaussSeidel;
nPreSweeps 0;
nPostSweeps 2;
cacheAgglomeration on;
agglomerator faceAreaPair;
nCellsInCoarsestLevel 10;
mergeLevels 1;
}
U
{
solver smoothSolver;
smoother GaussSeidel;
tolerance 1e-8;
relTol 0.1;
nSweeps 1;
}
k
{
solver smoothSolver;
smoother GaussSeidel;
tolerance 1e-8;
APPENDIX C. OPENFOAM 53
relTol 0.1;
nSweeps 1;
}
omega
{
solver smoothSolver;
smoother GaussSeidel;
tolerance 1e-8;
relTol 0.1;
nSweeps 1;
}
}
SIMPLE
{
nOuterCorrectors 2;
nCorrectors 2;
nNonOrthogonalCorrectors 0;
pRefCell 0;
pRefValue 0;
residualControl
{
p 1e-2;
U 1e-3;
"(k|omega)" 1e-3;
}
}
relaxationFactors
{
p 0.3;
U 0.3;//0.6;
k 0.3;//0.6;
omega 0.3;//0.5;
}
cache
{
grad(U);
}
// ************************************************************************* //
Appendix D
Experiment
Airfoil NACA-63418
Figure D.2: Sketch of the central section with the pressure tabs, by Clara Vette
54
APPENDIX D. EXPERIMENT 55
P01-23Sx80/10x50
40
Max. Stroke: 50mm
Peak Force: 39N
30
Standard Winding:
Force [N]
E1100, 72VDC &
20 E1001, 72VDC
E100, 48VDC
10
0
Max. Stroke 50
SS Stroke 10
ls=130
P01-23Sx80/10x50
5
15
ZP=20
105 25
45 Dimensions in mm
Motor Specification
P01-23Sx80/10x50
Position-Time Diagram
120
P01-23Sx80/10x50
100 Standard Winding
80
Time [ms]
1.5 kg
1.0 kg
60
0.5 kg
40 0.0 kg
20
Moving Slider
0
0 10 20 30 40 50
Stroke [mm]
Edition 15
36 www.LinMot.com subject to change