-
8/10/2019 Aerodynamic Shape Optimization using Vortex Particle Simulations
1/104
Master Thesis
Aerodynamic Shape Optimization usingVortex Particle Simulations
Author:
David Gutierrez Rivera
Supervisor:
Prof. Guido Morgenthal
M.Sc. Khaled Ibrahim
A thesis submitted in fulfillment of the requirements
for the degree of Master of Science
in the
Natural Hazards and Risks in Structural Engineering
Faculty of Civil Engineering
Institute of Structural Engineering
Chair of Modelling and Simulation of Structures
Germany, 25.03.2014
mailto:[email protected]:[email protected]://www.morgenthal.org/http://www.morgenthal.org/mailto:[email protected]:[email protected]://www.uni-weimar.de/en/civil-engineering/studies/%20degree-programmes-offered-by-the-faculty-of-civil-engineering/%20natural-hazards-and-risks-in-structural-engineering-master-of-science/http://www.uni-weimar.de/en/civil-engineering/start/http://www.uni-weimar.de/cms/bauing/organisation/iki.htmlhttp://www.uni-weimar.de/Bauing/MSK/-en.htmlhttp://www.uni-weimar.de/en/civil-engineering/studies/%20degree-programmes-offered-by-the-faculty-of-civil-engineering/%20natural-hazards-and-risks-in-structural-engineering-master-of-science/http://www.uni-weimar.de/Bauing/MSK/-en.htmlhttp://www.uni-weimar.de/cms/bauing/organisation/iki.htmlhttp://www.uni-weimar.de/en/civil-engineering/start/http://www.uni-weimar.de/en/civil-engineering/studies/%20degree-programmes-offered-by-the-faculty-of-civil-engineering/%20natural-hazards-and-risks-in-structural-engineering-master-of-science/mailto:[email protected]://www.morgenthal.org/mailto:[email protected]://www.uni-weimar.de/ -
8/10/2019 Aerodynamic Shape Optimization using Vortex Particle Simulations
2/104
-
8/10/2019 Aerodynamic Shape Optimization using Vortex Particle Simulations
3/104
Optimization consists on finding the best possible solution to a problem, which usually
means finding the minima or maxima of functions in a feasible region. The need of solving
optimization problems is present in many diverse areas of science and engineering. The
purpose of this Thesis is to pursue Shape Optimization in the area of Wind Engineering.A Computational Fluid Dynamic (CFD) solver based on the Vortex Particle Method
(VPM) was used for the wind simulation. Automatization of the optimization process
was performed by parameterization of the CFD model, thus generating an optimization
model. In the end, optimization algorithms were used to search for the optimum values
of the model parameters.
For this Masters Thesis, development of the optimization tool is required, focusing on
the following main tasks:
1. Features and Capabilities of the Optimizer:
(a) Pre-Run, Run-Time and Over-Time Optimization Procedures
(b) Multi-Objective Optimization Capability
(c) Parallel Computing Functionality
2. User-friendly interface, including:
(a) Selection of Variables and Objectives
(b) Graphical User Interface (GUI) with Model Geometry Visualization
(c) Support for Multi-Sliced Models
3. Delivery of the Optimization Tool code should:
(a) Adhere to a standard coding style for ease of maintenance
(b) Undergo Testing and Debugging with Benchmarking Examples
(c) Contain User and Technical Documentation
4. Finally, provide a Theoretical Background, with relevant future research ideas and
developments
All results (software code, input files, scripts, results) shall be comprehensively included
in the thesis and its appendices. A softcopy (DVD) shall be included and a summary of
the thesis is to be presented on a poster.
-
8/10/2019 Aerodynamic Shape Optimization using Vortex Particle Simulations
4/104
Declaration
I,David Gutierrez Rivera, declare that this thesis titled, Aerodynamic Shape Op-
timization using Vortex Particle Simulations and the work presented in it are my own.
I confirm that:
This work was done entirely while in candidature for the degree Master of Science
in the Natural Hazards and Risks in Structural Engineering (NHRE).
Where I have consulted or quoted the published work of others, this is always
clearly stated.
I have acknowledged all individuals who have contributed to this work.
I claim no responsiblity for the persistency or accuracy of URLs for external or third-
party internet websites referred to in this publication, and can not guarantee that any
content on such websites is, or will remain, accurate or appropriate.
Signed:
Date:
mailto:[email protected]:[email protected]:[email protected]:[email protected] -
8/10/2019 Aerodynamic Shape Optimization using Vortex Particle Simulations
5/104
BAUHAUS-UNIVERSITAT WEIMAR
Abstract
Faculty of Civil Engineering
Institute of Structural Engineering
Chair of Modelling and Simulation of Structures
Master of Science
Aerodynamic Shape Optimization using Vortex Particle Simulations
Optimization consists on finding the best possible solution to a problem, which usually
means finding the minima or maxima of functions in a feasible region. The need of solving
optimization problems is present in many diverse areas of science and engineering. The
purpose of this Thesis is to pursue Shape Optimization in the area of Wind Engineering.
A Computational Fluid Dynamic (CFD) solver based on the Vortex Particle Method
(VPM) was used for the wind simulation. Automatization of the optimization process
was performed by parameterization of the CFD model, thus generating an optimization
model. In the end, optimization algorithms were used to search for the optimum values
of the model parameters.
http://http//WWW.UNI-WEIMAR.DE/http://http//WWW.UNI-WEIMAR.DE/http://http//WWW.UNI-WEIMAR.DE/http://www.uni-weimar.de/en/civil-engineering/start/http://www.uni-weimar.de/cms/bauing/organisation/iki.htmlhttp://www.uni-weimar.de/Bauing/MSK/-en.htmlhttp://www.uni-weimar.de/Bauing/MSK/-en.htmlhttp://www.uni-weimar.de/cms/bauing/organisation/iki.htmlhttp://www.uni-weimar.de/en/civil-engineering/start/http://http//WWW.UNI-WEIMAR.DE/ -
8/10/2019 Aerodynamic Shape Optimization using Vortex Particle Simulations
6/104
The pessimist complains about the wind; the optimist expects it to change;
the realist adjusts the sails.
William Arthur Ward
-
8/10/2019 Aerodynamic Shape Optimization using Vortex Particle Simulations
7/104
Acknowledgments
I want to thank my supervisorProf. Guido Morgenthalfor the opportunity of making
this thesis; his guidance through the process was invaluable. His work withVXFlowis
a core component of this thesis.
I will also like to thank M.Sc. Khaled Ibrahim for his enormous dedication to this
thesis. His knowledge on the area of computer sciences has contributed considerably to
the improvement of this work.
Special thanks go to M.Sc. Benjamin Bendig for his help in building the simulationmodels. His work on theVXFlowGPU version of the program has significantly reduced
simulation time. Also his work with VXviz, a VXFlowvisualization program, has been
of great help.
Many thanks to Shanmugam Narayanan for his help in debugging the program. His
interest and involvement on the use of the program are greatly appreciated.
http://www.morgenthal.org/http://www.morgenthal.org/http://www.morgenthal.org/vxflowmailto:[email protected]:[email protected]://www.morgenthal.org/vxflowhttp://www.morgenthal.org/vxflowhttp://www.morgenthal.org/vxflowhttp://www.morgenthal.org/vxflowmailto:[email protected]://www.morgenthal.org/vxflowhttp://www.morgenthal.org/ -
8/10/2019 Aerodynamic Shape Optimization using Vortex Particle Simulations
8/104
To my family . . .
-
8/10/2019 Aerodynamic Shape Optimization using Vortex Particle Simulations
9/104
Contents
Proposal i
Declaration iii
Abstract iv
Acknowledgments vi
Contents viii
List of Figures xi
List of Tables xii
Acronyms xiii
1 Introduction 1
1.1 Optimization . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
1.2 The Vortex Particle Method . . . . . . . . . . . . . . . . . . . . . . . . . . 3
1.3 Software . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
2 Optimization Algorithms 5
2.1 Classification . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52.2 Local Optimization . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
2.2.1 Golden Section Algorithm . . . . . . . . . . . . . . . . . . . . . . . 8
2.2.2 Nelder-Mead Simplex Algorithm . . . . . . . . . . . . . . . . . . . 10
2.3 Gradinet-based Algorithms . . . . . . . . . . . . . . . . . . . . . . . . . . 12
2.4 Global Optimization . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
2.4.1 Genetic Algorithm . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
3 Shape Optimization 14
3.1 Black-Box Optimization . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
3.2 Parametrization. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
3.3 Objective Functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
viii
-
8/10/2019 Aerodynamic Shape Optimization using Vortex Particle Simulations
10/104
Contents ix
4 VXFlow 17
4.1 Input File (*.in13) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
4.1.1 Geometry . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
4.2 Output File (*.o3) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
4.3 Other Output Files . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
5 OptiFlow 22
5.1 CFD Model . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
5.2 Parameter File (*.opt) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
5.3 Objective File (*.m) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
5.4 Pre-Run Optimization . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
5.5 Run-Time Optimization . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
6 Optimization ModelsExamples 27
6.1 M4 Neath Viaduct Wind Shield . . . . . . . . . . . . . . . . . . . . . . . . 28
6.2 Vertical-Axis Wind Turbine (VAWT). . . . . . . . . . . . . . . . . . . . . 33
7 Final Remarks 40
7.1 Conclusions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40
7.2 Future Research . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41
Bibliography 42
OptiFlow User Guide 45
-
8/10/2019 Aerodynamic Shape Optimization using Vortex Particle Simulations
11/104
List of Figures
1.1 Optimization Programmatic View . . . . . . . . . . . . . . . . . . . . . . 2
2.1 Local vs Global Minimum . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
2.2 Convex vs non-Convex Function . . . . . . . . . . . . . . . . . . . . . . . 7
2.3 Golden Section Algorithm . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
2.4 Golden Ratio . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
2.5 Nelder-Mead Simplex Algorithm . . . . . . . . . . . . . . . . . . . . . . . 10
2.6 Types of Simplex Movements . . . . . . . . . . . . . . . . . . . . . . . . . 10
3.1 Black-Box process . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
3.2 Noisy Functions. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
4.1 VXFlow Black-Box process . . . . . . . . . . . . . . . . . . . . . . . . . . 17
5.1 Parameter File . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
5.2 OptiFlow pre-run procedure . . . . . . . . . . . . . . . . . . . . . . . . . . 26
5.3 OptiFlow run-time procedure . . . . . . . . . . . . . . . . . . . . . . . . . 26
6.1 M4 Neath Viaduct Wind Shield . . . . . . . . . . . . . . . . . . . . . . . . 28
6.2 Wind Shield. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
6.3 Wind Shield pre-run Results. . . . . . . . . . . . . . . . . . . . . . . . . . 31
6.4 run-time Wind Shield Results . . . . . . . . . . . . . . . . . . . . . . . . . 31
x
-
8/10/2019 Aerodynamic Shape Optimization using Vortex Particle Simulations
12/104
-
8/10/2019 Aerodynamic Shape Optimization using Vortex Particle Simulations
13/104
List of Tables
2.1 Golden Section Algorithm . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
2.2 Nelder-Mead Simplex Algorithm . . . . . . . . . . . . . . . . . . . . . . . 11
2.3 General Gradient-based Algorithm . . . . . . . . . . . . . . . . . . . . . . 12
4.1 VXFlow Input File . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
4.2 VXFlow Geometry Definition . . . . . . . . . . . . . . . . . . . . . . . . . 19
4.4 VXFlow Other Output Files. . . . . . . . . . . . . . . . . . . . . . . . . . 20
4.3 VXFlow Output File . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
5.1 VXFLOW Objective Functions . . . . . . . . . . . . . . . . . . . . . . . . 25
6.1 Wind Shield Results Summary . . . . . . . . . . . . . . . . . . . . . . . . 32
6.2 Savonius Results Summary . . . . . . . . . . . . . . . . . . . . . . . . . . 39
xii
-
8/10/2019 Aerodynamic Shape Optimization using Vortex Particle Simulations
14/104
Acronyms
GUI Graphical UserInterface
GUIDE Graphical UserInterfaceDevelopment Environment
CPU CentralProcessing Unit
GPU Graphical Processing Unit
CFD Computational FluidDynamics
VPM Vortex Particle Method
LO Local Optimization
GO Global Optimization
LSM Line-Search Method
TRM Trust-RegionMethod
GA GeneticAlgorithm
BBO Black-BoxOptimization
MDO Multi-Disciplinary Optimization
xiii
-
8/10/2019 Aerodynamic Shape Optimization using Vortex Particle Simulations
15/104
-
8/10/2019 Aerodynamic Shape Optimization using Vortex Particle Simulations
16/104
Chapter 1
Introduction
The main goal of this thesis is to achieve Aerodynamic Shape Optimization by the use of
CFD Simulations based on the Vortex Particle Method (VPM).VXFlow[1], a numerical
flow solver developed byProf. Guido Morgenthalas part of his PhD Dissertation, was
the program chosen for this thesis. In this case the objective function has no analytical
solution and it is solved numerically, this type of objective functions are known as Black-
Box Functions. Optimization using such functions is know as Black-Box Optimization
(BBO) or Simulation-based Optimization.
For this purpose OptiFlow[2] was developed, a MATLAB [3] program with a Graph-
ical User Interface (GUI) that interacts with VXFlow, which works as the Black-Box
Function. WithOptiFlow a diverse array of operations relevant to Optimization can
be done, such as Data Gathering, Fitting and Surveying, Plotting, Parametrization and
Automatization, Remote Server Access and running of Optimization Algorithms.
The contents of this thesis are organized starting with a small introduction into opti-
mization and the basics of the Vortex Particle Method as the numerical approach used
for wind simulation. Then in Chapter 2 theory surrounding optimization algorithms,
mainly the difference between Local and Global Optimization is explored. In Chapter3
Shape Optimization and Black-Box Optimization (3.1) are the main topics, and present
the problems involving these kind of optimizations and the appropriate steps to take
in order to solve them. In Chapter4concerns VXFlow, which is the CFD program of
choice for the wind simulation and the Black-Box Function. Chapter5is aboutOpti-
Flowwhich is the program developed for this Master Thesis, explaining its main features
and how it works. Then in Chapter 6 some optimization examples are presented and
their results. Finally, in Chapter7 some concluding remarks are made about the out-
come of this research and some insights are given on future research ideas and scientifictrends in this area.
1
http://www.morgenthal.org/vxflowhttp://www.morgenthal.org/http://www.morgenthal.org/https://www.academia.edu/4873435/OptiFlow_v0.6.1_-_User_Guidehttp://www.matlab.com/http://www.morgenthal.org/vxflowhttps://www.academia.edu/4873435/OptiFlow_v0.6.1_-_User_Guidehttp://www.morgenthal.org/vxflowhttps://www.academia.edu/4873435/OptiFlow_v0.6.1_-_User_Guidehttps://www.academia.edu/4873435/OptiFlow_v0.6.1_-_User_Guidehttps://www.academia.edu/4873435/OptiFlow_v0.6.1_-_User_Guidehttps://www.academia.edu/4873435/OptiFlow_v0.6.1_-_User_Guidehttp://www.morgenthal.org/vxflowhttps://www.academia.edu/4873435/OptiFlow_v0.6.1_-_User_Guidehttp://www.morgenthal.org/vxflowhttp://www.matlab.com/https://www.academia.edu/4873435/OptiFlow_v0.6.1_-_User_Guidehttp://www.morgenthal.org/http://www.morgenthal.org/vxflow -
8/10/2019 Aerodynamic Shape Optimization using Vortex Particle Simulations
17/104
Chapter 1. Introduction 2
1.1 Optimization
Generally speaking, optimization consists in the process of finding the best solution to a
given problem, from a given set of available and feasible solutions. Examples of this canbe, finding the lightest superstructure for a bridge, decide which is the most profitable
business plan, or it could be to obtain the best geometrical shape that minimizes wind-
induced pressure on a vehicle. These problems usually involve minimizing or maximizing
something within the problem, and thats what optimization basically is, to obtain the
best possible solution to a problem.
Mathematically, the optimization problem can be expressed by, [4] [5]
minimizex
f(x)
subject to
gi(x) 0, i= 1, . . . , mhi(x) = 0, i= 1, . . . , n
(1.1)
where,
f(x) : n , is the objective function to be minimizedgi(x) 0, are inequality constraints
hi(x) = 0, are equality constraints
This optimization problem statement is formulated for minimization, but the same ap-
plies also for maximization problems.
Programmatically, optimization can be viewed as a whileloop, [6]
Figure 1.1: Optimization Programmatic View
-
8/10/2019 Aerodynamic Shape Optimization using Vortex Particle Simulations
18/104
Chapter 1. Introduction 3
1.2 The Vortex Particle Method
Vortex Methods are based on the knowledge that in a high-Reynolds number flow there
are three distinct regions: the viscous, rotational boundary layer, the wake and an invis-cid outer region which is usually irrotational. They rest on the simplicity of a vorticity
description of the fundamental Navier-Stokes equations for inviscid incompressible flow.
The simulation of such flows is reduced to tracking vorticity-carrying particles in a La-
grangian manner [7].
Vortex Methods have attracted considerable attention in recent years mainly for applica-
tions in Bluff Body Aerodynamics. This is due to very good results which can at least
for 2D cases be obtained at a fraction of the computational cost of other numerical
methods, e.g. Finite Volume or Finite Element methods.
The grid-free Vortex Particle MethodVXFlowis utilised for this Thesis. It is used to
discretize the Navier-Stokes equations and to evolve the fluid flow in time. The main
features of the code are as follows [1]:
Utilisation of the Boundary Element Method for the enforcement of the no-penetration
boundary condition on solid surfaces.
Surface circulation discretisation by means of elements of linearly varying vorticity.
Smooth Gaussian kernel for mutual vortex interactions.
A fast P3M algorithm for the computation of the velocity field by Morgen- thal
and Walther based on the utilisation of Fast Fourier Transforms for the solution of
the underlying Poisson equation and a local Particle-Particle correction algorithm.
A partial particle remeshing strategy developed by Morgenthal and Walther
The random walk method for diffusion modelling.
http://www.morgenthal.org/vxflowhttp://www.morgenthal.org/vxflow -
8/10/2019 Aerodynamic Shape Optimization using Vortex Particle Simulations
19/104
Chapter 1. Introduction 4
1.3 Software
A list of popular and readily available software used for solving optimization problems
is presented here, along with a small description of each.
MATLAB [3]: is a high-level language and interactive environment for numerical
computation, visualization, and programming.
TOMLAB [8]: is a powerful optimization platform and modeling language for
solving applied optimization problems in MATLAB.
OpenOpt [9]: Free Python-written numerical optimization software suite.
NOMAD [10]: is a C++ software designed to solve problems of Black-box Opti-
mization. The minimal requirement from the user is to provide the objective and
constraints.
CONDOR [11]: Algorithm using parallel, direct and constrained optimization
for high-computing-load objective functions.
-
8/10/2019 Aerodynamic Shape Optimization using Vortex Particle Simulations
20/104
Chapter 2
Optimization Algorithms
In this chapter we will make a brief overview on the most commonly known optimization
algorithms. We first talk about the different types of classification we can have for an
optimization problem, and the algorithms that can be used for solving them. We focus
our efforts in the classification of local and global algorithms and discuss some of the
algorithms that exist in these areas in further detail.
2.1 Classification
Optimization problems can be classified by linearity, modality, constraints and objec-
tives, in which cases they can be either linear or nonlinear, uni-modal or multi-modal,
constrained or unconstrained and single or multi-objective optimization, listed respec-
tively. We already noted the importance of understanding each type of optimization, so
we will introduce them briefly here and broaden on the subject on the following chapters.
Linear Optimization (LO), also known as Linear Programming, is an optimization prob-
lem were the objective function is a linear function and all of its constraints are eitherlinear inequalities or linear equalities. Linear Optimization is of little interest to us,
this is because very few problems in engineering can be expressed adequately in such a
limited form; nevertheless it is a great starting point for an introduction to optimiza-
tion and also to train the ability to intuitively formulate optimization problems of any
kind. On the other hand, Nonlinear Optimization (NLO) deals with either a nonlinear
objective function and/or nonlinear constraints. This will be our main focus of study,
and they are many powerful and elegant iterative algorithms which deal with this kind
of optimization problems.
5
-
8/10/2019 Aerodynamic Shape Optimization using Vortex Particle Simulations
21/104
Chapter 2. Optimization Algorithms 6
Optimization problems can be constrained or unconstrained, either the objective func-
tion or its constraints can bound the domain in which the solution can be found. The
constraints can be systems of inequalities or equalities equations. The amount of ob-
jective variables and constraints in the optimization problem can further classify theproblem as small-scale to large-scale optimization; an example of a small-scale optimiza-
tion would be to find the optimum pier size of bridge and in the other hand a large-scale
optimization could be the optimization of the whole bridge components, piers, cables,
slabs, beams, abutments, etc.
We can also have multiple objective functions on an optimization problem; for example
one can represent the drag force on bridge cross-section and another function can repre-
sent the tension force on a cable. Here we might want to minimize both the drag force
and the tension force, thus we have two objectives. In this kind of problem finding asolution that gives us a minimum for both functions is usually impossible, so we usually
have multiple solutions, for our example it could be a solution with the minimum drag
force, another solution with a minimum tension force on the cable, or we could have
compromise solutions were a compromise is established between the objective functions,
to obtain the most efficient solution.
Modality in an optimization problem refers to the amount of possible local solutions that
can be found for the whole domain. Speaking of minimization, a uni-modal problem
will only have one minimum in the whole domain, thus having only one solution, thisproblems are know as Local Optimization (LO). A bi-modal problem will have two local
minimums, and higher order modal problems will have more. The local minimums may
be of interest to us, but it is usually of greater interest to us the global minimum of
the objective function. The subfield that studies such problems is known as Global
Optimization (GO). There are several mathematical algorithms that can solve such
systems but they are usuallyheuristicin nature, this means that they are methods that
have shown good results with experience but provide no mathematical proof that they
converge to a solution, they are non-deterministic.
For more information check the references [4] [5][12] [13].
-
8/10/2019 Aerodynamic Shape Optimization using Vortex Particle Simulations
22/104
Chapter 2. Optimization Algorithms 7
2.2 Local Optimization
This branch of optimization is the one dealing on finding the optimum in a defined
region where it is known beforehand that only one optimum exists. This is the branch ofoptimization theory that is most developed with well founded theories and mathematical
proofs. It is therefore the one with the fastest algorithms for finding the optimum.
Figure 2.1: Local vs Global Minimum
An important special case of local optimization is the one know as convex optimization
which is the one where all local solutions are global solutions.
Figure 2.2: Convex vs non-Convex Function [14]
When it comes to Local Optimization Algorithms we can basically have two main cate-
gories for finding local minima, gradient-based algorithms and derivative-free (or direct-
search) algorithms. Well proceed now to discuss some optimization algorithms, start-
ing with the direct search methods, like the Golden-Section and Simplex (Nelder-Mead)
Methods, which dont require any information about the gradient of the objective func-
tion. After that well discuss the gradient dependant methods, like the Gradient Descent
and Newton Algorithms.
-
8/10/2019 Aerodynamic Shape Optimization using Vortex Particle Simulations
23/104
Chapter 2. Optimization Algorithms 8
2.2.1 Golden Section Algorithm
Figure 2.3: Golden Section Algorithm
This algorithm divides a given interval in
which the minimum exists in three sec-tions using the golden ratio, this ratio
is applied iteratively effectively narrowing
the interval in which the minimum exists,
until the minimum is found. This algo-
rithm is the limit of the Fibonacci search
for a large number of function evaluations.
The Golden Ratio is:
= a+b
a =
a
b =
1 + 52
= 1.6180339887...
Figure 2.4: Golden Ratio [15]
This is adirect search method, a derivative-free search algorithm. The use of this search
is restricted to unimodal functions, which means that the initial search interval [x0, x3]
must contain the minimum, if this isnt the case the algorithm will converge to a localminimum in the interval. Also the function must be mono-variate, a function with only
one variable. The main advantage of this algorithm is that function evaluations are
halved, because the interval ratio is kept constant, therefore the previous step function
value is used in the current step. [3] [13] [16]
-
8/10/2019 Aerodynamic Shape Optimization using Vortex Particle Simulations
24/104
Chapter 2. Optimization Algorithms 9
Algorithm
1. Initialization: Determine interval [x0, x3] which contains the minimum
Calculate intermediate points x1 and x2 using the golden ratio
x1= a +c where,
x2= a c c=
5 12
(x3 x0)
Repeat While|x3 x0| > (a sufficiently small number)
2. Evaluatef(x1) and f(x2)
3. Narrow Search Interval
If f(x1) f(x2) If f(x1)< f(x2)x0= x0 x0= x2
x3= x1 x2= x1
x1= x2 x3= x3
x2= x3 c x1= x0+c
If|x3 x0| Stop Iteration.
xmin= x3+x0
2
fmin= f(xmin)
Table 2.1: Golden Section Algorithm
-
8/10/2019 Aerodynamic Shape Optimization using Vortex Particle Simulations
25/104
Chapter 2. Optimization Algorithms 10
2.2.2 Nelder-Mead Simplex Algorithm
Figure 2.5: Nelder-Mead Simplex Algorithm
The idea of using simplexes for optimiza-
tion was first explored by Dantzig for lin-ear programming. A simplex is a general-
ization of the notion of a triangle or tetra-
hedron to arbitrary dimensions. [17] [18]
Here well focus our discussion on the
nonlinear implementation of the simplex
method developed by John Nelder and
Roger Mead in 1965. This algorithm is
a derivative-free method capable of min-imizing a multi-variable objective func-
tion. [19]
[20]
This algorithm requires that an initial guess be provided to start searching for the
minimum, from this an initial simplex is created. The algorithm evaluates the objective
function at each vertices of the simplex and carries out a series of movements, which
include: reflection, expansion, contraction and shrinkage. This movements shift and
modify the original simplex updating and converging it to the minimum on each step.
Figure 2.6: Types of Simplex Movements [21] [22]
-
8/10/2019 Aerodynamic Shape Optimization using Vortex Particle Simulations
26/104
Chapter 2. Optimization Algorithms 11
Algorithm
input : the cost functionf : Rn R{xi}
ni=0 an initial simplex
output: x
, a local minimum of the cost function f.begin
k 0whileSTOP-CRIT and (k < kmax)do
harg maxi
f(xi)
l arg mini
f(xi)
x (1 + )x xh
where >0 is the reflection coefficientiff(x)< f(xl)then
x (1 + )x x
where >1 is the expansion coefficient
iff(x
)< f(xl)then
xh x /* expansion
else
xh x /* reflection
else iff(x)> f(xi),i=h theniff(x) f(xh)then
xh x /* reflection
x xh+ (1 )x
where0 < f(xh)then
xi xi+xl
2 i 0, n /* multiple contraction
else
xh x /* contraction
else
xh x /* reflexion
k k + 1
return xl
Table 2.2: Nelder-Mead Simplex Algorithm [13]
-
8/10/2019 Aerodynamic Shape Optimization using Vortex Particle Simulations
27/104
Chapter 2. Optimization Algorithms 12
2.3 Gradinet-based Algorithms
When searching for the optimum they are two concepts which all of these methods share
in common. These areSearch DirectionandStep Size. The way in which these two stepsare carried out inside the algorithm separates this category into to Line Search Methods
and Trust-Region Methods. The main difference between these two methods is that
line search methods first choose a step direction and then a step size while trust-region
methods first choose a step size (the size of the trust region) and then a step direction.
The generic steps taken by this kind of algorithms is:
1. Initialize counteri= 0, and initial guess x0
Repeat While (Convergence Criteria)
2. Calculate Search Directionpi (step 3. for the TRM)
3. Calculate Step Lengthi, to minimize h(i) =f(xi + ipi) (step 2. for the TRM)
4. Set xi= xi+ipi, and i= i+ 1
Until Convergence Criteria is Satisfied
Table 2.3: General Gradient-based Algorithm [5]
The actual methods differ from one another by how the Search Direction pi and the
Step Length i are calculated. The calculation of the Step Length i is know as Line
Search, which usually consists of an inner iterative loop.
The most popular gradient-based optimization algorithms are:
Newton
Quasi-Newton
Gradient Descent
Conjugate Gradient
-
8/10/2019 Aerodynamic Shape Optimization using Vortex Particle Simulations
28/104
Chapter 2. Optimization Algorithms 13
2.4 Global Optimization
Several approaches exist for performing Global Optimization, they can be classified in
general terms as [23]:
1. Deterministic Methods
2. Stochastic Methods
(a) Monte Carlo Simulations
3. Heuristic Methods
(a) Evolutionary Algorithms(b) Swarm-Intelligence
(c) Neural-Networks
2.4.1 Genetic Algorithm
The genetic algorithm solves optimization problems by mimicking the principles of bi-
ological evolution, repeatedly modifying a population of individual points using rules
modeled on gene combinations in biological reproduction [3].
Fundamental concepts involved on a Genetic Algorithm are:
Fitness Function
Mutation
Crossover
Selection
-
8/10/2019 Aerodynamic Shape Optimization using Vortex Particle Simulations
29/104
Chapter 3
Shape Optimization
Shape Design is vital in the filed of Wind Engineering. We just need to take a look at the
Tacoma Narrows Bridge Collapse[24] to see how important shape design can be. With
the trends on materials engineering, lighter and slender structures are being built and
this structures are usually very sensitive to wind loading, therefore it is very important
for these structures to have aerodynamic shapes.
Shape optimization has been used extensively in the areas of wind energy and aerospace
engineering, in which shape design is critical for the efficiency and correct operation of
the structure.
Shape optimization consists on finding the optimal shape to minimize a certain objec-
tive function, also known as cost function, while satisfying given constraints. This is in
contrast to topology optimization, which is concerned with the optimization of compo-
nents and parts of which the structure is made of, like the number of holes to use in a
component or the floor layout in a building.
Mathematically, a shape optimization problem can be posed as follows, [25]
minimize
f()
subject to
gi() 0, i= 1, . . . , mhi() = 0, i= 1, . . . , n
(3.1)
where,
is a set of variable parameters that make up the geometry that we want to optimize.
[6]
14
https://www.youtube.com/watch?v=qbOjxPCfaFkhttps://www.youtube.com/watch?v=qbOjxPCfaFk -
8/10/2019 Aerodynamic Shape Optimization using Vortex Particle Simulations
30/104
Chapter 3. Shape Optimization 15
3.1 Black-Box Optimization
Black-Box Functions, also know as costly or noisy functions, are functions which eval-
uation usually involves running some external numerical code that solves systems ofdifferential equations. The optimization of this kind of functions is known also as expen-
sive optimization, because of the high computational effort required for the evaluation
of these functions. [26]
Figure 3.1: Black-Box process [27]
Black-Box processes are usually only known from their inputs and outputs, with little or
no knowledge of how it works internally. Black-Box Functions can be originating from
diverse sources, like the running of computer code, solution of system of Partial Dif-
ferential Equations or even real-life experiments. The optimization involving this type
of functions is usually known as Black-Box Optimization orSimulation-based Optimiza-
tion. [28]
Figure 3.2: Noisy Functions
Another challenge that arises with Simulation-
based Optimizations is the noisiness of
our results. Derivate-based optimization
algorithms are ill-suited for this type of
problems, because calculation of deriva-
tives most of the time is not possible.
Some derivative-free methods are robust
for small perturbations on the objective
function, but with high noise levels these
methods also fail and get trap in between
these perturbations before finding the op-
timum.[6]
Stochastic Optimization is the field which addresses this problem. Some research is going
into this field by adapting currently known methods into handling stochastic behavior
on the objective function. Please check references [29] and [11] for some examples of
research in this field.
-
8/10/2019 Aerodynamic Shape Optimization using Vortex Particle Simulations
31/104
Chapter 3. Shape Optimization 16
3.2 Parametrization
This is a fundamental step in performing Shape Optimization. It consists on the def-
inition of variables in the geometric model that we wish to optimize. Traditionally inthe analysis process, all dimensions of a structure are kept constant in the geometrical
numerical model. Now in order for us to perform simulation-based optimization we need
to have parametrized dimensions, so instead of taking a constant value they now can
be modified by the optimization routine, attaching it to the optimization process and
making it converge to the optimum shape.
Please refer to Section5.2to see how parametrization is implemented in OptiFlow.
3.3 Objective Functions
With the Objectives Functions is how the optimization problem is established. This
functions perform 3 basics task:
Replace variables values
Evaluate
Read
First the parametrized values are replace with the values issued by the user or the
optimization algorithm. Then calculations are done, the function is being evaluated. En
finally the result (output) from the evaluation is read.
It is in the objective function that it is defined against what it is desired to optimized
a certain optimization problem, and it is the segment of the optimization process which
controls the flow of the algorithm.
Please refer to Section5.3 to see how objective functions are implemented in OptiFlow.
https://www.academia.edu/4873435/OptiFlow_v0.6.1_-_User_Guidehttps://www.academia.edu/4873435/OptiFlow_v0.6.1_-_User_Guidehttps://www.academia.edu/4873435/OptiFlow_v0.6.1_-_User_Guidehttps://www.academia.edu/4873435/OptiFlow_v0.6.1_-_User_Guidehttps://www.academia.edu/4873435/OptiFlow_v0.6.1_-_User_Guide -
8/10/2019 Aerodynamic Shape Optimization using Vortex Particle Simulations
32/104
Chapter 4
VXFlow
VXFlow is a flow solver based on the Vortex Particle Method. It allows very effi-
cient simulation of two-dimensional flows around bodies of arbitrarily complex geom-
etry and arrangements of such. Main areas of application is in Wind Engineering of
structures, Aerodynamics, Aerospace Engineering and Offshore Engineering. Coupled
fluid-structure interaction analysis is possible, enabling simulation of vortex-induced
vibrations (VIV), flutter or galloping. [1]
In this Chapter we will discuss our Black-Box Simulation Program VXFlow. Our purpose
here is to explain the basics on the usage of the program, mainly the inputs and outputs
of the program. We will only discuss subjects that are relevant to the usage OptiFlow.
For detailed explanation on the usage of the program please refer to VXFlow Primer [1]
and for more information on the numerical method used on the program please refer to
the Ph.D. Thesis by Morgenthal [7].
Figure 4.1: VXFlow Black-Box process
4.1 Input File (*.in13)
The VXFlow input file is the definition of the CFD model, and consists of a list of pa-
rameters which the program reads to build the model. In Table 4.1we list the most basic
parameters and the most important when it comes to optimization, with commentary
on how they are used in the optimization.
17
-
8/10/2019 Aerodynamic Shape Optimization using Vortex Particle Simulations
33/104
Chapter 4. VXFlow 18
Item (default) OptiFlow Description
NSLICES (none) Nothing Number of Slices of the Structure. This af-
fects the number of columns for the out-
put file, because forces and displacements are
dumped into it for each slice and each section
of a slice.
NSTEPS (10000) Nothing Number of timesteps to be performed; if
NSTEPS=0 then calculation is performed
until user interruption. In the case of op-
timization it is important to have a value
that provides accurate results in a reasonableamount of time.
NUMSEC (1) Read Number of individual cross sections (separate
bodies). This also affects the output of the
output file (*.o3), and it is read by OptiFlow
to know how many sections are in a slice and
be able to read the user desired parameter
from a specific section or a slice.
GEOMROT (0.0) Read/Modify This is read by OptiFlow to plot the cor-
rect rotation of the geometry, and it can also
be modified by an objective function on each
simulation.
Table 4.1: VXFlow Input File
4.1.1 Geometry
The last values in the input file are the polygonal x-y coordinates of each section for eachslice of the model. The first point given is the leading edge (corner) and the number of
panels given is inserted on the edge running from this point to the one in the next line.
The last line contains the point on the circumference and panel information for the edge
which closes the section.
-
8/10/2019 Aerodynamic Shape Optimization using Vortex Particle Simulations
34/104
Chapter 4. VXFlow 19
Each row has the following format:
ID CX CY N MX MY
An explanation of each of these values is provided in Table 4.2.
ID Edge shape identifier: (1)=linear edge; (2/3)=arc edgeCX X-coodinate of corner pointCY Y-coodinate of corner pointN Number of panels to be created on this edgeMX X-coordinate of the centre of the circle part of which this e
is. MX and MY are only provided for arc edges, i.e. ID=3. The edge is constructed through the first point and arothe center given, where ID=2 provides a forward and I
a backward pointing arc. The user has to ensure thatarc actually goes through the second point (geometricallyproblem is overdetermined).
MY Y-coordinate of centre, cf. also MXexample:
p1x
, p1y
N1
p4x
, p4y
p3x
, p3y
p2x
, p2y
N4
N3
N2
Mx3
,My3
would be achieved by the following sequence:1 p1x p1y N11 p2x p2y N22 p3x p3y N3 Mx3 My31 p4x p4y N4
Table 4.2: VXFlow Geometry Definition [1]
-
8/10/2019 Aerodynamic Shape Optimization using Vortex Particle Simulations
35/104
Chapter 4. VXFlow 20
4.2 Output File (*.o3)
The VXFlow output file is a tab-delimited file which collects the values of section and
slices forces and displacements on each simulation time-step. Each column refers toa different parameter and each row is the value of these parameters for the time-step
evaluated in the simulation. The general formatting of this file is shown on Table 4.3.
4.3 Other Output Files
VXFlow also outputs other files if the flags for these are switched on. A list of these file
types, their flags and description is shown in Table 4.4
Flag (default) File Extension Description
VXFL (0) *.vx2 Vortex velocity output
SKFL (0) *.sk2 Plotting of streaklines on screen
FVFL (0) *.fv2 Absolute velocities on the isoline grid
PRFL (0) *.pr1 Surface pressure output
RSTFL (0) *.rst Restart File
VIZFL (0) *.mvxb Graphics output flags for VXviz
Table 4.4: VXFlow Other Output Files
In the case of running an optimization problem it is suggested that these flags are
switched off, as it is by default. They are not needed for calculations and are only used
for post-processing and flow visualization by programs like VXPost and VXviz.
-
8/10/2019 Aerodynamic Shape Optimization using Vortex Particle Simulations
36/104
Chapter 4. VXFlow 21
Time
Slice(i)
Slice(i+1)
...
Slice(NSLICES)
Sect.(
i)(j)
Sect.(
i)(j+1)
...
Sect.(i)(NUMSEC)
Sect.(
i+1)(j)
...
...
Forces(j)
Displ.(j)
...
...
t1
DRAG
LIFT
MOMEN
T
H.DISPL
V.DISPL
R.DISPL
...
...
. . .
. . .
. . .
. . .
. . .
. . .
. . .
. . .
. . .
tNSTEPS
DRAG
LIFT
MOMEN
T
H.DISPL
V.DISPL
R.DISPL
...
...
Table
4.3:
VXFlow
OutputFile
-
8/10/2019 Aerodynamic Shape Optimization using Vortex Particle Simulations
37/104
Chapter 5
OptiFlow
OptiFlow is the Optimization Tool developed for this Thesis. It is written in MAT-
LABand has a user-friendly GUI Environment. MATLABbuilt-in functions are used
for File Manipulation, Data-Fitting and Optimization.
An optimization model is required to be built before the use ofOptiFlow. This opti-
mization model consists of three main components:
CFD Model
*.in13 File
Parametrization *.opt File
Objective Function*.m File
A Computational Fluid Dynamics (CFD) Model is required byOptiFlow to be used for
the optimization. This model needs to be parametrized in order for it to be used in the
optimization process. This is done with the Parameter file an *.opt file. The Objective
Functions control the flow of the optimization by establishing the objectives desired to
achieve.
The following sections discuss each of this components further.
22
https://www.academia.edu/4873435/OptiFlow_v0.6.1_-_User_Guidehttp://www.matlab.com/http://www.matlab.com/http://www.matlab.com/https://www.academia.edu/4873435/OptiFlow_v0.6.1_-_User_Guidehttps://www.academia.edu/4873435/OptiFlow_v0.6.1_-_User_Guidehttps://www.academia.edu/4873435/OptiFlow_v0.6.1_-_User_Guidehttps://www.academia.edu/4873435/OptiFlow_v0.6.1_-_User_Guidehttp://www.matlab.com/http://www.matlab.com/http://www.matlab.com/https://www.academia.edu/4873435/OptiFlow_v0.6.1_-_User_Guide -
8/10/2019 Aerodynamic Shape Optimization using Vortex Particle Simulations
38/104
Chapter 5. OptiFlow 23
5.1 CFD Model
The CFD model consists on the numerical setup for the wind simulation, in our case
it is defined in the *.in13 file, which is VXFlowinput file. This model should be welldefined and working correctly, as this will be the base for generating the Optimization
Model.
CurrentlyOptiFlowsupportsVXFlowas the simulation program. For more information
on how to create a CFD Model refer to the VXFlow Primer.
5.2 Parameter File (*.opt)
Parametrization of the Optimization Model is performed in the *.opt File. We use M4
macro Language to define and parametrize the optimization variables.
M4 is a macro language, usually available in Unix platforms, which can be used as a
text-replacement tool. For example, if M4 receives as input:
# This is a comment
define(Value, 1.00)
Variable
x = Value
then it will output:
Variable
x = 1.00
Basically we use this ability to define our optimization variables and replace their values
with the ones obtained from the optimization algorithm.
M4-scripting is also capable of basic arithmetics, but a definition of a function (calc in
our case) is required. We assign Perls Math and Trig functions to this, and we do this
with the following code:
define(calc, [esyscmd(perle 'use Math::Trig; printf (\$1)')])
http://www.morgenthal.org/vxflowhttps://www.academia.edu/4873435/OptiFlow_v0.6.1_-_User_Guidehttp://www.morgenthal.org/vxflowhttp://www.morgenthal.org/vxflow/VXFlow_primer.pdfhttp://www.morgenthal.org/vxflow/VXFlow_primer.pdfhttp://www.morgenthal.org/vxflow/VXFlow_primer.pdfhttp://www.morgenthal.org/vxflowhttps://www.academia.edu/4873435/OptiFlow_v0.6.1_-_User_Guidehttp://www.morgenthal.org/vxflow -
8/10/2019 Aerodynamic Shape Optimization using Vortex Particle Simulations
39/104
Chapter 5. OptiFlow 24
For example if we have:
define(a,4) # Triangle base
define(b,3) # Triangle height
define(c, calc( sqrt( a**2 + b**2 ))
# 'a**b' stands for 'ab' ('a' to the power of 'b')
The hypotenuse is: c
then we would get:
The hypotenuse is: 5
Take note that it is very important to define unique variables names in the M4 script,
so that they do not conflict with the rest of the text in the file.
Finally, to build our M4-script File and generate our desired output file we type in the
terminal:
m4 vxf model.m4> vxf model.in13
For more information about M4-Programming check references[30][31].
Now lets talk about our *.opt Model File. Generally speaking, this file will consist of two
main parts, the M4-Script Definition and the CFD Model, this is illustrated on Fig. 5.1.
Figure 5.1: Parameter File
-
8/10/2019 Aerodynamic Shape Optimization using Vortex Particle Simulations
40/104
Chapter 5. OptiFlow 25
You can generate this M4-Files manually, but you can also use OptiFlows GUI to help
you in this task. Follow the sequence Build Parameter File (*.opt) from the
Menu Bar, to get a template to write your own Parameter File. With this utility you
can open a text-based file and a *.opt Template File will be auto-generated from thisfile, taking it as if it were the CFD Model. This template has some basics definitions
and commands commonly used in optimization problems.
The parameter file contains the information about the variables to be used in the op-
timization and the parametrization of the file. All variables are enclosed between the
[begin{variables}] and[end{variables}], and are defined inside the define( ) com-
mand. An example is shown below:
# Variables Definitions:
[begin{variables}]
define(x1, @) # Comment 1
define(x2, @) # Comment 2
#... others ...#
[end{variables}]
To build the Parameter File you can use Build Parameter File (*.opt) from the
Menu.
5.3 Objective File (*.m)
This is a MATLAB function file which works as the objective function of the optimiza-
tion. In this file you must call Objective Functions that will call the Program to run
and evaluate the values you require. The available functions for VXFLOW are shown
on Table5.1.
Function Description
VXF FORCES Used to obtain Forces from the Simulation.
VXF DISPL Used to obtain Displacement from the Simulation.
VXF DERIV Used to obtain Derivatives from the Simulation.
VXF GEO Used to obtain Geometrical Values from the Model.
Table 5.1: VXFLOW Objective Functions
To build the Objective Function File you can use Build Objective File (*.m)from the Menu.
-
8/10/2019 Aerodynamic Shape Optimization using Vortex Particle Simulations
41/104
Chapter 5. OptiFlow 26
5.4 Pre-Run Optimization
This optimization procedure requires a Data File. From this data a fit function is
obtained by using data fit methods provided in the program.
Figure 5.2: OptiFlow pre-run procedure
5.5 Run-Time Optimization
In this Optimization procedure you only need to set-up the Optimization Model, opti-
mization is made on-the-fly.
Figure 5.3: OptiFlow run-time procedure
-
8/10/2019 Aerodynamic Shape Optimization using Vortex Particle Simulations
42/104
Chapter 6
Optimization Models
Examples
The purpose of this chapter is to show some optimization examples using the program
OptiFlow. Two optimization examples are presented, a Wind Shield for vehicular pro-
tection of the M4 Neath Viaduct and a Vertical-Axis Wind Turbine (VAWT) based on
the savonius rotor.
An overview of each example is given and the motivation for optimizing them.
27
https://www.academia.edu/4873435/OptiFlow_v0.6.1_-_User_Guidehttps://www.academia.edu/4873435/OptiFlow_v0.6.1_-_User_Guide -
8/10/2019 Aerodynamic Shape Optimization using Vortex Particle Simulations
43/104
M4 Neath Viaduct
Wind Shield
6.1 M4 Neath Viaduct Wind Shield
This bridge is located in South Wales and crosses the River Neath [7]. A section of the
bridge is very exposed in flat topography, therefore a wind shielding system is desired
for reducing the overturning forces on vehicles. The CFD model used herein is the same
as the one used on the VXFlowtutorial example.
We placed four small sections in the freeway just to obtain the interior drag forces in
this region, as shown in the Figure6.1.
Figure 6.1: M4 Neath Viaduct Wind Shield
The optimization problem is to find the optimum vertical positioning of the Wind Shield
in order to reduced overturning forces in the freeway. We define the optimization variable
as h, which is the height of the Wind Shield. The other parameters of the simulationare also shown in Figure6.2.
28
http://www.morgenthal.org/vxflowhttp://www.morgenthal.org/vxflow -
8/10/2019 Aerodynamic Shape Optimization using Vortex Particle Simulations
44/104
Chapter 6. M4 Neath Viaduct Wind Shield 29
Figure 6.2: Wind Shield
Parameters
The parameterhis defined in the *.opt file, all coordinates of the Wind Shield are made
dependent of this parameter, this is known as parametrization. This is shown in the
code below:
# Variables Definitions:
[begin{variables}]
define(h, @) # Height of Wind Screen
[end{variables}]
define(L, 3.00) # Wind Screen Length
define(t, 0.15) # Wind Screen Width
# Wind Screen Coordinates
define(x1, calc(013.00))
define(x2, calc(x1t))
define(y1, calc(h0.25))
define(y2, calc(y1+L))
-
8/10/2019 Aerodynamic Shape Optimization using Vortex Particle Simulations
45/104
Chapter 6. M4 Neath Viaduct Wind Shield 30
Then in the CFD model part of the Parameter File we place the corresponding coordi-
nates variables. These will bee replaced when the m4-macro is called on each iteration
of the optimization algorithm.
4 //num cornerpoints**SCREEN3(SCHEME3)
0.3 0.0 //release distance*spacing hull
0.02 0.001 0.0 0.1 //merg1*merg2*merg3*merg4
4 3 1 3 1 //section color coding:drag*lift*moment*displ*rotation
1 x2 y1 n1
1 x1 y1 n2
1 x1 y2 n1
1 x2 y2 n2
Objectives
For this optimization problem our objective is to minimize the drag force for vehicle
passing by, therefore we placed four small sections on the freeway just to obtain the
drag force on this points. Our Objective is to Minimize the Maximum of these Drags.
The Objective Function File is shown below:
function [Drag] = M4 Neath ViaductWS(X)
%% M4 Neath ViaductWS Objective Function
steps = 500;
Drag(1) = VXF FORCES(X,'DRAG','MAX',steps,'SECTION',11);
Drag(2) = VXF FORCES(X,'DRAG','MAX',steps,'eval',false,'SECTION',12);
Drag(3) = VXF FORCES(X,'DRAG','MAX',steps,'eval',false,'SECTION',13);
Drag(4) = VXF FORCES(X,'DRAG','MAX',steps,'eval',false,'SECTION',14);
[Drag,Lane] = max(Drag(:))
% Call optiOUT to generate Plots and Output Data
optiOUT(X, [Drag]);
end
Results
In the pre-run optimization procedure we collected data from 0 to 1.5 at steps of 0.1 for
the value ofh. The collected points and the smoothing data fit is shown on Figure 6.3
-
8/10/2019 Aerodynamic Shape Optimization using Vortex Particle Simulations
46/104
Chapter 6. M4 Neath Viaduct Wind Shield 31
Figure 6.3: Wind Shield pre-run Results
The optimum is then obtained to beh = 0.2 with adrag= 87.43. It is worth mentioning
that this value is from the 3rd lane from left to right.
For the run-time procedure we use the Golden Sectionalgorithm. It run for 8 iterations
and found the optimum to be at h= 0.23607 with a drag = 61.109. It is important to
note that the Golden Section is not a Global optimization and therefore is not reliable
for a noisy function, but in our case we notice from the data gathering that between h
values of 0 and 1 the function mostly has one unique optimum, and therefore we use
this algorithm in this range. The results are shown on Figure6.4
Figure 6.4: run-time Wind Shield Results
-
8/10/2019 Aerodynamic Shape Optimization using Vortex Particle Simulations
47/104
Chapter 6. M4 Neath Viaduct Wind Shield 32
A summary of the optimization results obtained from each run type is shown on Table6.1
Run Type h Drag
pre-run 0.2 87.43
run-time 0.23607 61.109
Table 6.1: Wind Shield Results Summary
The Final Shape of the Optimized Wind Shield is shown on Figure 6.5
Figure 6.5: Wind Shield Height: h= 0.25
-
8/10/2019 Aerodynamic Shape Optimization using Vortex Particle Simulations
48/104
Vertical-Axis Wind Turbine
(VAWT)
6.2 Vertical-Axis Wind Turbine (VAWT)
The Savonius Wind Turbine[32] is a Vertical-Axis Wind Turbine (VAWT) which main
advantages are its reliability and practicality. The optimization problem is to find the
optimum values for the eccentricity variables (ex and ey) in order to maximize Moment
or Power depending on the model type. The parameters of the wind turbine have been
taken from the dimensions of an empty oil drum, and are summarized on Figure 6.6
Figure 6.6: Savonius Turbine
The variables are bounded to the shaded area shown on Figure 6.6,which are:
ex= [0
0.5]
ey = [0 0.5]33
-
8/10/2019 Aerodynamic Shape Optimization using Vortex Particle Simulations
49/104
Chapter 6. Vertical-Axis Wind Turbine (VAWT) 34
For the solution of this problem three types of optimization models were prepared, they
are:
Static Model
pseudo-Static Model
Dynamic Model
Each of this models differ from one another in the way they obtain the desired objective,
this will be discussed on the Objectives Section.
Parameters
Again the parameters are defined in the *.opt file, between the brackets [begin{variables}]
and[end{variables}]. This time we have two variables and all coordinates of the Tur-
bine need to be parametrized to them. This is done with code shown below:
# Variables Definitions:
[begin{variables}]
define(ex, calc(0.1+Imper)) # Eccentricity in XDir
define(ey, calc(0.1+Imper)) # Eccentricity in YDir[end{variables}]
# Rotor Dimensions:
define(D1, 0.572) # Rotor Inside Diameter
define(D2, 0.584) # Rotor Outside Diameter
define(t, calc(D2D1)) # Rotor Thickness
# Coord. Calculations:
# Section 1
define(x1, calc((ex/2)))
define(y11, calc(D1(ey/2)))
define(y12, calc(y11D1))define(y13, calc(y12t))
define(y14, calc(y11+t))
define(xc1, calc((ex/2)))
define(yc1, calc(y11D1/2))
# Section 2
define(x2, calc(ex/2))
define(y21, calc(D1+(ey/2)))
define(y22, calc(y21+D1))
define(y23, calc(y22+t))
define(y24, calc(y21t))
define(xc2, calc(ex/2))define(yc2, calc(y21+D1/2))
-
8/10/2019 Aerodynamic Shape Optimization using Vortex Particle Simulations
50/104
Chapter 6. Vertical-Axis Wind Turbine (VAWT) 35
The coordinates parametrization of the Savonius Rotor is shown in the code below:
4 //num cornerpoints
0.2 0.0 //release distance*spacing hull
0.0 0.002 0.0 0.02 //merg1*merg2*merg3*merg4
4 4 1 3 1 //section color coding:drag*lift*moment*displ*rotation
3 x1 y11 nd1 xc1 yc1
1 x 1 y 12 nt
2 x1 y13 nd2 xc1 yc1
1 x 1 y 14 nt
4 //num cornerpoints
0.2 0.0 //release distance*spacing hull
0.0 0.002 0.0 0.02 //merg1*merg2*merg3*merg4
4 4 1 3 1 //section color coding:drag*lift*moment*displ*rotation
3 x2 y21 nd1 xc2 yc2
1 x 2 y 22 nt
2 x2 y23 nd2 xc2 yc2
1 x 2 y 24 nt
The Dynamic Model requires additional parameters to be set on the CFD model, these
are:
DYNAMIC=1
STRCMODEL=1
DAMPRATIO=1.0
RAYLA0=0.0
RAYLA1=0.0
ASEC0=5E3
ASEC1=5E3
MASS11=0.0
MASS12=0.0
MASS21=0.0
MASS22=1.0
STIFF11=9E9
STIFF12=0.0
STIFF21=0.0
STIFF22=0.0
Objectives
The Objective Function for the static model is the following:
function [Mo] = rotor static(X)
%% rotor static Objective Function
-
8/10/2019 Aerodynamic Shape Optimization using Vortex Particle Simulations
51/104
Chapter 6. Vertical-Axis Wind Turbine (VAWT) 36
Mo = VXF FORCES(X,'MOMENT');
% Call optiOUT to generate Plots and Output Data
optiOUT(X, [Mo]);
end
The Pseudo-Dynamic Model consists on rotating the Geometry around 360at steps of
45and averaging the values of the Moment. The Objective File for the Pseudo-Dynamic
case is the following:
function [AvgMo] = rotor pseudo static(X)
%% rotor pseudo static Objective Function
[DMdr, AvgMo] = VXF DERIV(X,'MOMENT','GEOMROT',[180 45 180])
AvgMo = mean(AvgMo); DMdr = mean(DMdr);
% Call optiOUT to generate Plots and Output Data
optiOUT(X, [AvgMo]);
end
The Dynamic Model is the most accurate model and has the following objective function:
function [Power] = rotor dyna(X)
%% rotor dyna Objective Function
Variables = getappdata(0,'Variables'); % Variables Data
modelPATH = getappdata(0,'modelPATH'); % Model Path
% Savonious Rotor Data
D = 0.578; % Rotor Avg Diameter [m]
m = 10; % Mass [kg]
% Calculate Arm vector
Arm = [X(1)/2, X(2)/2] + [(4/6)*D/pi, D/2];
Arm = norm(Arm);
% Calculate Inertial Mass
Mass = 2*m*Arm2;
m4Mod('MASS22',Mass,fullfile(modelPATH, Variables.FILE));
% Angular Velocity
Omega = VXF DERIV(X,'RDISPL','TIME',50,'SECTION',1);
Omega = mean(Omega);
% Torsional Force
Torque = VXF FORCES(X,'MOMENT','MEAN',50,'eval',false);Power = Torque * Omega;
-
8/10/2019 Aerodynamic Shape Optimization using Vortex Particle Simulations
52/104
Chapter 6. Vertical-Axis Wind Turbine (VAWT) 37
% Call optiOUT to generate Plots and Output Data
optiOUT(X, [Power]);
end
Results
Static Analysis
Data collected from a static model were smoothed by using cubic interpolation to get
the surface shown below:
Figure 6.7: Savonius Static Analysis Results
These results were unsatisfactory, this goes to show that inappropriate modeling of the
problem in study will lead to erroneous results. But it does show 2 potential areas for
the optimum values to exist, which are for ex= 0.1 and ey = 0.3.
Pseudo-Dynamic Analysis
This approach yielded better results than the previous one. Again as in the previous
analysis, data was collected from the model and was smoothed using cubic interpolation
to get the surface shown below:
-
8/10/2019 Aerodynamic Shape Optimization using Vortex Particle Simulations
53/104
Chapter 6. Vertical-Axis Wind Turbine (VAWT) 38
Figure 6.8: Savonius Pseudo-Dynamic Analysis
With this, we decide to adopt the values for the eccentricities as ex= 0.075 andey = 0.10,
for the optimum values.
Dynamic Analysis
From the data collected cubic interpolation was performed and we obtained the surfaceshown below:
Figure 6.9: Savonius Dynamic Analysis
This analysis gave us faster and more conclusive results, because it approaches closer toreality.
-
8/10/2019 Aerodynamic Shape Optimization using Vortex Particle Simulations
54/104
Chapter 6. Vertical-Axis Wind Turbine (VAWT) 39
We summarize the optimization results obtained from each model type on Table6.2
Model Type ex ey Mo P
Static 0.1 0.3 12.33 -
Pseudo-Dynamic 0.075 0.1 4.524 -
Dynamic 0.15 0.1 - 22.93
Table 6.2: Savonius Results Summary
The Final Shape of the Optimized Savonius Turbine is shown on Figure6.10
Figure 6.10: Savonius Rotor: ex= 0.10, ey = 0.10
-
8/10/2019 Aerodynamic Shape Optimization using Vortex Particle Simulations
55/104
Chapter 7
Final Remarks
7.1 Conclusions
The relatively low computational costs and the highly accurate simulations of the Vortex
Particle Method used in this Thesis are great reasons for using this CFD program for
simulation-based optimization. In addition it is a mesh-free numerical method, which
allows for easier and faster parametrization of the models, in contrast to meshing meth-
ods whose geometry is defined within its discretization, which needs to be changed and
checked at each simulation.
However, it is very important to address the issue of noisiness produced from the
simulation-based optimization. It is important to address this issue in an efficient man-
ner. Some recommendation are:
Tweak Local Optimization Algorithms: A stochastic analysis of the simu-
lation program is recommended, as well as using this data for tweaking current
optimization algorithms for robust and efficient convergence behavior. The Nelder-
Mead Simplex method is a convenient gradient-free algorithm for this purpose.
Run-Time Smoothing: This involves smoothing the noisy objective function by
implementation of a smoothing routine at run-time of the algorithm.
Global Optimization Algorithms: Add more Global Optimization Algorithms.
Refer to2.4for more information.
Parallelization: Many Global Optimization Algorithms take advantage of Par-
allel Computing. The speed-up of the optimization process would multiply with
the amount of CPUs used for the task.
40
-
8/10/2019 Aerodynamic Shape Optimization using Vortex Particle Simulations
56/104
Chapter 7. Final Remarks 41
For making the optimization process more user-friendly, it would be desirable to have a
GUI interface for the definition of the parameters, by directly clicking in the geometry.
7.2 Future Research
A very exciting area of research in the field of Optimization is the one known as Multi-
Disciplinary Optimization (MDO). This area has been most explored in the field of
aerospace engineering, not as much in civil engineering. With so many fields involved on
the design of a structure, like Earthquake, Wind, Hydraulic and Structural Engineering,
it is both challenging and rewarding to optimize important structures by including and
interacting with each of these elements.
Life-Cycle design is another interesting area of study. By including the effects of all
Natural Hazards into a simulation it is possible to design for a target Life-Time, resulting
in more reliable and economical structures.
The study and development of Optimization Algorithms is a current trend in the area
of Mathematics. Exploiting current trends in computer hardware, like Parallelization
and Graphical Processing Units (GPU) is encouraged. Other approaches are in the
purely mathematical, stochastic, and/or geometrical theories, as opposed to a heuristic
approach.
-
8/10/2019 Aerodynamic Shape Optimization using Vortex Particle Simulations
57/104
Bibliography
[1] Guido Morgenthal. VXFlow v0.994. Weimar, Germany, September 2011. VXFlow
Primer. http://www.morgenthal.org/vxflow.
[2] David Gutierrez Rivera. OptiFlow v0.6.1a. Weimar, Germany, March 2014. Opti-Flow Userguide.
[3] The MathWorks Inc. MATLAB v7.10.0 (R2010a). Natick, Massachusetts, 2010.
User Documentation, GUIDE, Curve Fitting Toolbox, Optimization Toolbox,
Global Optimization Toolbox, Parallel Computing Toolbox. http://www.matlab.
com/.
[4] Stephen Boyd and Lieven Vandenberghe. Convex Optimization. Cambridge Uni-
versity Press, The Edinburgh Building, Cambridge, CB2 8RU, UK, 2004. Pages:
1-11, 455-496. http://www.stanford.edu/~boyd/cvxbook/bv_cvxbook.pdf .
[5] Jorge Nocedal and Stephen J. Wright. Numerical Optimization. Springer, 175 Fifth
Avenue, New York, NY 10010, USA, 1999. Pages: 2-3, 4-7, 10-30.
[6] Igor Griva, Stephen G. Nash, and Ariela Sofer. Linear and Nonlinear Optimiza-
tion. Siam, 3600 Market Street, 6th Floor, Philadelphia, PA 19104-2688 USA, 2nd
edition, 2009. Pages: 35-40, 54-58, 355-450.
[7] Guido Morgenthal.Aerodynamic Analysis of Structures Using High-resolution Vor-
tex Particle Methods. University of Cambridge, Ph.D. Thesis, October 2002. Pages:
21-31, 121-142.
[8] Tomlab Optimization. TOMLAB, 2013. http://tomopt.com/tomlab/.
[9] OpenOpt. OpenOpt. National Academy of Sciences of Ukraine, 2013. http://
openopt.org/Welcome.
[10] M.A. Abramson, C. Audet, G. Couture, J.E. Dennis, Jr., S. Le Digabel, and
C. Tribes. The NOMAD project, March 2013. http://www.gerad.ca/nomad.
42
http://www.morgenthal.org/vxflow/VXFlow_primer.pdfhttp://www.morgenthal.org/vxflow/VXFlow_primer.pdfhttp://www.morgenthal.org/vxflow/VXFlow_primer.pdfhttp://www.morgenthal.org/vxflowhttp://www.morgenthal.org/vxflowhttps://www.academia.edu/4873435/OptiFlow_v0.6.1_-_User_Guidehttps://www.academia.edu/4873435/OptiFlow_v0.6.1_-_User_Guidehttps://www.academia.edu/4873435/OptiFlow_v0.6.1_-_User_Guidehttp://www.mathworks.com/help/matlab/http://www.mathworks.com/discovery/matlab-gui.htmlhttp://www.mathworks.com/help/curvefit/http://www.mathworks.com/help/curvefit/http://www.mathworks.com/help/optim/http://www.mathworks.com/help/gads/http://www.mathworks.com/help/gads/http://www.mathworks.com/help/distcomp/http://www.matlab.com/http://www.matlab.com/http://www.matlab.com/http://www.stanford.edu/~boyd/cvxbook/bv_cvxbook.pdfhttp://www.stanford.edu/~boyd/cvxbook/bv_cvxbook.pdfhttp://www.stanford.edu/~boyd/cvxbook/bv_cvxbook.pdfhttp://tomopt.com/tomlab/http://tomopt.com/tomlab/http://openopt.org/Welcomehttp://openopt.org/Welcomehttp://openopt.org/Welcomehttp://www.gerad.ca/nomadhttp://www.gerad.ca/nomadhttp://openopt.org/Welcomehttp://openopt.org/Welcomehttp://tomopt.com/tomlab/http://www.stanford.edu/~boyd/cvxbook/bv_cvxbook.pdfhttp://www.matlab.com/http://www.matlab.com/http://www.mathworks.com/help/distcomp/http://www.mathworks.com/help/gads/http://www.mathworks.com/help/optim/http://www.mathworks.com/help/curvefit/http://www.mathworks.com/discovery/matlab-gui.htmlhttp://www.mathworks.com/help/matlab/https://www.academia.edu/4873435/OptiFlow_v0.6.1_-_User_Guidehttps://www.academia.edu/4873435/OptiFlow_v0.6.1_-_User_Guidehttp://www.morgenthal.org/vxflowhttp://www.morgenthal.org/vxflow/VXFlow_primer.pdfhttp://www.morgenthal.org/vxflow/VXFlow_primer.pdf -
8/10/2019 Aerodynamic Shape Optimization using Vortex Particle Simulations
58/104
Bibliography 43
[11] Frank Vanden Berghen. Constrained, non-linear, derivative-free,parallel op-
timization of continuous, high computing load, noisy objective functions.
Universite Libre de Bruxelles, Ph.D. Thesis, 2004. http://theses.ulb.ac.
be/ETD-db/collection/available/ULBetd-04142004-190105/unrestricted/thesis_optimization_frank.pdf , http://www.applied-mathematics.net/
CONDORManual/CONDORManual_1.0.pdf .
[12] David G. Luenberger and Yinyu Ye. Linear and Nonlinear Programming. Springer,
233 Spring Street, New York,NY 10013, USA, 3rd edition, 2008. Pages: 2-7, 183-
257.
[13] Florent Brunet. Contributions to Parametric Image Registration and 3D Surface
Reconstruction. Universite dAuvergne, Ph.D. Thesis, November 2010. Chapter 2,
Pages: 27-44. http://www.brnt.eu/publications/brunet2010phd.pdf.
[14] Valentin Haenel, Emmanuelle Gouillart, and Gael Varoquaux. Python Sci-
entific lecture notes. EuroScipy tutorial team, November 2013. Chap-
ter 13, Pages: 251-265. http://scipy-lectures.github.io/_downloads/
PythonScientific-simple.pdf .
[15] Wikipedia. Golden ratio. The Wikimedia Foundation, 2014. http://en.
wikipedia.org/wiki/Golden_ratio .
[16] Wikipedia. Golden section search. The Wikimedia Foundation, 2014. http://en.
wikipedia.org/wiki/Golden_section_search .
[17] Wikipedia. Simplex. The Wikimedia Foundation, 2014. http://en.wikipedia.
org/wiki/Simplex.
[18] Wikipedia. Simplex algorithm. The Wikimedia Foundation, 2014. http://en.
wikipedia.org/wiki/Simplex_algorithm .
[19] Wikipedia. Nelder-Mead Method. The Wikimedia Foundation, 2014. http://en.
wikipedia.org/wiki/Nelder-Mead_method .
[20] E. G. Romero-Blanco and J. F. Ogilvie. Optimization with sequential simplex of
variable size. Maplesoft, 2002. http://www.maplesoft.com/applications/view.
aspx?SID=4289&view=html .
[21] Design Decisions Wiki.Downhill simplex. Design Decisions Laboratory, 2008. http:
//wiki.ece.cmu.edu/ddl/index.php/Downhill_Simplex .
[22] Sasa Singer and John Nelder. Nelder-Mead algorithm. Scholarpedia, 2009. http:
//www.scholarpedia.org/article/Nelder-Mead_algorithm .
http://theses.ulb.ac.be/ETD-db/collection/available/ULBetd-04142004-190105/unrestricted/thesis_optimization_frank.pdfhttp://theses.ulb.ac.be/ETD-db/collection/available/ULBetd-04142004-190105/unrestricted/thesis_optimization_frank.pdfhttp://theses.ulb.ac.be/ETD-db/collection/available/ULBetd-04142004-190105/unrestricted/thesis_optimization_frank.pdfhttp://www.applied-mathematics.net/CONDORManual/CONDORManual_1.0.pdfhttp://www.applied-mathematics.net/CONDORManual/CONDORManual_1.0.pdfhttp://www.applied-mathematics.net/CONDORManual/CONDORManual_1.0.pdfhttp://www.brnt.eu/publications/brunet2010phd.pdfhttp://www.brnt.eu/publications/brunet2010phd.pdfhttp://scipy-lectures.github.io/_downloads/PythonScientific-simple.pdfhttp://scipy-lectures.github.io/_downloads/PythonScientific-simple.pdfhttp://en.wikipedia.org/wiki/Golden_ratiohttp://en.wikipedia.org/wiki/Golden_ratiohttp://en.wikipedia.org/wiki/Golden_section_searchhttp://en.wikipedia.org/wiki/Golden_section_searchhttp://en.wikipedia.org/wiki/Simplexhttp://en.wikipedia.org/wiki/Simplexhttp://en.wikipedia.org/wiki/Simplexhttp://en.wikipedia.org/wiki/Simplex_algorithmhttp://en.wikipedia.org/wiki/Simplex_algorithmhttp://en.wikipedia.org/wiki/Nelder-Mead_methodhttp://en.wikipedia.org/wiki/Nelder-Mead_methodhttp://www.maplesoft.com/applications/view.aspx?SID=4289&view=htmlhttp://www.maplesoft.com/applications/view.aspx?SID=4289&view=htmlhttp://www.maplesoft.com/applications/view.aspx?SID=4289&view=htmlhttp://wiki.ece.cmu.edu/ddl/index.php/Downhill_Simplexhttp://wiki.ece.cmu.edu/ddl/index.php/Downhill_Simplexhttp://wiki.ece.cmu.edu/ddl/index.php/Downhill_Simplexhttp://www.scholarpedia.org/article/Nelder-Mead_algorithmhttp://www.scholarpedia.org/article/Nelder-Mead_algorithmhttp://www.scholarpedia.org/article/Nelder-Mead_algorithmhttp://www.scholarpedia.org/article/Nelder-Mead_algorithmhttp://wiki.ece.cmu.edu/ddl/index.php/Downhill_Simplexhttp://wiki.ece.cmu.edu/ddl/index.php/Downhill_Simplexhttp://www.maplesoft.com/applications/view.aspx?SID=4289&view=htmlhttp://www.maplesoft.com/applications/view.aspx?SID=4289&view=htmlhttp://en.wikipedia.org/wiki/Nelder-Mead_methodhttp://en.wikipedia.org/wiki/Nelder-Mead_methodhttp://en.wikipedia.org/wiki/Simplex_algorithmhttp://en.wikipedia.org/wiki/Simplex_algorithmhttp://en.wikipedia.org/wiki/Simplexhttp://en.wikipedia.org/wiki/Simplexhttp://en.wikipedia.org/wiki/Golden_section_searchhttp://en.wikipedia.org/wiki/Golden_section_searchhttp://en.wikipedia.org/wiki/Golden_ratiohttp://en.wikipedia.org/wiki/Golden_ratiohttp://scipy-lectures.github.io/_downloads/PythonScientific-simple.pdfhttp://scipy-lectures.github.io/_downloads/PythonScientific-simple.pdfhttp://www.brnt.eu/publications/brunet2010phd.pdfhttp://www.applied-mathematics.net/CONDORManual/CONDORManual_1.0.pdfhttp://www.applied-mathematics.net/CONDORManual/CONDORManual_1.0.pdfhttp://theses.ulb.ac.be/ETD-db/collection/available/ULBetd-04142004-190105/unrestricted/thesis_optimization_frank.pdfhttp://theses.ulb.ac.be/ETD-db/collection/available/ULBetd-04142004-190105/unrestricted/thesis_optimization_frank.pdfhttp://theses.ulb.ac.be/ETD-db/collection/available/ULBetd-04142004-190105/unrestricted/thesis_optimization_frank.pdf -
8/10/2019 Aerodynamic Shape Optimization using Vortex Particle Simulations
59/104
Bibliography 44
[23] Prof. DK Chaturvedi. Advances in Evolutionary Optimization Techniques.
YouTube, November 2013. https://www.youtube.com/watch?v=ftxiiaHNweQ.
[24] Imperial College London. Colour footage of the Tacoma Narrows bridge. YouTube,
December 2011. https://www.youtube.com/watch?v=qbOjxPCfaFk.
[25] Wikipedia. Shape optimization. The Wikimedia Foundation, 2014. http://en.
wikipedia.org/wiki/Shape_optimization .
[26] Monika Kowalska. Shape Optimization based on Black Box Simulations. Johannes
Kepler Universitat Linz, M.Sc. Thesis, May 2010. http://www.numa.uni-linz.
ac.at/Teaching/Diplom/Finished/kowalska-dipl.pdf .
[27] Wikipedia. Black box. The Wikimedia Foundation, March 2014. http://en.
wikipedia.org/wiki/Black_box .
[28] Andrea Cassioli. A Tutorial on Black Box Optimization. LIX Ecole polytech-
nique, April 2013. http://www.lix.polytechnique.fr/~dambrosio/blackbox_
material/Cassioli_1.pdf.
[29] John James Tomick. On Convergence of the Nelder-Mead Simplex Algorithm for
Unconstrained Stochastic Optimization. The Pennsylvania State University, Ph.D.
Thesis, May 1995. http://www.dtic.mil/dtic/tr/fulltext/u2/a289453.pdf.
[30] Brian Kernighan and Dennis Ritchie. m4 macro processor. GNU Project, 1977.
http://www.gnu.org/software/m4/m4.html .
[31] Michael Breen. Notes on the M4 Macro Language. mbreen.com, 2008. http:
//mbreen.com/m4.html.
[32] Wikipedia.Savonius wind turbine. The Wikimedia Foundation, March 2014. http:
//en.wikipedia.org/wiki/Savonius_wind_turbine .
https://www.youtube.com/watch?v=ftxiiaHNweQhttps://www.youtube.com/watch?v=qbOjxPCfaFkhttps://www.youtube.com/watch?v=qbOjxPCfaFkhttp://en.wikipedia.org/wiki/Shape_optimizationhttp://en.wikipedia.org/wiki/Shape_optimizationhttp://en.wikipedia.org/wiki/Shape_optimizationhttp://www.numa.uni-linz.ac.at/Teaching/Diplom/Finished/kowalska-dipl.pdfhttp://www.numa.uni-linz.ac.at/Teaching/Diplom/Finished/kowalska-dipl.pdfhttp://en.wikipedia.org/wiki/Black_boxhttp://en.wikipedia.org/wiki/Black_boxhttp://www.lix.polytechnique.fr/~dambrosio/blackbox_material/Cassioli_1.pdfhttp://www.lix.polytechnique.fr/~dambrosio/blackbox_material/Cassioli_1.pdfhttp://www.lix.polytechnique.fr/~dambrosio/blackbox_material/Cassioli_1.pdfhttp://www.lix.polytechnique.fr/~dambrosio/blackbox_material/Cassioli_1.pdfhttp://www.lix.polytechnique.fr/~dambrosio/blackbox_material/Cassioli_1.pdfhttp://www.dtic.mil/dtic/tr/fulltext/u2/a289453.pdfhttp://www.gnu.org/software/m4/m4.htmlhttp://www.gnu.org/software/m4/m4.htmlhttp://mbreen.com/m4.htmlhttp://mbreen.com/m4.htmlhttp://en.wikipedia.org/wiki/Savonius_wind_turbinehttp://en.wikipedia.org/wiki/Savonius_wind_turbinehttp://en.wikipedia.org/wiki/Savonius_wind_turbinehttp://en.wikipedia.org/wiki/Savonius_wind_turbinehttp://en.wikipedia.org/wiki/Savonius_wind_turbinehttp://mbreen.com/m4.htmlhttp://mbreen.com/m4.htmlhttp://www.gnu.org/software/m4/m4.htmlhttp://www.dtic.mil/dtic/tr/fulltext/u2/a289453.pdfhttp://www.lix.polytechnique.fr/~dambrosio/blackbox_material/Cassioli_1.pdfhttp://www.lix.polytechnique.fr/~dambrosio/blackbox_material/Cassioli_1.pdfhttp://en.wikipedia.org/wiki/Black_boxhttp://en.wikipedia.org/wiki/Black_boxhttp://www.numa.uni-linz.ac.at/Teaching/Diplom/Finished/kowalska-dipl.pdfhttp://www.numa.uni-linz.ac.at/Teaching/Diplom/Finished/kowalska-dipl.pdfhttp://en.wikipedia.org/wiki/Shape_optimizationhttp://en.wikipedia.org/wiki/Shape_optimizationhttps://www.youtube.com/watch?v=qbOjxPCfaFkhttps://www.youtube.com/watch?v=ftxiiaHNweQ -
8/10/2019 Aerodynamic Shape Optimization using Vortex Particle Simulations
60/104
OptiFlow User Guide
45
-
8/10/2019 Aerodynamic Shape Optimization using Vortex Particle Simulations
61/104
OptiFlow v0.6.1a
- User Guide -25/03/2014
-
8/10/2019 Aerodynamic Shape Optimization using Vortex Particle Simulations
62/104
---------------
Version history
---------------
0.6.1a - 06/Mar/2014 - Fixes to Run-Time Procedure
0.6.0a - 20/Feb/2014 - Attach Constraint File Capability
0.5.1a - 02/Feb/2014 - Changed CSV to Tab Delim. for Data Files
0.5.0a - 02/Feb/2014 - Added items to File Menu
0.4.7a - 31/Jan/2014 - Misc. Fixes to Plots
0.4.6a - 30/Jan/2014 - Added more Objective Functions
0.4.5a - 28/Jan/2014 - Plot Fixes, detects arcs and sections
0.4.4a - 19/Jan/2014 - Fixes to Plots and Server Access
0.4.3a - 08/Jan/2014 - Fixes to Remote Server Access
0.4.2a - 18/Dec/2013 - Misc. Fixes to GUI, added Timer and Progress Bar
0.4.1a - 12/Dec/2013 - Fixes to Objective Functions and Plots
0.4.0a - 09/Dec/2013 - Added Remote Server Access
0.3.0a - 04/Dec/2013 - Added Objective Functions
0.2.0a - 25/Nov/2013 - Windows Support
0.1.1a - 22/Nov/2013 - Updated Example Models
0.1.0a - 21/Nov/2013 - Model Geometry Visualization
0.0.1a - 11/Nov/2013 - Portability Fixes
0.0.0a - 30/Oct/2013 - Release
-
8/10/2019 Aerodynamic Shape Optimization using Vortex Particle Simulations
63/104
--------------
Future Release
--------------
- Add Parallel Optimization Capability
- Add Parallel Data Gathering
- Send Automated Data Gathering Script to Remote Server
- Add the Over-Time Optimization Procedure
- Get rid of the M4 and Perl Dependencies
- Add Remote Server Access under Windows
- Add user constraint to Optimization Algorithms runs
- Multi-Server Selection
- Deploy using Matlab Deployment Tool
- Add general and default optimization results plot
- Change Objective Function to accept File as Input parameter
- Add ability to define variables as constraints
- Add header for Data Files and Optimization Results Files
- Collect and save all data from VXFLOW on each function evaluation
- Let user choose different outputs for Plots and Data Files
- Let user choose output location for optimization results (not OptiOUT Fldr)
- Add timer and progress-bar for the Run-Time Procedure
- Add on/off switch for panels nodes display
- Add Wind-Speed Plot
- Dynamic GUI and Menus, auto-detect functions and populate menus accordingly
- Make Instructive Guide for adding support with other programs besides VXFLOW
- Add Parametrization using a GUI
- Change code to Object-Oriented-Programming (OOP) style
-
8/10/2019 Aerodynamic Shape Optimization using Vortex Particle Simulations
64/104
-
8/10/2019 Aerodynamic Shape Optimization using Vortex Particle Simulations
65/104
CONTENTS ii
5 Optimization 17
5.1 Pre-Run Optimization . . . . . . . . . . . . . . . . . . . . . . . . . 17
5.2 Run-Time Optimization . . . . . . . . . . . . . . . . . . . . . . . . 18
Appendices 19
I M4-Neath Viaduct Wind Shield 20
II Savonius Wind Turbine 33
-
8/10/2019 Aerodynamic Shape Optimization using Vortex Particle Simulations
66/104
Chapter 1
Introduction
1.1 About OptiFlow
OptiFlow is a CFD Optimization Tool written in MATLAB . It uses MATLAB
built-in Functions for Data-Fitting and Optimization to manipulate data and solve
optimization problems. The user is able to use the program by using a user-
friendly GUI or by modifying a text file.
This User Guide will cover the following topics:
Figure 1.1: OptiFlow Flowchart
1. Navigation of the GUI
2. The OptiFlow Input File
3. Data Gathering
4. Run Optimization Model
5. Build Optimization Model
At the end of this Guide we provide some simple tutorial examples to help you
get started in modeling optimization problems.
1
-
8/10/2019 Aerodynamic Shape Opti