You are on page 1of 61

Master Thesis

Investigation of 2D Airfoils equipped with a trailing


edge aps
MSc in Wind Energy
Teodor Kaloyanov
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 aps
Division: Wind Energy Division
Technical University of Denmark
October 7, 2011
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 eld 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 aps on an wind
turbine blades, similar to those on the airplane wings can signicantly 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
2.1 Overview of OpenFOAM structure [2] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
2.2 Basic structure of OpenFOAM program folders . . . . . . . . . . . . . . . . . . . . . . . . 3
2.3 Sketch of the model . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
2.4 C-mesh of NACA0012 airfoil, [9] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
2.5 O-mesh of NACA0012 airfoil, [11] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
2.6 Sketch of airfoil O-mesh for OpenFOAM . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
2.7 Final mesh used for the simulations of NACA0012 airfoil, ParaV iew . . . . . . . . . . . . 8
2.8 Airfoil coordinates . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
2.9 Laminar simulations NACA0012, Pressure distribution, P, for Re = 1e2 and Re = 1e3 . . 15
2.10 Laminar simulations NACA0012, Boundary layer view in terms of velocity, U, for Re = 1e2
and Re = 1e3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
2.11 Lift coecient, c
L
over NACA0012, at Angle of Attack, AoA = 4 : 16

. . . . . . . . . . 17
2.12 Drag coecient, c
D
over NACA0012, at Angle of Attack, AoA = 4 : 16

. . . . . . . . . 17
2.13 Lift-drag ratio, c
L
/c
D
over NACA0012, at Angle of Attack, AoA = 4 : 16

. . . . . . . . 17
2.14 Pressure distribution, Cp over NACA0012, for Reynolds number, Re = 1e6, and Angle of
Attack, AoA = 5

, and Flap angle, flap = 0

. . . . . . . . . . . . . . . . . . . . . . . . . 19
2.15 Pressure distribution, Cp over NACA0012, for Reynolds number, Re = 1e6, and Angle of
Attack, AoA = 5

, and Flap angle, flap = 5

. . . . . . . . . . . . . . . . . . . . . . . . . 19
2.16 Pressure distribution, Cp over NACA0012, for Reynolds number, Re = 1e6, and Angle of
Attack, AoA = 5

, and Flap angle, flap = 5

. . . . . . . . . . . . . . . . . . . . . . . . 19
2.17 Pressure distribution, Cp over NACA0012, for Reynolds number, Re = 1e6, and Angle of
Attack, AoA = 0

, and Flap angle, flap = 0

. . . . . . . . . . . . . . . . . . . . . . . . . 20
2.18 Pressure distribution, Cp over NACA0012, for Reynolds number, Re = 1e6, and Angle of
Attack, AoA = 0

, and Flap angle, flap = 5

. . . . . . . . . . . . . . . . . . . . . . . . . 20
2.19 Pressure distribution, Cp over NACA0012, for Reynolds number, Re = 1e6, and Angle of
Attack, AoA = 5

, and Flap angle, flap = 5

. . . . . . . . . . . . . . . . . . . . . . . . 20
2.20 Pressure distribution, Cp over NACA0012, for Reynolds number, Re = 1e6, and Angle of
Attack, AoA = 0

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
2.21 Pressure distribution, Cp over NACA0012, for Reynolds number, Re = 1e6, and Angle of
Attack, AoA = 0

, and Flap angle, flap = 0

. . . . . . . . . . . . . . . . . . . . . . . . . 21
2.22 Pressure distribution, Cp over NACA0012, for Reynolds number, Re = 1e6, and Angle of
Attack, AoA = 0

, and Flap angle, flap = 5

. . . . . . . . . . . . . . . . . . . . . . . . . 21
2.23 Forces coecients from OpenFOAM simulations . . . . . . . . . . . . . . . . . . . . . . . 23
2.24 Pressure distribution, Cp over NACA64318, for Reynolds number, Re = 3e6, Free stream
velocity, AoA = 6 and AoA = 10 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
2.25 Pressure distribution, Cp over NACA64318, for Reynolds number, Re = 3e6, Free stream
velocity, AoA = 12 and AoA = 14 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
2.26 Pressure distribution, Cp over NACA64318, for Reynolds number, Re = 3e6, Free stream
velocity, AoA = 16 and AoA = 18 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
3.1 Experiment setup . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
3.2 Pictures of NACA 63418 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
3.3 Picture of the linear motor - LinMot . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
3.4 Installation scheme of the linear motor [17] . . . . . . . . . . . . . . . . . . . . . . . . . . 29
3.5 Mac Motor connection scheme [20] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
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 coecient distribution on the airfoil surfaces for each pressure tab, Re = 3.1888e5 35
3.11 Pressure coecient distribution comparison, Re = 3.1888e5, experiment ap position V =
2.0, OpenFOAM ap position 0[deg] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36
3.12 Pressure coecient distribution comparison corrected, Re = 3.1888e5, experiment ap
position V = 2.0, OpenFOAM ap position 0[deg] . . . . . . . . . . . . . . . . . . . . . . 37
3.13 Force coecients comparison Experiment and OpenFOAM results . . . . . . . . . . . . 37
D.1 Airfoil ap motion sketch, by Clara Vette . . . . . . . . . . . . . . . . . . . . . . . . . . . 54
D.2 Sketch of the central section with the pressure tabs, by Clara Vette . . . . . . . . . . . . . 54
D.3 Linear motor specication [19] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55
List of symbols
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 coecient
c
L
Lift coecient
c
D
Drag coecient
Dynamic viscosity
Kinematic viscosity
Density

t
Turbulent viscosity
Turbulent kinetic energy
Specic dissipation rate of turbulence kinetic energy
I Turbulence intensity
l Turbulent length scale
y
+
Dimensionless wall distance
U
f
Friction velocity
g Ratio between the rst 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 eect by controlling and opti-
mizing dierent 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 ow
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 ow control is already widely discussed topic
within the wind energy eld.
The are various mechanisms which can be applied for local control of the ow around the turbine blade. A
good discussion of some classical boundary layer control devices is presented in Adaptive wing and ow
control technology [5]. A relatively simple and ecient solution is the trailing edge movable aps 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 nd 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 aps on the wind turbine blade similar to the aps of airplane blade. The
author [1] argues that a blade with added trailing edge aps signicantly reduces the fatigue loads on the
turbine. He concludes that attaching aps on the wind turbine blades have signicant inuence on the
wing aeroelastic stability. As a result, a single ap with a length of 10% the blade length based on the
control achieves up to 30% load reduction, and for three aps up to 40%.
In addition this technology would provide much faster and cheaper capability of tracking optimum lift
because the motion requires suciently less energy to move the aps, rather than the whole wing. More-
over the change in the pitch angle would change the ow over the whole blade, while the aps alter the
ow around a specic section of the blade.
In order to analyze the ow around a blade with moving aps 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 ow around a section of the blade using the current state technology and
software. The investigation includes computational uid dynamics (CFD) modeling via OpenFOAM,
and experiments in a wind tunnel laboratory. The CFD computations include turbulence modeling
because of the high Reynolds number ows 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 OpenFOAM together with additional programming
and scripting on Fortran90, Shellscript and Octave used to generate the mesh le, 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
OpenFOAM is an open source commercial CFD code written on C++. It was chosen for this particular
case because of its exibility and accessibility. It consists of various embedded libraries which are acces-
sible for review and modications. 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].
Figure 2.1: Overview of OpenFOAM structure [2]
In order to facilitate the reader with the content, the basics of the program are briey explained. Figure
2.1 presents the overall structure of OpenFOAM and gure 2.2 shows a block diagram of the OpenFOAM
case folder structure. The system directory is hosting the control tools, the nite volume schemes and
the nite 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 les
which dene the mesh and the dimensional uid 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 uid parameters one have to specify the initial vectors and elds 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 nished.
2
CHAPTER 2. MODELING 3
CASE
System
Control Dictinary
Finite Volume
Schemes
Finite Volume
Solutions
Constant
Transport Properties
Polymesh
Block Mesh
Boundaries
Time
Directories
Initial and boundary
conditions
Sample Dictinary
Variable solutions for
each time step
Figure 2.2: Basic structure of OpenFOAM program folders
2.3 Model Description
Figure 2.3 shows a simple sketch of model - airfoil with a moving ap. The movable part is shaded in
dark gray at its initial position, while the lighter gray tip presents its position for a certain angle. As
proposed in [6] the trailing edge aps accounts for 10% of the airfoil, where the trailing ap is modeled
as a exible part which bends its sides when it aps. However in this particular model for simplication
the ap motion will not provoke changes in its shape. In practice this eect depends on the mechanical
design of the airfoil as there are many dierent ways how a aps can be attached to a wing. As positive
direction of the ap motion is consider clockwise rotation, e.g. the airfoil on the gure has been rotated
on ap angle of around minus ten degrees.
U
x
U
y
x
y
U
Figure 2.3: Sketch of the model
The airow will be presented in terms of two vectorial components, Ux along the chord of the airfoil, and
Uy 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 ow at realistically high Reynolds numbers (Re)
around an airfoil at dierent angles of attack, and dierent ap positions. The model will be rst 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 OpenFOAM 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 uid (equation 2.1).
Thus the major parameters are given in table 2.1:
CHAPTER 2. MODELING 4
Table 2.1: Initial parameters, boundary conditions
Quantity Value Dimension
Free stream velocity 1 [m/s]
Airfoil chord, c 1 [m]
Reference pressure 0 [N/m
2
]
Kinematic viscosity variable [m
2
/s]
Re =
Uc

=
1

(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 OpenFOAM [2]. However the project
requires a moving mesh in order to simulate the ow around a airfoil with a moving ap. This implies the
need for facilitation of a mesh which is easily modiable even during simulations. OpenFOAM itself is
equipped with a mesh generation tool for structured meshes called blockMesh [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 Paraview, the program which is generally used for visual post processing for OpenFOAM.
[2].
2.4.2 Mesh generation
There are various kinds of meshes which are used to simulate a ow around airfoil. Among those the
most popular are the C-mesh, shown on gure 2.4, and O-mesh, presented on gure 2.5. Although the
C-mesh it easier to produce and control, as can be seen from gure 2.4 it will not provide as accurate
solution as the O-mesh in the wake for dierent angles of attack. Since the O-mesh is not dependent
on the ow direction, it is the preferred option. However in the case of the O-mesh, it is a challenge
to supply meshing lines perpendicular to the surface of the airfoil close to the trailing and leading edge.
Fortunately, the solvers like OpenFOAM can take into account non orthogonal edges, and can nd the
same solution.
Figure 2.4: C-mesh of NACA0012 airfoil, [9]
CHAPTER 2. MODELING 5
Figure 2.5: O-mesh of NACA0012 airfoil, [11]
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 denes it.
0
1 2
3
4
5
6
7
8
9
0
1
2
3
4
Figure 2.6: Sketch of airfoil O-mesh for OpenFOAM
Vertexes - Labeled major points which dene 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 dened 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 dened as the ration between the last and the rst cell.
Patches - The sides of the blocks which are not neighboring each other have to be dened as patches.
CHAPTER 2. MODELING 6
Table 2.2: Mesh Major Points
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 dene the boundaries of the mesh and therefore the boundary conditions
for the uid quantities.
Vertexes
Based on those parameters have been build a blockMeshDict le 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 gure 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 ve marked as big numbers in gray circles. In order to dene 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 ap position the two points at
90% chord are connected though a spline passing by the last two points of the trailing edge. Therefore the
ap 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 nding 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 nds 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 nding 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
Table 2.3: Mesh Edges
Edges (points) Description
Edge (0 1) An arc based on a middle point
Edge (1 2) An arc based on the southern point of the main circle
Edge (2 3) An arc based on the eastern point of the main circle
Edge (3 4) An arc based on the northern point of the main circle
Edge (4 0) An arc based on a middle point
Edge (4 5) A spline which yields perpendicularity with both ends
Edge (3 9) A spline which yields perpendicularity with both ends
Edge (2 8) A spline which yields perpendicularity with both ends
Edge (1 7) A spline which yields perpendicularity with both ends
Edge (5 6) A spline composed from the airfoil coordinates
Edge (6 7) A spline composed from the airfoil coordinates
Edge (7 8) A spline composed from the airfoil coordinates
Edge (8 9) A spline composed from the airfoil coordinates
edges.
= tan
1
abs(y(p
i
) y(p
i1
)
abs(x(p
i
) x(p
i1
)
(2.2)
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 nner 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 rst 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.
s =
n
2(2s + (n 1)d)
(2.3)
Where s is the sum of progression, n is the number of terms, s is the value of the rst term, and d
is the dierence between two terms. Based on that one can derive the number of mesh cells and their
progression ratio, g.
g =
s
e
(2.4a)
S =
l
s
(2.4b)
l =
np

i
_
(x(i) x(i + 1))
2
+ (y(i) y(i + 1))
2
(2.4c)
p
r
=
g(g + 4s)
(2(4S +g))
(2.4d)
rays =
g
2p
r
(2.4e)
Where np is the number of points on the airfoil; x(i) coordinate on the airfoil surface; g is the ration
between the rst and the last cell (e); S is the sum of the elements; l is the length of the airfoil curve;
p
r
is the progress rate of the arithmetic progression; and rays is the number of cells perpendicular to the
airfoil surface. The equation for p
r
has been derived using V olframMathematica.
CHAPTER 2. MODELING 8
Table 2.4: Patches
Patch (points) Description
Inlet Starting eld of the ux, composed of sides with edges (4 0) and (1 0)
Outlet Final eld of the ux, composed of sides with edges (1 2), (2 3) and (3 4)
Airfoil The wall of the airfoil, consisting of side with edges (5 6) (6 7) (7 8) (8 9) (9 5)
Patches
As described above the patches are the sides of the hexagons with no neighboring blocks and they are
used to dene boundaries conditions. OpenFOAM allows assigning various kinds of patches which have
specic properties. For this project the patches of particular interest are inletOutlet and wall. The
rst option will switch the velocity and the pressure between either a xed value and a zero gradient
depending on the direction of the ux. 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 Fotran90 scrip B as it creates
the le blockMeshDict which the OpenFOAM utility blockMesh uses to create the mesh. The code
generates supporting les 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 ParaV iew.
Figure 2.7 presents the resulting mesh.
Figure 2.7: Final mesh used for the simulations of NACA0012 airfoil, ParaV iew
2.5 Boundary conditions
The variables of particular interest, and which require BC are the uid quantities - velocity and pressure.
Furthermore for the turbulence modeling will be used K-omega SST model therefore there is a need for
setting BC for the turbulent viscosity, kinematic energy and dissipation rate. This implies that there
near the airfoil surface for the computations will be used wall functions, which will be briey explained
in section 2.6.4
The boundary conditions are summarized in table 2.5 where I is the turbulence intensity, and l is the
mixing length. For this model the turbulence intensity have been set to 5%, and the mixing length have
been estimated as a quarter of the chord.
CHAPTER 2. MODELING 9
Table 2.5: Boundary conditions
Quantity Equation Inlet/Outlet Airfoil Dimension
U - free stream xed value [m/s]
p - free stream xed value [N/m
2
]

t
_
3
2
(UIl) or 5 free stream wall function [m
2
/s]

3
2
(UI)
2
free stream wall function [m
2
/s
2
]

k
l
free stream wall function [1/s]
Table 2.6: Divergence terms
Term Equation Interpolation scheme
Convection, U (UU) Upwind second order linear
Convection, (kU) Linear limited
Convection, (U) Linear limited
SST transport


ij
u
i
x
j
Linear
2.6 Solution
This section explains the numerical algorithms and models built in OpenFOAM which are used for this
particular case.
2.6.1 Finite Volume Schemes
The nite volume method is used to evaluate and solve partial dierential equations as it estimates values
at discrete locations (volumes) on a particular mesh. Thus a nite volume is the area surrounding the
central point of the mesh cells. [7]. Then the equations are solved using conservation of momentum ux
through this control volume(CV).
The nite volume method in OpenFOAM is presented by several numerical schemes for dierent mathe-
matical operator in the dierential equations [2]. Depending on the particular application the user specify
how to model each of those numerical schemes. One can review the options for those tools even online
[3], where the source code is presented.
First and second time derivatives
The time derivatives

t
and

2
t
2
are estimated by the use of simple Euler scheme, which is a rst order,
bounded, implicit scheme. However in order to estimate initial elds for the velocity, the pressure and
the ux, 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. OpenFOAM 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 OpenFOAM 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
Point-to-point interpolations of values
Based on the case one can select dierent nite dierence method in order to perform the interpolations
required for each nite volume scheme. The upwind dierence scheme is the most commonly used since
it is one order more accurate than the central dierence scheme.
Component of gradient normal to a cell face
The surface normal gradient is calculated at the cell face. It is the component which is normal to the
face of the gradient of the central cell values for those two cells that this face connects. A surface normal
gradient requires evaluation of Laplacian term by the use of Gaussian integration.
2.6.2 Finite Volume Solutions
OpenFOAM is equipped with solutions and algorithm control for various applications. It species each
linear solver which is used for each discretized equation [2]. Thus the user species an individual method
and its properties of number-crunching to solve the set of linear equations for each variable of particular
interest.
2.6.3 Solvers
The uid dynamics solver applications in OpenFOAM are based on pressure-implicit split-operator
(PISO) or semi-implicit method for pressure-linked equations (SIMPLE) algorithms. These algorithms
are iterative procedures for solving equations for velocity and pressure, as PISO is being used for transient
problems and SIMPLE for steady-state. Both algorithms are based on evaluating initial solutions and
then correcting them by the use of nite volume schemes. SIMPLE only makes one correction while
PISO requires around four as the user can specify this number.
Steady State Solution
The steady state solution is implemented by the OpenFOAM semi-implicit method for pressure-Linked
equations SimpleFoam. It solves the Navier-Stokes equations with the following iterative procedure:
1. Boundary conditions (BC) setup
2. Momentum equation solved in order to compute the intermediate velocity eld
3. Mass uxes evaluated for each cell face
4. Pressure equation solved (under-relaxation)
5. Mass uxes corrected for each cell face
6. Velocities updated by for the updated pressure eld
7. Boundary conditions updated
8. The process is repeat until convergence
* Steps 4 and 5 could be looped for a prescribed time in order to correct in case of non-orthogonality.
Navier-Stokes equations (2.5 and 2.6) for incompressible ow, constant density and viscosity:
(U) = 0 (2.5)
U
t
+ (uu) (u) = p (2.6)
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 coecients of an
neighbor cells a
p
times their velocities U
n
and then this is added to the unsteady term eq : continuity.
a
p
U
p
= H(U) p U
p
=
H(U)
a
p

p
a
p
(2.7)
CHAPTER 2. MODELING 11
H(U) =

n
a
n
U
n
+
U
o
t
(2.8)
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:
U =

f
SU
f
(2.9)
U
f
=
_
H(U)
a
p
_
f

(p)
f
(a
p
)
f
(2.10)
Finally substituting equation 2.10 in equation 2.9 one can obtained an equation for the pressure (2.14).

_
1
a
p
p
_
=
_
H(U)
a
p
_
=

f
U
_
H(U)
a
p
_
f
(2.11)
2.6.4 Turbulence Model K-Omega SST
In order to imitate realistic ow conditions similar to those in the wind tunnel experiment, the simulations
have to be executed for high Reynolds numbers. The ow around airfoil is laminar for Reynolds numbers
lower than 200. For Reynolds numbers between 200 and 1000 one can witness the laminar vortex shedding,
and for Reynolds numbers above 1000 the ow becomes turbulent. In order to simulate a turbulent ow
around an object should use a special model which take into account the turbulent uid quantities which
occur in the equations. OpenFOAM repository oers numerous Raynolds-Averaged equations models
(RAS) as for high Reynolds numbers those are standard , , SST, as well as the 1 equation
mixing-length Spalart-Allmaras model. Appendix A oers a brief overview and discussion about those
models.
The simulations for this project are implemented using the k shear stress transport (SST) model as
the most suitable for high Reynolds ows pressure gradient ows.
The equations of the model are presented below, the way they are interpreted in OpenFOAM.
The specic dissipation of turbulent kinetic energy is given in equation 2.12

t
+ (u) =
2
[( +
t

)] +


ij
u
i
x
j

2
+ 2(1 F
1
)
2
1

+P
sas
(2.12)
The turbulent kinetic energy is modeled as (eq. 2.13):

t
+ (u) =
2
[( +
t

)] +
ij
u
i
x
j

(2.13)

_
1
a
p
p
_
=
_
H(U)
a
p
_
=

f
U
_
H(U)
a
p
_
f
(2.14)
CHAPTER 2. MODELING 12
P
sas
= 1.25max(T
1
T
2
, 0) (2.15a)
T
1
= 1.755S
2
L
L

(2.15b)
T
2
= 3 max
_
1

2
,
1

2

_
(2.15c)
L =

1
2
c

1
4
(2.15d)
L

=
S
|
2
u|
(2.15e)

t
=

1

max(
1
, F
2
)
(2.15f)
F
2
= tanh
_
_
max
_
2

y
,
500
y
2

__
2
_
(2.15g)
F
1
= tanh
_
_
min
_
max
_
2

y
,
500
y
2

_
,
4
2

CD

y
2
__
4
_
(2.15h)
CD

y
2
= max
_
2
2
1

k
x
i

x
i
, 10
10
_
(2.15i)

1
=
5
9
(2.15j)

2
= 0.44 (2.15k)

1
=
3
40
(2.15l)

2
= 0.0828 (2.15m)

=
9
100
(2.15n)

1
= 0.85 (2.15o)

2
= 1 (2.15p)

1
= 0.5 (2.15q)

2
= 0.856 (2.15r)
a
1
= 0.31 (2.15s)
C
1
= 10 (2.15t)
2.6.5 Time control
The selection of proper time control depends on the mesh properties in terms of number of cells, size and
shapes, as well as the properties of the ow, and the main solver. For the steady state solutions, it is
important that the simulation runs for sucient amount of time until it converges to the desired value.
The process of selecting the proper time control is manual and includes initial calculations and testing
with dierent relaxation parameters. The relaxation parameters allow the user to specify how fast should
one quantity converge.
CHAPTER 2. MODELING 13
Table 2.7: Mesh parameters based on the dierent case scenarios
Parameter NACA0012 laminar NACA0012, SST NACA64318, SST
Number Cells 5700 11350 22850
Airfoil CVs 114 227 457
s 1e-2 5e-3 5e-3
e 1e-1 5e-2 2e-2
2.7 Simulations
In this section are presented the simulation scenarios of particular interest to the model. The results
from OpenFOAM 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
nite 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 ow 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 OpenFOAM 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 proles of both airfoils involved in the simulations are shown on gure 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.
y
+
=
U
f
y

(2.16)
Where U
f
is the friction velocity, and y is the height of the nearest cell to the wall.
-0.4
-0.2
0
0.2
0.4
0 0.2 0.4 0.6 0.8 1
y

[
-
]
x [-]
NACA0012
NACA63418
Figure 2.8: Airfoil coordinates
CHAPTER 2. MODELING 14
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 gure 2.9 one can observe the wind speed behavior
along the airfoil for dierent angles of attack. At small angles of attack the boundary layer for the lower
Reynolds number is signicantly thicker, and this eect is reduced for higher AoA. The area around
the stagnation point where the ow 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 ow 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 inuence 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 gures 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 dierent ap 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 coecients for those cases are presented on gures 2.11, 2.12 and 2.13. Figure 2.11a presents the
results for the lift curves of NACA0012 mesh for the three ap positions, at Reynolds number of 200000.
One can observe that the change in the ap angle results in translation the lift curve along the y axis. The
ap deection 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 c
L
. The sample
eect holds for ap deection in the other direction (contra-clockwise) as minus 5 degrees results in lift
reduction of around 0.1. Then on gure 2.11b one can review a comparison between OpenFOAM results
and synthesized data from a combination of experimental results and computer calculations (source [14]).
The lift coecient behavior is given for dierent Reynolds numbers. One can see how as Re increases
the rated c
P
is rising up. The OpenFOAM results and the experiment data are in a good agreement in
the linear part of the c
P
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
coecient behavior for dierent ap positions. It slightly increases for positive rotation and decreases for
negative, as the change tends to have linear behavior. On gure 2.12b one can observe c
D
comparison. As
expected the drag coecient decreases for higher Reynolds number as for the OpenFOAM 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 eect the turbulence quantities in the model
have to additionally tunned.
CHAPTER 2. MODELING 15
(a) AoA = 5

, Re = 1e2 (b) AoA = 4 : 16

, Re = 1e3
(c) AoA = 0

, Re = 1e2 (d) AoA = 0

, Re = 1e3
(e) AoA = 10

, Re = 1e2 (f) AoA = 10

, Re = 1e3
(g) AoA = 14

, Re = 1e2 (h) AoA = 14

, Re = 1e3
(i) AoA = 20

, Re = 1e2 (j) AoA = 20

, Re = 1e3
Figure 2.9: Laminar simulations NACA0012, Pressure distribution, P, for Re = 1e2 and Re = 1e3
CHAPTER 2. MODELING 16
(a) AoA = 5

, Re = 1e2 (b) AoA = 4 : 16

, Re = 1e3
(c) AoA = 0

, Re = 1e2 (d) AoA = 0

, Re = 1e3
(e) AoA = 10

, Re = 1e2 (f) AoA = 10

, Re = 1e3
(g) AoA = 14

, Re = 1e2 (h) AoA = 14

, Re = 1e3
(i) AoA = 20

, Re = 1e2 (j) AoA = 20

, Re = 1e3
Figure 2.10: Laminar simulations NACA0012, Boundary layer view in terms of velocity, U, for Re = 1e2
and Re = 1e3
CHAPTER 2. MODELING 17
(a) c
L
, ap comparison OpenFOAM,Re = 2e5
-0.5
0
0.5
1
1.5
-5 0 5 10 15 20
C
l

[
-
]
AoA [deg]
OpenFOAM Re2e5
OpenFOAM Re1e6
Exp Re1.6e5
Exp Re3.6e5
Exp Re7e5
Exp Re1e6
(b) c
L
, Re comparison with experiments
Figure 2.11: Lift coecient, c
L
over NACA0012, at Angle of Attack, AoA = 4 : 16

(a) c
D
, ap comparison OpenFOAM,Re = 2e5
0
0.02
0.04
0.06
0.08
0.1
-5 0 5 10 15 20
C
d

[
-
]
AoA [deg]
OpenFOAM Re2e5
OpenFOAM Re1e6
Exp Re1.6e5
Exp Re3.6e5
Exp Re7e5
Exp Re1e6
(b) c
D
, Re comparison with experiments
Figure 2.12: Drag coecient, c
D
over NACA0012, at Angle of Attack, AoA = 4 : 16

(a) c
L
/c
D
, ap comparison OpenFOAM,Re = 2e5
-0.5
0
0.5
1
1.5
0 0.02 0.04 0.06 0.08 0.1 0.12 0.14 0.16
C
l
[
-
]
Cd[-]
OpenFOAM Re2e5
OpenFOAM Re1e6
Exp Re1.6e5
Exp Re3.6e5
Exp Re7e5
Exp Re1e6
(b) c
L
/c
D
, Re comparison with experiments
Figure 2.13: Lift-drag ratio, c
L
/c
D
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 airow for dierent trailing edge
position, at an angle of attack of 5 degrees, and Re of one million. Furthermore the same results of c
P
are compared with the result from previous experiments and modeling in gures 2.17, 2.19 and 2.18, [6].
A screen shots of the corresponding mesh at the trailing edge for each ap angle is given on gures 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 gures 2.14b, 2.15b and 2.16b, where c
P
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 coecient at the stagnation
point is around 1, as then it rises rapidly on both surfaces until it nally 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 c
P
for the dierent ap positions. Applying a ap deection of
5 degrees results in increase in the pressure and the curves go apart of each other (gure 2.14b), while
a negative ap angle of 5 degrees causes the pressure to decrease on both sides and the curves to come
closer together (gure 2.15b). Additionally the bended surface around the trailing edge experiences a
small anomaly in the c
P
, a local pressure peak with a coordinates position of the ap hinge.
On the comparison plots, gures 2.17, 2.19 and 2.18 one can observe that the OpenFOAM results hold
well together with the results from [6]. There is a small obvious overestimation for the suction surface of
the airfoil for each ap case, which most likely caused by the mesh quality. In addition, one can see that
at the trailing edge the curves on gures 2.17a, 2.19a and 2.18a are smooth, while those of OpenFOAM
have a sharp peak. The reason for that is the geometry of the movable aps.
Finally the pressure distribution along NACA0012 computed in OpenFOAM is presented as viewed in
ParaV iew for ap angles of 0 and 5 degrees, on gures 2.20a and 2.20b. One can observe the signicant
change in the pressure distribution produced by the ap deection. On gure 2.20a the pressure is the
same along both surfaces since NACA0012 has a symmetric prole, so ow 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 ap alters the ow to such extend that the lift coecient is around 0.11, which is similar
to airfoils like NACA 23012, [16]. Furthermore a comparison of c
P
distribution for the same conditions
are given on gure 2.21 for zero ap angle and 2.22 for 5 degrees ap angle.
CHAPTER 2. MODELING 19
(a) Trailing edge mesh, boundary layer, U
-2
-1.5
-1
-0.5
0
0.5
1
0 0.2 0.4 0.6 0.8 1
C
p

[
-
]
x/c [-]
Pressure Disctribution
Suction
Pressure
(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, flap = 0

(a) Trailing edge mesh, boundary layer, U


-2
-1.5
-1
-0.5
0
0.5
1
0 0.2 0.4 0.6 0.8 1
C
p

[
-
]
x/c [-]
Pressure Disctribution
Suction
Pressure
(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, flap = 5

(a) Trailing edge mesh, boundary layer, U


-2
-1.5
-1
-0.5
0
0.5
1
0 0.2 0.4 0.6 0.8 1
C
p

[
-
]
x/c [-]
Pressure Disctribution
Suction
Pressure
(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, flap = 5

CHAPTER 2. MODELING 20
(a) Exp data, source [6]
-2
-1.5
-1
-0.5
0
0.5
1
0 0.2 0.4 0.6 0.8 1
C
p

[
-
]
x/c [-]
Pressure Disctribution
Suction
Pressure
(b) OpenFOAM
Figure 2.17: Pressure distribution, Cp over NACA0012, for Reynolds number, Re = 1e6, and Angle of
Attack, AoA = 0

, and Flap angle, flap = 0

(a) Exp data, source [6]


-2
-1.5
-1
-0.5
0
0.5
1
0 0.2 0.4 0.6 0.8 1
C
p

[
-
]
x/c [-]
Pressure Disctribution
Suction
Pressure
(b) OpenFOAM
Figure 2.18: Pressure distribution, Cp over NACA0012, for Reynolds number, Re = 1e6, and Angle of
Attack, AoA = 0

, and Flap angle, flap = 5

(a) Exp data, source [6]


-2
-1.5
-1
-0.5
0
0.5
1
0 0.2 0.4 0.6 0.8 1
C
p

[
-
]
x/c [-]
Pressure Disctribution
Suction
Pressure
(b) OpenFOAM
Figure 2.19: Pressure distribution, Cp over NACA0012, for Reynolds number, Re = 1e6, and Angle of
Attack, AoA = 5

, and Flap angle, flap = 5

CHAPTER 2. MODELING 21
(a) Pressure, flap = 0

(b) Pressure, flap = 5

Figure 2.20: Pressure distribution, Cp over NACA0012, for Reynolds number, Re = 1e6, and Angle of
Attack, AoA = 0

(a) Exp data, source [6]


-0.6
-0.4
-0.2
0
0.2
0.4
0.6
0.8
1
0 0.2 0.4 0.6 0.8 1
C
p

[
-
]
x/c [-]
Pressure Disctribution
Suction
Pressure
(b) OpenFOAM
Figure 2.21: Pressure distribution, Cp over NACA0012, for Reynolds number, Re = 1e6, and Angle of
Attack, AoA = 0

, and Flap angle, flap = 0

(a) Exp data, source [6]


-0.6
-0.4
-0.2
0
0.2
0.4
0.6
0.8
1
0 0.2 0.4 0.6 0.8 1
C
p

[
-
]
x/c [-]
Pressure Disctribution
Suction
Pressure
(b) OpenFOAM
Figure 2.22: Pressure distribution, Cp over NACA0012, for Reynolds number, Re = 1e6, and Angle of
Attack, AoA = 0

, and Flap angle, flap = 5

CHAPTER 2. MODELING 22
(a) c
L
comparison of NACA64318 (b) c
D
comparison of NACA64318
2.7.2 NACA64318
This section is to show the validity of the model as it is compared to data from dierent 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 XFOIL and EllipSys2D. The simulations in OpenFOAM 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 coecient
curves. Additionally, the pressure distribution along the airfoil will be compared at selected AoAs.
Figure 2.23a shows the lift coecient estimated by OpenFOAM along with the experimental and com-
puted data. From the plot one can infer that the XFOIL and EllipSys2D models overestimate the
experimental data and OpenFOAM 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 OpenFOAM 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 ow which cannot reach a steady state solution, similar to what
is shown on gure 2.10j.
The drag coecient shown on gure 2.23b estimated by OpenFOAM slightly overestimates all of the
other models but resembles the shape of the curves in a good manner. An overview of all force coecients
is shown on gure 2.23.
The following plots (gures 2.24, 2.25 and 2.26) present dierent pressure distributions depending on the
angle of attack. The results from OpenFOAM 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 ow is given as seen
in ParaV iew in terms of velocity and pressure.
From the plots one can infer that as the angle of attack is increasing, the pressure dierence between
the suction and the pressure side of the airfoil is increasing. Another phenomenon is the ow separation
which occurs after a certain transitional point based on the angle of attack. As can be seen on gures
2.24c and 2.24d the ow at AoA = 6 and 10 is still fully attached and thus the c
P
curves on gures
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 attens close to the trailing edge, since
there is no pressure gradient to sustain the ow. 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
at. On gures 2.25 and 2.26, one can notice that there is a dierence in the point of separation between
the OpenFOAM results and those from the other models. For the OpenFOAM based data it occurs
slightly later because as can been seen on gure 2.23a the critical angle of attack for the lift coecient
is higher for this CFD model. In addition, the dierence in the geometry for the dierent 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 aps have to be tuned.
CHAPTER 2. MODELING 23
-0.2
-0.15
-0.1
-0.05
0
0.05
0.1
0.15
0.2
0 5 10 15 20
C
m

[
-
]
AoA [deg]
Pitch Moment
0.2
0.4
0.6
0.8
1
1.2
1.4
1.6
0 0.02 0.04 0.06 0.08 0.1
C
l

[
-
]
Cd [-]
Lift Drag Ratio
0
0.02
0.04
0.06
0.08
0.1
0 5 10 15 20
C
d

[
-
]
AoA [deg]
Drag Coefficient
0
0.2
0.4
0.6
0.8
1
1.2
1.4
1.6
1.8
0 5 10 15 20
C
l

[
-
]
AoA [deg]
Lift Coefficient
Figure 2.23: Forces coecients from OpenFOAM simulations
CHAPTER 2. MODELING 24
(a) Pressure, AoA = 6

(b) Pressure, AoA = 10

(c) Velocity, AoA = 6

(d) Velocity, AoA = 10

-6
-5
-4
-3
-2
-1
0
1
0 0.2 0.4 0.6 0.8 1
C
p

[
-
]
x/c [-]
Suction
Pressure
-6
-5
-4
-3
-2
-1
0
1
0 0.2 0.4 0.6 0.8 1
C
p

[
-
]
x/c [-]
Suction
Pressure
(e) OpenFOAM, c
P
distribution, AoA = 6

left, AoA = 10

right
(f) Airfoil Catalog [15], c
P
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
(a) Pressure, AoA = 12

(b) Pressure, AoA = 14

(c) Velocity, AoA = 12

(d) Velocity, AoA = 14

-6
-5
-4
-3
-2
-1
0
1
0 0.2 0.4 0.6 0.8 1
C
p

[
-
]
x/c [-]
Suction
Pressure
-6
-5
-4
-3
-2
-1
0
1
0 0.2 0.4 0.6 0.8 1
C
p

[
-
]
x/c [-]
Suction
Pressure
(e) OpenFOAM, c
P
distribution, AoA = 12

left, AoA = 14

right
(f) Airfoil Catalog [15], c
P
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
(a) Pressure, AoA = 16

(b) Pressure, AoA = 18

(c) Velocity, AoA = 16

(d) Velocity, AoA = 18

-6
-5
-4
-3
-2
-1
0
1
0 0.2 0.4 0.6 0.8 1
C
p

[
-
]
x/c [-]
Suction
Pressure
-6
-5
-4
-3
-2
-1
0
1
0 0.2 0.4 0.6 0.8 1
C
p

[
-
]
x/c [-]
Suction
Pressure
(e) OpenFOAM, c
P
distribution, AoA = 16

left, AoA = 18

right
(f) Airfoil Catalog [15], c
P
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 ow behavior around an airfoil with a movable
ap. Moreover the apping 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.
3.2 Experimental setup
PC
Wind Tunnel
A
i
r
f
o
i
l
Local
Power
LinMot
Controller
Transformer
Pressure
Device
National
Instuments DAC
unit
LinMot
MacMot
Pressure
scanners
Power supply cable
(high voltage)
Power supply
cable (low voltage)
Control signal
Figure 3.1: Experiment setup
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 ap 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 ow behavior
27
CHAPTER 3. EXPERIMENT 28
(a) Airfoil Closed (b) Airfoil Opened
Figure 3.2: Pictures of NACA 63418
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 specic software. Figure 3.1 presents how the
major components involved in the setup are connected.
3.3 Main components
3.3.1 Airfoil
The airfoil NACA-63418 used for the model is shown on gure 3.2 and some practical information is
given in appendix D. It is made of carbon ber and it has a typical hallow structure. As it is mentioned
above the airfoil is equipped with a movable exible ap on the trailing edge. The rotation of the ap
is implemented by the means of reciprocating motion. A scheme of the mechanism is shown in appendix
D on gure D.1. Furthermore on the surface of the airfoil have been drilled pressure tabs which are
used to measure the local pressure. Those pressure tabs are located in tree parallel sections in order to
conrm the 2D ow inside the wind tunnel, gure 3.2b. The pressure scanners are connected to the tabs
via plastic tubes and the tabs which are not connected are blocked with a small dead-end tubes. The
interface cables of the linear motor and the pressure scanners along with the tubes which input reference
pressures into the scanners are taken out of the airfoil throughout the pitch hallow beam.
3.3.2 Linear Motor
A picture of the motor assembled on the airfoil which is used for the ap motion is shown on gure 3.3
and its specication is given in the appendix, gure D.3. It is controlled by an electromagnetic eld via
voltage signal generation. Figure 3.4 presents the wiring of the motor to the other components. In this
particular case the digital control signal is generated via LabV IEW on the local computer and through
the DAQunit device is sent to the motor controller (X4 on the gure - Logic supply). Then the signal is
sent to the motor via the motor connection X3 (Thick coaxial cable and at cable).
The software used in order to control and monitor the engine is called LinMotTalk. It is used to setup
the motor parameters depending on the experimental case, to specify the type of input signal and to
track the operation. As mentioned above the signal is generated via LabV IEW virtual instruments, V I.
The graphical interface of the VI - the control panel is shown on gure 3.6 and it is explained in section
3.3.4.
CHAPTER 3. EXPERIMENT 29
Figure 3.3: Picture of the linear motor - LinMot
Figure 3.4: Installation scheme of the linear motor [17]
CHAPTER 3. EXPERIMENT 30
3.3.3 Rotational Motor
The rotational motor is used to manipulate the pitch rotation of the blade via worm-gear mechanism.
Figure 3.5 describes the wiring of the rotational motor. The power/analog input is connected to the
National Instruments DAQ unit so it can receive the voltage signal generated via the LabV IEW.vi.
However for the power supply is used the LinMot controller. The connection between the PC and the
servo motor is realized using a digital COM cable. The software interface for the rotational servo motor
is called MacTalk where the user can specify the type of control method. For this particular experiment
the most appropriate is to use analog signal (voltage) to position. This way a specic voltage corresponds
to specic number of revolutions in terms of pulses (1 revolution = 4096 pulses).
Figure 3.5: Mac Motor connection scheme [20]
3.3.4 DAQ unit and LabVIEW
The Data acquisition National Instruments(DAQ unit) unit has the function of interfacing the computer
with the sensor and actuator systems. It is connected to the personal computer via serial port. Its analog
outputs are connected to LinMot Controller input and to the pitch servo motor input. They are also
connected to the analog inputs of the DAQ unit, in order to monitor the signal generation. The pressure
transducer is also connected to the data acquisition unit via its digital input/output.
As mentioned above both motors are control by analog voltage signal generation realized in LabV IEW
and send to the motors through the DAQ unit. The LabV IEW.vi control panel for the signal generator
along with the LabV IEW monitoring program is shown of gure 3.6. It is programmed in a way that it
can generate dierent voltage signal on the analog outputs of the DAQ unit. Thus one of the signals is sent
to the ap motor and the other to the pitch motor. The control allows the user to select the properties
of signal in terms of shape, amplitude, frequency, oset and phase. For security reasons before sending
the signal to the motors as well as during the simulations, the signal is monitored by the programmed
LabV IEW.vi which reads the signals on the analog inputs.
3.3.5 Pressure transducer
In order to captured the pressure on the surface of the airfoil is used DTCInitium pressure transducer
with two pressure scanners. Figure 3.7 presents the system conguration of those devices. One of the
scanners has a high range pressure capability and measures the pressure on the suctions side of the airfoil,
while the other has a low range pressure capability and measures the pressure side of the airfoil.
Figure 3.8 presents the major control panel of the experiment. On the major chart on the screen one
can monitor the pressure distribution along the airfoil as it is presented as a function of the chord
CHAPTER 3. EXPERIMENT 31
Figure 3.6: Voltage generator control panel LabV IEW.vi (left), LabV IEW.vi for monitoring the control
signals (right)
Figure 3.7: Pressure telemetry setup, [21]
CHAPTER 3. EXPERIMENT 32
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
ap. The forces are calculated in terms of pressure integrated over the surface area. The angle of attack
and the ap angle are estimated as a function of the voltage signal of the motors.
Figure 3.8: Pressure monitoring LabV IEW panel
3.4 Major Challenges
3.4.1 Data acquisition
Ground loop all of the devices involved in the experiment have to use a common ground in order to
avoid ground loop problems. It is important to check the manual for each device to connect it properly to
the overall system. Having a ground loop result in capturing external signals, like the 50[Hz] frequency
of the local power grid white considerable amplitude compared to the pressure signal.
Observation: As an examples of a ground loop were recorded to major errors. The corpus of the low
voltage DC transformer was connected to the ground of the high voltage DC converter. In addition the
digital ground of the DAQ unit was connected to the ground of the control wire of the Initium pressure
system. It is important to notify that since the computer is connected to most of the devices, and also
to ground, they are all already grounded and further grounding wound result in a ground loop.
Mechanical vibrations there are various sources of mechanical vibrations on the overall system which
results in uctuations in the output data. In order to avoid such negative inuence one have to insure
that the tubes of the pressure system are not disturbed.
Observation: Since the airfoil is just a section of a blade, it has opened sections which have to be covered
(for example typed) to avoid incoming ow in the airfoil. It was observed that this problem resulted not
just in moving the pressure tubes, but inducing turbulence around the airfoil. Another problem is the air
cooling of the linear motor which ow was pushing the tubes and produces uctuations on the pressure
signal in the order of (1 to 5 volts).
Electromagnetic disturbances since the pressure scanners are sensitive to electromagnetic elds, it
is vital to screen all sources of such kind or to protect the scanners.
CHAPTER 3. EXPERIMENT 33
Observation: In this particular case, it was noticed that the at 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 at 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 ap 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.
3.5 Uncertainty Assessment
The experiment involves the use of high variety of electrical equipment. Therefore the quality of the
experiment data depends on how the signal is carried out from one device to another. For example,
the signal generation is send from the computer to the DAQ unit device and then to the controller of
the linear motor. Instead, since the controller and the computer are already connected through a COM
port connection, the signal could have been directly send from the PC to the motor. Further research is
required for this can be accomplished, because of the dicult software compatibility.
There are various sources of noise in all the devices cause by mechanical and electrical disturbances. For
example, the ap motion itself provokes motion of the tubes which cannot be avoided, and it insurances
the signal for the trailing edge pressure.
CHAPTER 3. EXPERIMENT 34
3.6 Test Cases and Results
This section presents the results from the experiment in the wind tunnel. The following results are taken
for wind speed, U = 20[m/s], which yields Reynolds number Re = 3.1888e5. Figure 3.9 shows the
locations of the pressure tabs on the airfoil surface. The measurements have been taken in time series
of 10 to 20[s], for eight angles of attack of AoA = 0, 2, 5, 7, 10, 12, 15, 17[deg], and four ap positions
corresponding to dierent voltage flap = 1.0, 2.0, 2.5, 3.0[V ]. The zero ap position is dened for a volt-
age signal of 2.0[V ]. However, since it is hard to determine manually the zero angle of attack position,
and the movable aps is exible and it bends its surface. This implies that the data have to thoroughly
examined and compared with simulation results, in order to clarify the position of the airfoil and its aps.
-0.4
-0.2
0
0.2
0.4
0 0.2 0.4 0.6 0.8 1
y
/
c

[
-
]
x/c [-]
PressureTab
Figure 3.9: Location of the pressure tab on the surface of the NACA63418 airfoil
On gure 3.10 one can observe the pressure distribution over the airfoil in the wind tunnel for each
measurement location. The results are presented for dierent pitch position as it was considered during
the experiment. Thus for each angle of attack are shown the two most distinct of the four ap positions
given in voltage signal. As can been seen on the plots the pressure curves starts to have a at 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 ap angle corresponding to voltage signal
V = 2.0[V ] and post-processed data from OpenFOAM for the same Reynolds number. It is obvious that
the two sets of data are not in a very good agreement in the rst 50% chord length of the airfoil. However
in the other part of it, the OpenFOAM results predict quite well the point of separation. It was already
observed that the OpenFOAM 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 gure 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 coecients are estimated and compared to the
OpenFOAM results. This comparison is given on gure 3.13. The lift coecient 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 coecients 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
signicant dierence 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
-5
-4
-3
-2
-1
0
1
0 0.2 0.4 0.6 0.8 1
C
p

[
-
]
x/c [-]
AoA = 17 [deg]
flap 1[V]
flap 3[V]
-5
-4
-3
-2
-1
0
1
0 0.2 0.4 0.6 0.8 1
C
p

[
-
]
x/c [-]
AoA = 15 [deg]
flap 1[V]
flap 3[V]
-5
-4
-3
-2
-1
0
1
0 0.2 0.4 0.6 0.8 1
C
p

[
-
]
AoA = 12 [deg]
flap 1[V]
flap 3[V]
-5
-4
-3
-2
-1
0
1
0 0.2 0.4 0.6 0.8 1
C
p

[
-
]
AoA = 10 [deg]
flap 1[V]
flap 3[V]
-5
-4
-3
-2
-1
0
1
0 0.2 0.4 0.6 0.8 1
C
p

[
-
]
AoA = 7 [deg]
flap 1[V]
flap 3[V]
-5
-4
-3
-2
-1
0
1
0 0.2 0.4 0.6 0.8 1
C
p

[
-
]
AoA = 5 [deg]
flap 1[V]
flap 3[V]
-5
-4
-3
-2
-1
0
1
0 0.2 0.4 0.6 0.8 1
C
p

[
-
]
AoA = 2 [deg]
flap 1[V]
flap 3[V]
-5
-4
-3
-2
-1
0
1
0 0.2 0.4 0.6 0.8 1
C
p

[
-
]
AoA = 0 [deg]
flap 1[V]
flap 3[V]
Figure 3.10: Pressure coecient distribution on the airfoil surfaces for each pressure tab, Re = 3.1888e5
CHAPTER 3. EXPERIMENT 36
-5
-4
-3
-2
-1
0
1
0 0.2 0.4 0.6 0.8 1
C
p

[
-
]
x/c [-]
AoA=17[deg]
Exp, flap 2.0 [V]
OpenFOAM flap 0 [deg]
-5
-4
-3
-2
-1
0
1
0 0.2 0.4 0.6 0.8 1
C
p

[
-
]
AoA=15[deg]
Exp, flap 2.0 [V]
OpenFOAM flap 0 [deg]
-5
-4
-3
-2
-1
0
1
0 0.2 0.4 0.6 0.8 1
C
p

[
-
]
AoA=12[deg]
Exp, flap 2.0 [V]
OpenFOAM flap 0 [deg]
-5
-4
-3
-2
-1
0
1
0 0.2 0.4 0.6 0.8 1
C
p

[
-
]
AoA=10[deg]
Exp, flap 2.0 [V]
OpenFOAM flap 0 [deg]
-5
-4
-3
-2
-1
0
1
0 0.2 0.4 0.6 0.8 1
C
p

[
-
]
AoA=7[deg]
Exp, flap 2.0 [V]
OpenFOAM flap 0 [deg]
-5
-4
-3
-2
-1
0
1
0 0.2 0.4 0.6 0.8 1
C
p

[
-
]
AoA=5[deg]
Exp, flap 2.0 [V]
OpenFOAM flap 0 [deg]
-5
-4
-3
-2
-1
0
1
0 0.2 0.4 0.6 0.8 1
C
p

[
-
]
AoA=2[deg]
Exp, flap 2.0 [V]
OpenFOAM flap 0 [deg]
-5
-4
-3
-2
-1
0
1
0 0.2 0.4 0.6 0.8 1
C
p

[
-
]
AoA=0[deg]
Exp, flap 2.0 [V]
OpenFOAM flap 0 [deg]
Figure 3.11: Pressure coecient distribution comparison, Re = 3.1888e5, experiment ap position V =
2.0, OpenFOAM ap position 0[deg]
CHAPTER 3. EXPERIMENT 37
-5
-4
-3
-2
-1
0
1
0 0.2 0.4 0.6 0.8 1
C
p

[
-
]
x/c [-]
AoA=10[deg]
Exp, flap 2.0 [V]
OpenFOAM flap 0 [deg]
-5
-4
-3
-2
-1
0
1
0 0.2 0.4 0.6 0.8 1
C
p

[
-
]
AoA=7[deg]
Exp, flap 2.0 [V]
OpenFOAM flap 0 [deg]
-5
-4
-3
-2
-1
0
1
0 0.2 0.4 0.6 0.8 1
C
p

[
-
]
AoA=5[deg]
Exp, flap 2.0 [V]
OpenFOAM flap 0 [deg]
-5
-4
-3
-2
-1
0
1
0 0.2 0.4 0.6 0.8 1
C
p

[
-
]
AoA=3[deg]
Exp, flap 2.0 [V]
OpenFOAM flap 0 [deg]
-5
-4
-3
-2
-1
0
1
0 0.2 0.4 0.6 0.8 1
C
p

[
-
]
AoA=0[deg]
Exp, flap 2.0 [V]
OpenFOAM flap 0 [deg]
-5
-4
-3
-2
-1
0
1
0 0.2 0.4 0.6 0.8 1
C
p

[
-
]
AoA=-2[deg]
Exp, flap 2.0 [V]
OpenFOAM flap 0 [deg]
-5
-4
-3
-2
-1
0
1
0 0.2 0.4 0.6 0.8 1
C
p

[
-
]
AoA=-5[deg]
Exp, flap 2.0 [V]
OpenFOAM flap 0 [deg]
Figure 3.12: Pressure coecient distribution comparison corrected, Re = 3.1888e5, experiment ap
position V = 2.0, OpenFOAM ap position 0[deg]
-0.5
0
0.5
1
1.5
2
2.5
-10 -5 0 5 10
C
l

[
-
]
AoA [deg.]
Flap 1.0[V]
Flap 2.0[V]
Flap 2.5[V]
Flap 3.0[V]
OpenFOAM Flap 0 [deg]
OpenFOAM Flap -5 [deg]
OpenFOAM Flap 5 [deg]
(a)
-0.2
-0.15
-0.1
-0.05
0
0.05
0.1
0.15
0.2
-10 -5 0 5 10
C
l

[
-
]
AoA [deg.]
Flap 1.0[V]
Flap 2.0[V]
Flap 2.5[V]
Flap 3.0[V]
OpenFOAM Flap 0 [deg]
OpenFOAM Flap -5 [deg]
OpenFOAM Flap 5 [deg]
(b)
Figure 3.13: Force coecients comparison Experiment and OpenFOAM results
Chapter 4
Summary
A CFD steady state model was implemented using the open source commercial code OpenFOAM, in
order to predicted the ow behavior around airfoils with a movable aps. The CFD code uses the full
turbulent Shear Stress Transport model to simulate the high Reynolds number airfoil ows used
for the wind energy applications. Additionally, a script for creating an airfoil O-mesh was developed
with an option for a trailing edge ap rotation. The code can draw any airfoil shape based on airfoil
normalized coordinates as the rst 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 ow behavior around dierent 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 ows. It was shown that the model can generate
good results for attached ows. 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 OpenFOAM are in good agreement with
the data from the other models, but there some anomalies cause by the quality of the mesh.
The nal goal of the CFD model is to predict dynamic ow behavior of a ow around airfoil equipped with
a movable ap by the use of a moving mesh. The model developed for this master thesis was implemented
in way which oers 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 ne mesh
geometry will be needed cluster of parallel running machines. OpenFOAM 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 ap 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 dierent trailing edge shapes and features which change the
aerodynamics of the airfoil ow.
In the wind tunnel laboratory an airfoil NACA63418 is used for the analysis of a ow around an air-
foil with a movable aps. In order to setup the sensors and actuators for this project, their interface
software was investigated and congured. 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, dierent 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 aps requires decreasing of stiness in order to reduce
the load on the linear motor.
The nal goal of the experiment is to control the trailing edge aps 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/
[4] OpenFOAM, http://www.openfoam.com/
[5] Adaptive wing and ow control technology, E. Stanewsky, Pregress in Aerospace Sciences 37, 2001
[6] Wei Jun Zhu, Tim Behrens, Wen Zhong Shen and Jens Srensen, A Hybrid Immersed Boundary
Method for Studying Airfoils with Trailing Edge Flap Department of Mechanical Engineering, Tech-
nical University of Denmark
[7] Harry B. Bingham, Poul S. Larsen and V. Allan Barker, Computational Fluid Dynamics, Lecture
Note for Course no. 41319, Technical University of Denmark, DK-2800 Lyngby, Denmark, August
26, 2009
[8] Frank M. White, Viscous uid ow , Third Edition, 2006
[9] NASA homepage, http://www.nasa.gov/
[10] UIUC Airfoil Coordinates Database ,http://www.ae.illinois.edu/
[11] CERFACS homepage, http://www.cerfacs.fr/
[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
[18] LinMot Homepage, http://www.linmot.com/
[19] LinMot Data Book, Industrial Linear Motors, Edition 15
[20] User Manual, Integrated Servo Motors
[21] User Manual, Pressure Systems, Inc., ISO-9001:2000 Certied, Web: PressureSystems.com
39
Appendix A
Turbulence Models
The turbulent models use extra transport equations which dene the turbulent properties of the ow. 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
ows. The main issue with the Wilcox model is the strong sensitivity to free stream conditions. Based on the
values specied for the inlet, one can obtain a signicant 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 ows with relatively small pressure gradients and for wall-bounded
and internal ows. Experiments show that there are signicant computational errors in case of ows containing
large adverse pressure gradients [13]. Therefore one can conclude that the k - model will be an inappropriate
choice for inlet ows.
k shear-stress transport model
The SST turbulence model as the BSL model are developed to improve Wilcoxs original model so that
an even higher sensitivity could be obtained for adverse-pressure-gradient ows [13]. The main reason is that the
other two models do not account for the transport of the turbulent shear stress. This results in an over-prediction
of the eddy-viscosity. The use of a formulation in the inner parts of the boundary layer makes the model
applicable all the way down to the wall through the viscous sub-layer, therefore the SST model can be
used as a low Reynolds turbulence model without any additional damping functions. The SST formulation also
switches to a k- behavior in the free-stream and this way avoids the common problem that the model is too
sensitive to the inlet free-stream turbulence properties. The SST model is popular for its good behavior in
adverse pressure gradients and separating ow. However the model produce a bit too large turbulence levels in
regions with large normal strain, like stagnation regions and regions with strong acceleration. This tendency is
much less pronounced than with a normal k- model though.
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 ows. The tested ows were,
among others, two kinds of adverse pressure gradient ow (one having a very strong adverse pressure gradient,
so strong that separation occurs); the backward- facing-step ow; and the ow 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 ow cases [13].
40
Appendix B
Meshing
Mesh NACA0012, SST geometry statistics
Mesh stats
points: 23154
internal points: 0
faces: 45627
internal faces: 22473
cells: 11350
boundary patches: 4
point zones: 0
face zones: 0
cell zones: 0
Overall number of cells : 11350
Checking topology...
Boundary definition OK.
Point usage OK.
Upper triangular ordering OK.
Face vertices OK.
Number of regions: 1 (OK).
Checking patch topology for multiply connected surfaces ...
Patch Faces Points Surface topology Bounding box
inlet 52 106 ok (non-closed singly connected) (-4.70337 -4.1641 0) (-2.4711 4.1641 0.1)
outlet 175 352 ok (non-closed singly connected) (-2.4711 -4.99993 0) (5.29659 4.99993 0.1)
airfoil 227 454 ok (non-closed singly connected) (0 -0.06 0) (0.999969 0.06 0.1)
defaultFaces 22700 23154 ok (non-closed singly connected) (-4.70337 -4.99993 0) (5.29659 4.99993 0.1)
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.
Mesh NACA63418, SST geometry statistics
Mesh stats
points: 46614
internal points: 0
faces: 91857
internal faces: 45243
cells: 22850
boundary patches: 4
point zones: 0
face zones: 0
cell zones: 0
Overall number of cells: 22850
Checking topology...
Boundary definition OK.
Point usage OK.
Upper triangular ordering OK.
Face vertices OK.
Number of regions: 1 (OK).
Checking patch topology for multiply connected surfaces ...
Patch Faces Points Surface topology Bounding box
inlet 192 386 ok (non-closed singly connected) (-4.55057 -4.9886 0) (0.112528 4.9886 0.1)
outlet 265 532 ok (non-closed singly connected) (0.112528 -4.9997 0) (5.44939 4.9997 0.1)
airfoil 457 914 ok (non-closed singly connected) (0 -0.0681 0) (0.999983 0.1119 0.1)
defaultFaces 45700 46614 ok (non-closed singly connected) (-4.55057 -4.9997 0) (5.44939 4.9997 0.1)
Checking geometry...
Overall domain bounding box (-4.55057 -4.9997 0) (5.44939 4.9997 0.1)
41
APPENDIX B. MESHING 42
Mesh (non-empty, non-wedge) directions (1 1 0)
Mesh (non-empty) directions (1 1 0)
Boundary openness (-5.21416e-20 -3.19187e-20 -6.7389e-19) OK.
Max cell openness = 2.16162e-16 OK.
Max aspect ratio = 24.4342 OK.
Minumum face area = 6.24135e-08. Maximum face area = 0.0955576. Face area magnitudes OK.
Min volume = 6.24246e-09. Max volume = 0.00955576. Total volume = 7.84152. Cell volumes OK.
Mesh non-orthogonality Max: 63.3769 average: 22.1274
Non-orthogonality check OK.
Face pyramids OK.
Max skewness = 0.902093 OK.
Min/max edge length = 0.000147629 0.7091 OK.
All angles in faces OK.
Face flatness (1 = flat, 0 = butterfly) : average = 1 min = 0.999997
All face flatness OK.
Cell determinant (wellposedness) : minimum: 0.0172167 average: 1.35726
Cell determinant check OK.
Fortran 90 code
The following code is used to write the le required to build a mesh in OpenFOAM. It allows easy change of the
mesh geometry based on the sketch in gure 2.3. This includes dierent ap positions and airfoil shapes.
PROGRAM Mesh
c---------------------------------------------------------------------
c produces an OpenFOAM file (BlockMeshDict) for testing the airfoil flaps mesh
c
! Defining vars
double precision X(1000),Y(1000)
real ctm,g,f,f2
real l4,l3,ln,ls,lfl
real dels,dele
real dy
real per,s
real r
real phi
real lx,ly,hx,hy
real fl_n(2),fl_s(2)
integer i,rays,glow,mrays,brays
integer np,n0,fn,fs,cn,cs
! 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
! Load airfoil points
! 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
! Finding leading edge position
n0 = np/2 + 1.5
! Points of the AIRFOIL
! Fing flap points
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
! Find points of maximum thinckness
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)
! Calculating mesh grading
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)
totalrays = rays + 2*mrays + 2*brays
! Changing flap coordinates
Y(1) = Y(1)+dy
Y(np) = Y(np)+dy
! Define Main Points of the MESH
! 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
! find corrdnates of arc for 9 4 and 8 3
call arcs(r,X,Y,fn,fn+1,hx,hy)
pl9x = x9 + hx + 0.05
pl9y = y5 + hy - 0.005
! Writing important info
write(*,*) ----------------------------
write(*,*) ----------------------------
write(*,*) ----------------------------
write(*,*) Number of points,np
write(*,*) ----------------------------
write(*,*) Max Thickness ,x5,y5,cn
write(*,*) Leading Edge ,X(n0),Y(n0),n0
write(*,*) Trailing edge ,X(1),Y(1),X(np),Y(np)
! write(*,*) Max Thickness ,x7,y7,cs
write(*,*) Flapnode south ,fl_s,fs
write(*,*) Flapnode north ,fl_n,fn
write(*,*) Flap angle[deg],phi,dy
write(*,*) ----------------------------
write(*,*) ----------------------------
write(*,*) ----------------------------
write(*,*) Wall mesh points,totalrays!,rays, mrays, brays
write(*,*) -------------
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
901 format (2X,A1,1X,F9.6,X,F8.4,1X,F6.2,A12)
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,*));
903 format (2X,A5,8(X,I2),A3,2(I3,X),I1,A1,X,A15,2(F8.4,X),X,I1,A1)
c____ PLACE EDGES
write(1,*)
write(1,*)edges
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 2 Trailing edge 9 8
write(1,*)polySpline,9,8,(
write(1,909)(,X(1),Y(1),z0,)
write(1,*)) // trailing edge
write(1,*)polySpline,19,18,(
write(1,909)(,X(np),Y(np),z1,)
write(1,*)) // trailing edge
! 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)
c____ PLACE PATCHES
write(1,*)
write(1,*)patches
write(1,*)(
write(1,*)patch inlet
write(1,*)(
write(1,912)(,4,14,10,0,)
write(1,912)(,0,10,11,1,)
write(1,*))
write(1,*)patch outlet
write(1,*)(
write(1,912)(,1,11,12,2,)
write(1,912)(,2,12,13,3,)
write(1,912)(,3,13,14,4,)
write(1,*))
write(1,*)wall airfoil
write(1,*)(
write(1,912)(,5,15,16,6,)
write(1,912)(,6,16,17,7,)
write(1,912)(,7,17,18,8,)
write(1,912)(,8,18,19,9,)
write(1,912)(,9,19,15,5,)
write(1,*))
write(*,*)
write(1,*));
912 format (2X,A5 ,4(X,I2),A2)
c____ FINAL COMMAND
write(1,*)
write(1,*)mergePatchPairs
write(1,*)(
write(1,*));
write(1,*)
write(1,*) //* * * * * * * * * * * * * * * * * * * * * * *,
1 * * * * * * * * * * * * //
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.1: Airfoil ap motion sketch, by Clara Vette
Figure D.2: Sketch of the central section with the pressure tabs, by Clara Vette
54
APPENDIX D. EXPERIMENT 55
Linear motor specications
36 www.LinMot.com
Edition 15
subject to change
Motor Specification
P01-23Sx80/10x50
Stroke Max. mm (in) 50 (1.97)
Stroke SS mm (in) 10 (0.39)
Peak Force E1100 / E1001 N (lbf) 39 (8.7)
Peak Force E100 N (lbf) 29 (6.5)
Cont. Force N (lbf) 8 (1.7)
Cont. Force Fan cooling N (lbf) 14 (3.2)
Border Force % 71
Force Constant N/A (lbf/A) 9.7 (2.17)
Max. Current @ 72VDC A 4.0
Max. Current @ 48VDC A 3.8
Max. Velocity @ 72VDC m/s (in/s) 6.9 (270)
Max. Velocity @ 48VDC m/s (in/s) 4.6 (180)
Phase Resist. 25/80 C Ohm 10.3/12.5
Phase Inductance mH 1.4
Thermal Resistance K/W 7.0
Thermal Time Const. sec 900
Stator Diameter mm (in) 23 (0.91)
Stator Length mm (in) 105 (4.13)
Stator Mass g (lb) 245 (0.54)
Slider Diameter mm (in) 12 (0.47)
Slider Length mm (in) 130 (5.12)
Slider Mass g (lb) 89 (0.20)
Position Repeatability mm (in) 0.05 (0.0020)
Linearity % 0.70
Position Rep. with ES mm (in) 0.01 (0.0004)
Linearity with ES mm (in) 0.01 (0.0004)
Position-Time Diagram
P01-23Sx80/10x50
0
10
20
30
40



E1100, 72VDC &
E1001, 72VDC
E100, 48VDC
105
Max. Stroke: 50mm
Peak Force: 39N
Max. Stroke 50
SS Stroke 10
5
15
ZP=20
45
25
0 10 20 30 40 50
0
20
40
60
80
100
120




1.5 kg
1.0 kg
0.5 kg
0.0 kg
Dimensions in mm
ls=130
P01-23Sx80/10x50
Standard Winding
F
o
r
c
e

[
N
]
Stroke [mm]
T
i
m
e

[
m
s
]
Standard Winding:
Moving Slider
P
0
1
-
2
3
S
x
8
0
/
1
0
x
5
0
Figure D.3: Linear motor specication [19]

You might also like