Discrete Linear Stability Ad Sensitivity Analysis of Fluid Flows
Discrete Linear Stability Ad Sensitivity Analysis of Fluid Flows
Discrete Linear Stability Ad Sensitivity Analysis of Fluid Flows
Oliver M. F. Browne
Oliver M. F. Browne
Supervisors
Prof. Eusebio Valero and Dr. Esteban Ferrer
el dı́a de de
on the day of of
Presidente:
Vocal:
Vocal:
Vocal:
Secretario:
Performed the act of reading the defence and thesis on the day of
Calificación:
i
ii
Abstract
A discrete framework for computing the global stability and sensitivity analysis to external
perturbations for any set of partial differential equations is presented. In particular, a
complex-step approximation is used to achieve near analytical accuracy for the evaluation
of the Jacobian matrix. Sensitivity maps for the sensitivity to base flow modifications
and to a steady force are computed to identify regions of the flow field where an input
could have a stabilising effect.
Four test cases are presented: (1) an analytical test case to prove the theory of the discrete
framework, (2) a lid-driven cavity at low Reynolds case to show the improved accuracy in
the calculation of the eigenvalues when using the complex-step approximation, (3) the 2D
flow past a circular cylinder at just below the critical Reynolds number is used to validate
the methodology, and finally, (4) the flow past an open cavity is presented to give an
example of the discrete method applied to a convectively unstable case. The latter three
(2–4) of the aforementioned cases were solved with the 2D compressible Navier–Stokes
equations using a Discontinuous Galerkin Spectral Element Method. Good agreement
was obtained for the validation test case, (3), with appropriate results in the literature.
Furthermore, it is shown that for the calculation of the direct and adjoint eigenmodes and
their sensitivity maps to external perturbations, the use of complex variables is paramount
for obtaining an accurate prediction.
An analysis for stabilising the wake past an actuator disc, which represents a simple model
for propellers, helicopter rotors or wind turbines is also presented. We explore the first
flow bifurcation for an actuator disc and it suggests that it is associated to a Kelvin-
Helmholtz type instability whose stability relies on the Reynolds number and the flow
resistance applied through the disc (or actuator forcing). First, we report that decreasing
the disc resistance has a similar stabilising effect to an decrease in the Reynolds num-
ber. Second, a discrete sensitivity analysis identifies two regions for suitable placement of
flow control forcing, one close to the disc and one far downstream where the instability
originates. Third, we show that adding a localised forcing close to the actuator provides
more stabilisation that forcing far downstream. The analysis of the controlled flow fields,
confirms that modifying the velocity gradient close to the actuator is more efficient to
stabilise the wake than controlling the sheared flow far downstream. An interesting ap-
iii
plication of these results is to provide guidelines for stabilising the wake of wind or tidal
turbines when placed in an energy farm to minimise unsteady interactions.
iv
Resumen
v
cerca del actuador es más eficiente para estabilizar la estela. Estos resultados podrı́an
proporcionar nuevas directrices para la estabilización de la estela de turbinas de viento o
de marea cuando estén instaladas en un parque eólico y minimizar las interacciones no
estacionarias entre turbinas.
vi
Acknowledgements
Firslty, none of this would have been possible had it not been for my supervisors, Prof.
Eusebio Valero and Dr. Esteban Ferrer. They have been the giants shoulders from which
I have stood. They have constantly and consistently supported me throughout my Ph.D.,
put in a lot of valuable time with me and I owe them a lot. I could not of picked finer
people to be my supervisors and it has been a pleasure to work with academics who have
so much passion for science and research.
I would also like to express my gratitude and thanks to Dr. Gonzalo Rubio who has
answered my emails, listened to my questions and gave me advice on countless occasions
throughout my time at UPM. His help with navigating his code made my life easier. I also
thank the many people within the department of applied mathematics who have either
helped me at one point or been very welcoming: Fernando, Miguel, Jesus, Carlos, Silvia,
Moritz, Nuno, Javier, Gennaro, Angel, Jose, Bartolo, Marta, Mariola, Kamil and Raul.
I extend my thanks to all the students, lecturers and technicians at Coventry University,
Imperial College London and Universidad Politecnica de Madrid who have helped get
here. I am grateful to Dr. Matthew Juniper and Dr. Denis Sipp for their hospitality
during my secondmdents at the University of Cambridge and ONERA respectively.
I have made some great friends while in Madrid... thanks for putting up with me at times,
making me laugh and looking after me: Massimo, Kyle, Claire, Olivia, Shawn, Kelly, Kelli
and Taylor to name a few. Lastly, I thank my family for their support and encouragement
throughout my life. Particularly my mum and dad who have had unwavering faith in me
and allowed me to follow my dreams. I could not of made it here today without you.
Thank you.
vii
viii
Dedication
To my parents.
ix
x
‘But why, some say, the Moon?... why climb the highest mountain? Why, 35 years ago,
fly the Atlantic? Why does Rice play Texas? ... We choose to go to the Moon in this
decade and do the other things... not because they are easy, but because they are hard.’
xi
xii
Contents
Abstract i
Resumen iv
Acknowledgements vii
1 Introduction 1
1.1 Preface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
1.6.2 Conferences . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
1.7 ANADE: Advances in Numerical and Analytical tools for DEtached flow . 13
xiii
2 Mathematical Formulation 15
2.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
2.5 Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
3 Matrix Computation 35
3.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
3.5 Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51
4 Numerical Methods 53
4.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53
xiv
4.3 Spatial Discretisation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55
4.5.1 Implementation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65
5 Validation Cases 67
5.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67
xv
6.2.1 Actuator Disc Modelling . . . . . . . . . . . . . . . . . . . . . . . . 91
6.3 Results . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 93
7 Conclusions 107
Bibliography 112
xvi
List of Tables
3.1 The computational cost for evaluating the Jacobian matrix of the stan-
dard forward finite difference, centred finite difference and complex-step
derivative approximation. The computational time of the forward finite
difference t1stR is taken as the datum. . . . . . . . . . . . . . . . . . . . . . 41
6.1 Stability of the wake of an actuator disc when varying the Reynolds number
(Re) and the actuator forcing (f ). The table details the wake behaviour:
steady (S) or unsteady (U). . . . . . . . . . . . . . . . . . . . . . . . . . . 94
xvii
xviii
List of Figures
2.2 General outline for the discrete sensitivity analysis methodology presented 34
3.2 Figure showing an example of the compact stencil used in Jacobian com-
putation. The green square indicates where the perturbation in applied,
and the red squares indicate the elements to that the information travels. . 40
xix
3.5 Comparison of forward, centred difference and the complex-step approxi-
mation methods for the numerical differentiation of the fluxes to calculate
the Jacobian. The relative error for the 2 most unstable eigenvalues are
shown for the lid driven cavity case. . . . . . . . . . . . . . . . . . . . . . . 50
5.1 Evolution of the flow past a circular cylinder with increasing Reynolds
number. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68
5.2 Overview of the dimensions and boundary conditions for cylinder flow case 70
5.4 The eigenvalue spectrum for flow past a circular cylinder at Re = 45.
The circled eigenvalue corresponds global mode associated to the (Kármán
vortex instability. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71
u+ and b) ρc
5.6 The real part of the cylinder adjoint eigenmode fields; a) ρc v + . 73
5.8 Sensitivity to base flow modifications; a) real part, ∇q̄ σr , and b) imaginary
part, ∇q̄ σi , for the circular cylinder. . . . . . . . . . . . . . . . . . . . . . . 76
5.9 Sensitivity to base flow modifications real part, ∇q̄ σr , for the circular cylinder. 76
5.10 Sensitivity to a steady force; a) real part, ∇qf σr , and b) imaginary part,
∇qf σi , for the circular cylinder. . . . . . . . . . . . . . . . . . . . . . . . . 77
5.11 Sensitivity to a steady force real part, ∇qf σr , for the circular cylinder. . . . 77
5.12 Overview of the dimensions and boundary conditions for the open cavity . 80
5.14 The eigenvalue spectrum for flow past an open cavity at Re = 1400. The
circled eigenvalue corresponds to the first Rossiter mode. . . . . . . . . . . 83
xx
5.15 The real part of the open cavity direct eigenmode fields; a) ρc
u and b) c
ρv . 84
5.16 The real part of the open cavity adjoint eigenmode fields; a) (ρu)d+ and b)
d+ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85
(ρv)
5.18 Sensitivity to base flow modifications, a) ∇q̄ σr and b) ∇q̄ σi , for the open
cavity at Re = 1400 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 87
5.19 Sensitivity to a steady force, a) real part, ∇qf σr , and b) imaginary part,
∇qf σi , for the open cavity at Re = 1400 . . . . . . . . . . . . . . . . . . . 88
6.4 Contours of streamwise velocity a) and d), transverse velocity b) and e),
and vorticity magnitude c) and f). Steady flow shown for Re = 3000, in
a), b) and c), and unsteady flow for Re = 3500 d), e) and f). Both flows
are computed with the same actuator forcing f = 1.0. . . . . . . . . . . . . 95
6.6 a) Vorticity magnitude along the streamwise line y/D = 0.57 for Re = 1000
(stable), 3000 (stable), and 3500 (unstable) are shown. b) zoom of 3500
(unstable) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 96
6.7 Convergence of the a) growth rate (σr ) and b) frequency (σi ) with respect
to polynomial order. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 98
6.8 a) and c) Growth rates for the most unstable eigenvalue at various Reynolds
(Re) and actuator forcing f . b) and d) frequencies for the most unstable
eigenvalue at various Reynolds (Re) and actuator forcing f . . . . . . . . . 99
xxi
6.9 a) Direct mode (real part streamwise momentum) and b) Adjoint mode
(real part streamwise momentum), for Re = 3000 and f = 1 (steady case). 100
6.11 a) base flow modifications (∇q̄ σ) and b) a steady force (∇qf σ). . . . . . . . 101
6.13 Uncontrolled wake (original) compared to near disc control (f 1) and down-
stream control (f 2): Growth rates for the most unstable eigenvalue for a)
various Reynolds numbers (Re) (fixed actuator forcing f = 1.0) and b)
various actuator forcing f (and fixed Re = 3000). . . . . . . . . . . . . . . 103
6.14 Uncontrolled wake (original) compared to near disc control (f 1) and down-
stream control (f 2): Vorticity magnitude along the horizontal line y/D =
0.57 for Re = 3500 and f = 1.0. . . . . . . . . . . . . . . . . . . . . . . . . 103
6.15 Streamwise velocity at sections x/D = 5, x/D = 10, x/D = 15, x/D = 20,
x/D = 25 and x/D = 30 for Re = 3500 and f = 1.0. . . . . . . . . . . . . . 104
6.16 Direct mode (real part streamwise momentum) for Re = 3000 and f = 1
for a) no forcing, b) f 1 and c) f 2 . . . . . . . . . . . . . . . . . . . . . . . 104
xxii
Chapter 1
Introduction
1.1 Preface
Unsteady fluid flows present themselves in innumerable areas within science and engi-
neering. They can either be undesirable: separation of the boundary layer or flutter on
an aircraft wing, turbulent flow entering a jet engine causing compressor stall or surg-
ing, strong winds passing over bridges and between buildings, a tornado or cyclone etc
or desirable: vortex generators to prevent boundary layer separation, snow fences which
induce turbulence in the wind as a means to force snow to be dropped on the fence,
energy generation via waves and tides. However, the examples of desirable unsteadiness
dϕ
are unsteady by the definition dt
6= 0 (where ϕ is some parameter of the flow such as
velocity, pressure, density, etc), but generally it would be desirable to have periodically
steady flow rather than complete unsteadiness.
1
experiments in a wind tunnel or computational runs and progressively try different in-
puts/perturbations in distinct locations. This could be a long, cumbersome and po-
To begin talking about flow stability it is both convenient and appropriate to start by
discussing the work of British scientist Osborne Reynolds. Reynolds, one of fluid dynamics
fathers and pioneers, studied the transition of fluids from a laminar regime to a turbulent
regime and, along with Sir George Stokes, presented what is now considered one of the
U∞ L
Re = (1.1)
ν
where U∞ , L, and ν are the freestream velocity, characteristic length and kinematic vis-
cosity respectively. Reynolds numbers not only allows the comparison of flow patterns in
different fluids (ν) or configurations (U∞ , L) but also quantify the bounds of different flow
regimes. For instance, in similar experiments to that of Reynolds [78], for flow in a pipe
with a diameter of L: the flow is laminar in nature for Re < 2300 while being turbulent for
Re > 4000. Furthermore, Reynolds number is also important for defining the boundary
between stable and unstable flows. The classic example, and one which is explored later
in this thesis, is flow past a circular cylinder [103]: for Re . 46 the flow is stable while
Re & 48 the flow is unstable. We define the boundary between stability/instability as the
critical Reynolds number Recrit . This thesis will focus on working on problems which are
in the vicinity of the Recrit .
2
This leads on nicely to how we proceed in defining stability. Within the confines of the
Lyapunov stability theory [61], one can describe a solution q of a dynamical system stable
if when perturbed by an infinitely small variation δ, the solution will only vary by an
infinitely small quantity ε at some future time.1 This can be written more elegantly as
Conversely, if the difference is large then the dynamical system will be characterised as
unstable. Additionally, we can define when a system is asymptotically stable. If when the
solution q is perturbed by an infinitely small variation δ the flow returns to the original
solution then the dynamical system is asymptotically stable. We can write this as
On top on these definitions of stability, we can also differentiate on the types of instability
[44]. The two types of instability which are significant for this work are the following
The analysis that is introduced here is a temporal analysis and leads to determining
absolute instabilities. However, the spatially evolving structures can also be determined
indirectly (Alizard and Robinet [2], Rodriguez [80]). We now briefly introduce some
mathematical concepts of linear stability analysis (modal analysis) but these are further
explored in more detail and a more probing treatment in Chapter 2. One begins linear
1
Analysis is valid for scalars and vectors.
3
(a) (b)
Time
Space
Figure 1.1: Diagram showing an a) absolute instability and b) convective instability (figure
extracted from Blackburn et al. [19])
stability analysis by first decomposing the solution of a dynamical system q as the sum
of a steady base state (for fluids this is the base flow) q̄ and the evolution of infinitesimal
unsteady perturbations q ′ around the base state
J q̂ = σ q̂, (1.5)
Note that we define a standard eigenvalue problem but could just as easily of written it as
a generalised eigenvalue problem. From the EVP we extract complex eigenmodes q̂ and a
spectrum of eigenvalues σ = σr + iσi . The real part of the eigenvalue σr gives the growth
4
rate of the system while the imaginary part σr gives the frequency. If an eigenvalue has a
positive real part σr > 0, then the solution q will grow in time and thus can be described
Linear stability analysis is now looked at from the application to fluid dynamics. The
dynamics of complex aerodynamic flows such as shear layers, cavities, wakes or de-
tached flows; present unstable behaviours when some physical dependent parameter (e.g.
Reynolds or Mach number) surpasses a critical threshold. In these cases, unstable modes
appear and their temporal evolution drives the system dynamics to a new equilibrium
configuration, sometimes called the saturated regime. Modes can be considered as a flow
structure resulting from an eigenvalue analysis. Linear stability analysis studies the ap-
pearance and evolution of these modes which are related to parameters involved in the
problem [100, 89, 86]. Examples of stability analysis for different flows can be found in the
literature: cavity flows [30, 20, 96, 95], boundary layers [8], circular cylinder [9, 10, 12],
backward facing step [19].
The development and rise of sensitivity analysis has naturally marched on from linear sta-
bility analysis. Sensitivity analysis in its most basic definition deals with the uncertainty
of the input/output relationship of a mathematical system but is employed here as a tool
to determine how the system can be modified in order to achieve greater stability. Recent
studies for this application are, [40, 60], oriented towards the investigation of the sensi-
tivity of the unstable eigenmodes (i.e. growth rates and frequencies) to the introduction
5
of perturbations in the base flow or by external forces.
The pioneering work of Strykowski and Sreenivasan [93] showed, experimentally, that
introducing a small object in the wake of a cylinder may delay the onset of unsteadiness,
well above the critical Reynolds, for the first bifurcation of Hopf type (at Recrit ≈ 47)
[10, 12]. In a more general framework, the introduction of a small perturbation in the
The numerical study of flow sensitivity relies on the use of adjoint eigenmodes (section
2.3, [26, 59]). These modes, which are eigen-solutions of an adjoint system of equations
provide receptivity information to external forcing [59, 87]. Sensitivity maps are pro-
vided by combining direct and adjoint modes. The importance of adjoint modes and
sensitivity maps, together with the mathematical machinery required for the study of
the sensitive flow regions to different parameters, has been studied by different authors
[87, 26, 59, 44, 24]. In addition, these studies provide detailed reviews of the “state of
the art” techniques in linear stability analysis and sensitivity analysis, addressing the
relevance that the adjoint plays in the analysis of these problems, and also giving a com-
prehensive overview of the above-mentioned techniques and outlining the possibilities of
linking sensitivity information with open/closed loop control. The mathematical formu-
lation and the numerical computation of sensitivities has been detailed by Giannetti and
Luchini [40], who showed that the structural sensitivity or “wavemaker” region may be
obtained by combining (using a particular norm) the direct and adjoint eigenmodes. This
can be considered the origin of the instability.
6
1.3.1 Discrete vs Continuous
Solve for
discrete Discretise Linearise
steady
Eqn’s Eqn’s
state
Governing
Eqn’s
Solve for
Linearise Discretise
continuous steady
Eqn’s Eqn’s
state
continuous in space), which are then linearised. Subsequently, the continuous direct and
adjoint operators may be formed, and finally, these continuous operators are discretised.
The discrete approach requires: first, the numerical discretisation of the direct equations
which are subsequently linearised to form the direct discrete operator and the adjoint
operator can then be obtained. A simple flow chart of the discrete vs continuous approach
is provided in Figure 1.2.
Marquet et al. [64] formulated a method using a continuous approach and Lagrange
multipliers to obtain equations for the sensitivity fields for the incompressible Navier-
Stokes (NS) equations. In this work they derive equations for the sensitivity to base flow
7
D-shaped cylinder geometry.
In more recent years the discrete approach has become more popular within the stabil-
ity/sensitivity community. Chandler et al. [24] compared the discrete and the continuous
approach for the low Mach number equations for a low density jet and showed that both
methods provide very similar results. On the one hand, the continuous approach, for this
particular case, showed a faster rate of convergence while requiring a less resolved mesh.
On the other hand, the discrete approach was found to be more straightforward to im-
plement. The boundary conditions for the adjoint problem are automatically applied in
the discrete framework as stated by [40] whereas they need to be defined explicitly in the
continuous case. Mettot et al. [69], independently to the author of this thesis, developed
a method using a discrete framework to compute the sensitivity to base flow modifica-
tions and to steady forcing for high Reynolds number flows with turbulence models. They
further applied this methodology for finding the regions to place a small control cylinder
for stabilisng the flow past a D-shaped cylinder in [70].
The Jacobian (the definition of this is addressed in Chapter 2) matrix can be formed in
Firstly, analytically forming the Jacobian means symbolically computing the derivatives
either by hand or using software with this capability (Maple [71], Mathematica [77]).
Although being an effective technique, by hand is prone to errors and one can run into re-
source limitations (relatively slow) when approaching larger problems when using software
[7].
8
being a powerful tool, for the applications considered here a continuous approach must
be employed if the system is non-linear to enable its use.
Lastly, we introduce numerical differentiation and why it is selected for computing the
matrices in this thesis. Numerical differentiation [48, 5] is robust in that once it is imple-
mented, modifying the governing equations requires little, if any, adjustment to the users
source code.2 Furthermore, numerical differentiation is based on perturbing the non-linear
fluxes (see Chapter 2) and as such, the users solver can be treated as a black box which
has the fluxes as an input and the Jacobian as an output. However, the drawback is
the selection of the perturbation parameter must be carefully chosen as to not being too
small as to introduce round-off error but not big enough for truncation error to become
significant. This is overcome with the implementation of the complex-step derivative ap-
proximation [63, 62, 55, 65]. The use of this method enables wider range of acceptable
values for the perturbation parameter and after a finite value machine precision accuracy
is achieved (see Chapter 3).
In this thesis, a methodology to perform global stability and sensitivity analysis using
a fully discrete approach is presented. To the authors knowledge, this is the first such
work to compute the Jacobian using complex variables for a fluid dynamics problem.
Furthermore, this is the first sensitivity analysis study to use a high order spectral el-
ement method for the numerics. The discrete approach can be implemented into any
kind of CFD solver, e.g. laminar or turbulent, compressible or incompressible. It allows
for computing the direct and adjoint modes of the flow, either stable or not, and the
sensitivity formulation to these modes. Henceforth, this thesis extends the discrete ap-
proaches of [24, 69, 70], while also closely following the mathematical formulation of the
continuous approach of [64] to retrieve the sensitivity fields for a steady force and to base
flow modifications. We hereby extend the methodology of [69, 70] by using a first order
2
Source code for computing the Jacobian.
9
complex-step approximation for the Jacobian and first order for the computation of the
sensitivity matrix. It will be shown that the method of the complex-step approximation
is advantageous in that it will obtain a higher degree of accuracy (near analytical) with a
lower cost of computational time.
• Chapter 2: The mathematical formulation of the discrete approach for linear sta-
bility and sensitivity analysis is presented. The derivation of the equations for
computing the sensitivity to base flow modifications and the sensitivity to a steady
force are also defined. Also detailed is the way in which the discrete adjoint matrix
is computed and the method of Lagrangian multipliers employed for the sensitivity
analysis.
method and Newton iteration are shown for the temporal discretisation. Also pre-
sented is the shift and invert Arnoldi method for computing the eigenvectors and
eigenvalues.
10
• Chapter 5: The methodology of previous chapters is validated with two cases: 1)
flow past a circular cylinder at Re = 45 and 2) flow past an open cavity at Re = 1400.
The results are compared with other results in the linear stability and sensitivity
analysis literature.
• Chapter 6: We apply the methodology to the case of an actuator, with this being
used to model a wind turbine. Regions in the flow field are identified where per-
turbations can be applied to stabilise the flow. This is shown by recomputing the
eigenvalues.
• Chapter 7: The conclusions of the thesis and avenues for future work are presented.
11
1.6 Publications and Conferences
1.6.2 Conferences
12
1.7 ANADE: Advances in Numerical and Analytical
The research leading to these results has received funding from the European Union
Seventh Framework Programme: [FP7/2007-2013] under grant agreement number PITN-
GA-2011-289428. The work was conducted within the project ANADE. ANADE is an
Initial Training Network (ITN) project funded under the European Commission’ Seventh
Framework Programme (FP7) within People work programme (Marie Curie actions).
13
14
Chapter 2
Mathematical Formulation
2.1 Introduction
This chapter will lay out the mathematical theory and framework by which the linear
stability and sensitivity analysis will be conducted in this thesis. The formulation will
can also be considered as part of the mathematical problem. The method is independent
of the particular numerical scheme used to discretise the spatial and temporal derivatives
of the equations. The governing equations are posed as a time varying system
15
dq
M = F̃(q), (2.1)
dt
where q is the state vector (of size n) holding the conservative variables and F̃ (q) is
a spatial operator which defines the numerical fluxes obtained by the discretisation of
the continuous PDE on the computational mesh, and M is the mass matrix associated
to a spatial discretisation selected for the discrete approach.3 The size of F̃(q) will be
dependent on the number of equations and the number of computational mesh points.
dq̄ dq′
+ = F (q̄ + q′ ). (2.3)
dt dt
The base state is steady so the first time derivative can be dropped. In general, the
spatial operator F will be non-linear and to linearise it, F is expanded with a Taylor
3
Mass matrix computation is considered in Chapter 4.
16
∂F (q) ′
F (q̄ + q′ ) = F (q̄) + q + O(q′2 ). (2.4)
∂q q̄
Many branches of science and mathematics require the steady solution to a time varying
F (q̄) = 0. (2.5)
By again considering Equation (2.4), neglecting the higher order terms, writing J (q̄) =
∂F (q)
∂q
and combining this expansion with Equation (2.3), we obtain
q̄
dq′
= J (q̄)q′ , (2.6)
dt
where J (q̄) in the Jacobian matrix whose spectrum contains the complex eigenvalues of
the system σ = σr + iσi . Equation (2.6) may be advanced in time to simulate the growth
or decay of perturbation upon q̄ [11, 34]. The perturbations are solved in the frequency
domain by characterising them as normal modes, q′ = q̂eσt , where q̂ is an eigenmode of
the system. This results in a standard eigenvalue problem
dq′
J (q̄)q̂ = σq̂ ; where = σq̂eσt (2.7)
dt
The real part of the eigenvalue σr gives the growth rate of the system while the imaginary
part σi gives the frequency. For the convention defined here, if one such eigenvalue
has a real part with a positive value (σr > 0) then the system is said to be absolutely
unstable. Numerical strategies for obtaining the Jacobian matrix and extracting the
17
eigenvalues/eigenmodes are given in Chapter 4.
In the previous subsection the direct eigenvalue problem was formed. From this we obtain
information about how the system behaves subject to infinitesimal perturbations applied
to the steady-state. Adjoint analysis allows one to also obtain information about the
receptive and sensitive regions (or degrees of freedom) of the system.
We proceed by choosing an L2 volume inner product4 that is defined for a pair of contin-
Z
hc̃, d̃iΩ = c̃∗ d̃ dΩ = c∗ Md, (2.8)
Ω
where •∗ denotes the conjugate transpose, c and d are the discretised version of c̃ and
d̃, in the computational domain, Ω, and as stated at the beginning of this chapter, M is
the mass matrix.
By definition, matrix, A, and its discrete adjoint, A+ , can be related in the following
expression
Considering the definition of the inner product defined in Eq. (2.8), we obtain
4
historically L2 has been used but other norms have also been studied (Schmid [1])
18
(Ac)∗ Md = c∗ MA+ d,
c∗ A∗ Md = c∗ MA+ d,
A∗ M = MA+ ,
M−1 A∗ M = A+ , (2.10)
an expression which relates the conjugate transpose of the Jacobian to its adjoint.
Where according to the definition of the adjoint Eq. (2.10), J + (q̄) is the adjoint of the
Jacobian and q̂+ is the adjoint eigenmode.
The interest for sensitivity analysis, is how an eigenvalue will change, if at all, with some
arbitrary modification to the system. Rather than an arbitrary modification, a framework
is presented whereby sensitivity fields are retrieved that indicate the degrees of freedom
of the system that should be modified in order to shift the eigenvalue in a particular way.
This could be to stabilise or conversely destabilise the system by shifting σr or to change
the frequency of the eigenvalue by modifying σi . For the application of this framework in
later chapters of this thesis, we will focus on stabilising the system by analysing the most
unstable eigenvalue of the system. The aim will be to defer the transition to instability
of the system, with Figure 2.1 illustrating an example of this aim. As the system passes
the critical value of a parameter (Ma, Re, angle of attack etc.) the eigenvalues cross
19
the imaginary axis. As seen in Figure 2.1, by introducing a new critical point for the
parameter, by way of some modification to the system, the range of obtaining a stable
system increases.
Figure 2.1: Figure showing an example eigenvalue spectrum: a) with a pair of complex
unstable eigenvalues, b) one example of the desired effect that the sensitivity analysis will
have on the unstable eigenvalues. (unstable •, stable •)
In this work, we consider the sensitivity of the eigenvalue subject to a modification of the
base state, δq̄, or steady forcing, δqf . If ∆σ is defined as the variation of the eigenvalue
subjected to external perturbations. The following relation holds
The resulting sensitivity fields ∇q̄ σ, ∇qf σ, can be obtained following the method of La-
grangian multipliers, [87], which is aimed at maximising the change in the variable, σ,
subject to some constraints. This approach is described by Marquet et al. [64] to derive
the equations for the sensitivity fields in a continuous approach. Mettot et al. [69, 70]
present a discrete method similar to the one presented here, developed independently of
this work Browne et al. [22, 21]. Mettot et al. derive the same equations as this work but
20
with an alternate approach; namely, they apply perturbations to their governing equations
as opposed the Lagrangian approach used herein.
such that γ + is a Lagrangian multiplier. Differentiating with respect to the control variable
x we obtain
∂L ∂β
δx = hγ + , δxi (2.15)
∂x ∂x
Using the definition of the inner product in Equation (2.8) and (2.9), and given that the
equation must hold for an variation δx we arrive at
+
∂β
∇x L = γ+ (2.16)
∂x
At stationary points ∇x L reduces to zero [1]. This equation now gives a relation of how
to maximise α by modifying the control variable x.
21
2.4.2 Sensitivity to a Steady Force
From the steady solution of Eq. (2.1), we consider a forcing term qf inserted to RHS
F (q̄) = qf , (2.17)
but one which still yields a steady solution. One would like to obtain information about
the flow field, where a perturbation would give the greatest shift in the eigenvalues (see
Figure 2.1). Thus, it makes sense to use the method of Lagrangian multipliers, where
we maximise the change in the cost function (eigenvalue ∆σ) subject to some physical
constrains. The Lagrangian functional reads
L(q̄, σ, q̂, qf , q̄+ , q̂+ ) = σ + hq̂+ , J (q̄)q̂ − σq̂i − hq̄+ , F (q̄) − qf i, (2.18)
where the complex Lagrangian multipliers, q̂+ and q̄+ , are the adjoint eigenmodes and
adjoint base flow, respectively. The constraints are the direct eigenvalue problem, Eq.
(2.7), and the steady state equations with a forcing term Equation (2.17), Eq. (2.17). The
state variable is now (q̄, σ, q̂) while qf is the control variable. The derivative of Equation
(2.18) with respect to the adjoint variables, provides the direct eigenvalue problem and
the steady state equations are recovered. Considering the definition of an inner product
given by Equation (2.8) and the adjoint given by Equation (2.9), differentiation with
respect to state variable gives
22
∂L
δq̂ = hq̂+ , (J (q̄) − σI)δq̂i = 0, (2.19)
∂q̂
= h(J (q̄) − σI)+ q̂+ , δq̂i = 0, (2.20)
∂L
δσ = δσ + hq̂+ , −δσIq̂i = 0, (2.22)
∂σ
= δσ − δσhq̂+ , Iq̂i = 0, (2.23)
∂L ∂(J (q̄)q̂)
δq̄ = hq̂+ , δq̄i − hq̄+ , J (q̄)δq̄i = 0, (2.25)
∂q̄ ∂q̄
hB+ (q̄, q̂)q̂+ , δq̄i − hJ + (q̄)q̄+ , δq̄i = 0, (2.26)
where I is the identity matrix and B is named the sensitivity matrix. Three equations are
recovered from this method: the adjoint eigenvalue problem, Eq. (2.21), a normalisation
condition, Eq. (2.24), and an equation relating the adjoint eigenmode with the adjoint
base flow, Eq. (2.27). The normalisation condition is applied as follows
q̂+ q̂+
q̂+
normalised = = . (2.28)
hq̂+ , q̂i q̂+∗ Mq̂
23
q̂+ q̂+ q̂+
, q̂ = Mq̂ = Mq̂ = 1 + ı0, (2.29)
hq̂+ , q̂i∗ (q̂+ Mq̂)∗
∗
q̂∗ M∗ q̂+
∂L
δqf = hq̄+ , δqf i. (2.30)
∂qf
It was shown by [1] that the gradient of the objective functional ∇σ and the gradient of
∂σ ∂L
δqf = δqf . (2.31)
∂qf ∂qf
The same analysis is now applied to obtain the sensitivity to base flow modifications ∇q̄ σ.
Lagrangian functional for sensitivity of an eigenvalue σ subject to base flow modifications
reads
24
L(q̄, σ, q̂, q̂+ ) = σ − hq̂+ , J (q̄)q̂ − σq̂i. (2.33)
∂L
δq̄ = −hq̂+ , B(q̄, q̂)δq̄i, (2.34)
∂q̄
= −hB+ (q̄, q̂)q̂+ , δq̄i. (2.35)
∂σ ∂L
δq̄ = δq̄. (2.36)
∂q̄ ∂q̄
25
2.4.4 Sensitivity to Geometric Modifications
A framework for computing the sensitivity to base flow modifications ∇q̄ σ and to a
steady force ∇qf σ was presented in previous subsections. This subsection will extend
this framework and proceed in a similar manner to derive the sensitivity to geometry
modifications ∇w σ. w is a formal parameter of our surface geometry, for example: the
coordinates or splines defining the surface geometry. The effect of perturbing the surface
geometry by an infinitesimally small amount will be studied. This can be viewed as
describing surface roughness or the junction where two separate components meet (e.g.
different components on the nacelle of an engine or where the wing and the flaps/aileron
meet). As for ∇q̄ σ and to a steady force ∇qf σ, the cost function will be the eigenvalue.
This section just addresses the methodology without presenting results.
dq(w)
= F (q(w), w), (2.38)
dt
where w is a formal parameter of our surface geometry. q̄ and w have dimensions n and
m respectively (n >> m). Again we want to find a solution of q and w which satisfies
F (q̄(w), w) = 0, (2.39)
Firstly, inner products for the volume, Ω, and the surface, S, for a pair of continuous
vectors, c̃ and d̃, is defined as
26
Z
hc̃, d̃iΩ = c̃∗Ω d̃Ω dΩ = c∗Ω MΩ dΩ , (2.40)
ZΩ
{c̃, d̃}S = c̃∗S d̃S dS = c∗S MS dS . (2.41)
S
where M is the mass matrix associated to a spatial discretisation selected for the discrete
approach.
A square matrix, A, and its discrete adjoint, A+ , can be related by the identity defined
in Section 2.3, to give
+
M−1 ∗
Ω A MΩ = A , (2.42)
A rectangular matrix, A, and its discrete adjoint, A+ , can be related in the following
expression [41]
Considering the definition of the inner products defined in Eq. (2.40) and (2.41), we
obtain
(AcS )∗ MΩ dΩ = c∗S MS A+ dΩ ,
c∗S A∗ MΩ dΩ = c∗S MS A+ dΩ ,
A∗ MΩ = MS A+ ,
+
M−1 ∗
S A MΩ = A , (2.44)
27
an expression which relates the conjugate transpose of the Jacobian to its adjoint. Eq.
(2.40) and (2.41) applied to the LHS and RHS respectively in Eq. (2.43).
L(q̄, σ, q̂, w, q̄+ , q̂+ ) = σ + hq̂+ , J (q̄, w)q̂ − σq̂iΩ − hq̄+ , F (q̄, w)iΩ . (2.45)
The base flow q̄ and w can be considered independent variables for this analysis [1].
∂L
δq̂ = hq̂+ , (J (q̄, w) − σI)δq̂iΩ = 0, (2.46)
∂q̂
= h(J (q̄, w) − σI)+ q̂+ , δq̂iΩ = 0, (2.47)
∂L
δσ = δσ + hq̂+ , −δσIq̂iΩ = 0, (2.49)
∂σ
= δσ − δσhq̂+ , Iq̂iΩ = 0, (2.50)
28
∂L ∂(J (q̄, w)q̂)
δq̄ = hq̂+ , δq̄iΩ − hq̄+ , J (q̄, w)δq̄iΩ = 0, (2.52)
∂q̄ ∂q̄
hB+ (q̄, q̂, w)q̂+ , δq̄iΩ − hJ + (q̄, w)q̄+ , δq̄iΩ = 0, (2.53)
An alternative method that does not require the adjoint information is also presented. As
with the Lagrangian approach (Equation (2.45)), we consider the effect of the governing
equations F (q̄, w) and the eigenvalue problem J (q̄, w)q̂ − σq̂. Using chain rule and
implicit differentiation, differentiating with respect to w we get
Both left hand side of Equation (2.58) and (2.59) are zero because of the constraints of
the analysis. By rearranging
29
∂q̄
Jq̄ (q̄, w) = −Jw (q̄, w), (2.60)
∂w
∂q̄
Bq̄ (q̄, w) = −Bw (q̄, w), (2.61)
∂w
where the second term in both equations on the RHS is the sensitivity of the flow to
modifications to the surface geometry. The systems are
∂q̄
= − (Jq̄ (q̄, w))−1 Jw (q̄, w), (2.62)
∂w J
∂q̄
= − (Bq̄ (q̄, w))−1 Bw (q̄, w). (2.63)
∂w B
Due to the sizes of the arrays in the equations above more than one linear solve of the
∂q̄
∂w J
(Jq̄ (q̄, w))−1 Jw (q̄, w)
• · · · •1,m • · · · · · · •1,m • · · · •1,m
1,1 1,1 1,1
. . . . . . . . .
.. .. .. .. .. · · · .. .. .. ..
=− ,
•n−1,1 · · · •n−1,m •n−1,1 · · · · · · •n−1,m •n−1,1 · · · •n−1,m
•n,1 · · · •n,n •n,1 · · · · · · •n,n •n,1 · · · •n,n
n×m n×n n×m
(2.64)
∂q̄
which will therefore require m linear solves of the system to obtain ∂w
in each case.
By summing the individual components of the sensitivity of the base flow to geometry
∂q̄
modifications ∂w
and with information we already have we can employ the chain rule
derive the following equation
30
T T
∂σ ∂q̄ ∂σ
= , (2.65)
∂w ∂w ∂q̄
T T
∂σ ∂σ ∂q̄ ∂q̄
= + , (2.66)
∂w ∂q̄ ∂w J ∂w B
which gives the sensitivity of the eigenvalue to the changes of the surface geometry. For
simplicity and clarity, the parentheses defining the dependent variables is dropped for
the rest of the section. We now have two equations for computing the sensitivity of the
eigenvalue to modifications of the surface geometry: one which uses information from the
adjoint problem and one which uses only information from the direct problem:
+ +
∇w σ = Bw q̂ − Jw+ q̄+ , (2.67)
T T
∂σ ∂σ ∂q̄
= . (2.68)
∂w ∂q̄ ∂w
The Lagrangian method exploits the use of the adjoint which in terms of computational
cost is the optimal of the two methods - the alternative approach requires 2m linear
solves (Equation (2.64) for both Jacobian and sensitivity matrix systems). However, the
Lagrangian approach requires the definition of a mass matrix (rectangular) for the surface
geometry to define the adjoint matrix (Equation (2.44)). This definition will dependent
on the spatial discretisation method applied and may not always be immediately obvi-
ous/simple to define. This problem is negated by the alternative approach which does
not require this definition.
Following alternative method we can also find the sensitivities to other input parameters,
such as
31
T T
∂σ ∂σ ∂q̄
= , (2.69)
∂Re ∂q̄ ∂Re
T T
∂σ ∂σ ∂q̄
= , (2.70)
∂α ∂q̄ ∂α
T T
∂σ ∂σ ∂q̄
= . (2.71)
∂Ma ∂q̄ ∂Ma
32
2.5 Summary
The procedure for performing sensitivity analysis (sensitivity to base flow modifications
and to a steady force), when using a discrete approach, is summarised here and Figure
2.2:
1. Calculate the base flow by solving a steady solution of system of partial differential
equations, Eq. (2.1).
4. Solve the direct and adjoint eigenvalue problems, Eq. (2.7) and (2.11).
6. Compute the sensitivity matrix, multiply with leading adjoint mode to get sensitiv-
ity to base flow modifications, Eq. (2.37).
33
F (q̄) = 0
Compute adjoint
of sensitivity
matrix B+ (q̄, q̂)
Compute sensitivity
to base flow modifi-
cations −B+ (q̄, q̂)q̂+
Compute sensitivity
to a steady force
(J + (q̄))−1 B+ (q̄, q̂)q̂+
Figure 2.2: General outline for the discrete sensitivity analysis methodology presented
34
Chapter 3
Matrix Computation
3.1 Introduction
The core of this chapter will lay out the numerical way in which the matrices, namely the
Jacobian and sensitivity matrix, are evaluated. The current conventional standard forward
finite difference approximation for computing the numerical Jacobian is compared with
In mathematics the Jacobian is, by considering all partial variables, the first order deriva-
tive of a function. The Jacobian will be one of the cornerstones of this work both for
stability/sensitivity analysis and the numerics (Newton iteration). Alternatives for com-
puting the Jacobian are provided in Chapter 1 but we proceed here by considering the
numerical evaluation of the Jacobian. The numerical evaluation of the Jacobian is well
established and is commonly used within the linear stability computational fluid dynamics
35
community [38, 48, 69] to name a few. Firstly, a function F (q̄) is expanded with a Taylor
series around the base state q̄ and a small increment ε
∂F (q̄)
F (q̄ + εk) = F (q̄) + ε k + O(ε2 ), (3.1)
∂q̄
Where k is a vector which is iterated on to loop through each degree on freedom. Rear-
ranging gives
As ε ≪ 1, we can neglect the higher order ε terms. This gives the standard first order
forward finite difference approximation to evaluate the Jacobian matrix. To increase the
level of accuracy a 1st order centred difference approximation can be employed. We
expand the function F (q̄) again but with a negative increment ε to give
∂F (q̄)
F (q̄ − εk) = F (q̄) − ε k + O(ε2 ). (3.3)
∂q̄
The centred approximation (Eq. (3.4)) reduces the truncation error O(ε) −→ O(ε2 ) but
requires that the F operator to evaluated twice, F (q̄+ε) and F (q̄−ε), therefore doubling
the computational cost of evaluating the Jacobian matrix. In addition, higher order
36
difference schemes for computing the Jacobian can improve the accuracy of the numerical
Jacobian: these schemes have small numerical errors, can be easily implemented but at
when subtracting numbers which are almost equal. This is illustrated in Figure 3.1.
to
ta
or Ro
rr un
o ne d -o
c ati ff e
rro
n
tru r
log(step size)
An alternative to improve the accuracy of the Jacobian without sacrificing the compu-
The advantages of the complex-step derivative approach over a standard finite difference
include: 1) the Jacobian approximation is not subject to subtractive cancellations inherent
37
to round-off errors, 2) it can be used on discontinuous functions, and 3) it is easy to
implement in a black-box manner, thereby making it applicable to general non-linear
functions.
Additional information can be found in [55, 54], which shows that not only a wider range
of step sizes can be selected for the complex approach, but a higher level of precision can
be achieved (near to machine precision). On the downside, the use of this approach means
that it is necessary to implement a complex version of the NS fluxes. However, modern
computer languages (e.g. Fortran, C++, etc) enable the ease of implementation of these
changes through function overloading or template techniques.
∂F (q̄) ∂ 2 F (q̄) ε2
F (q̄ + iεk) = F (q̄) + iεk − k − O(iε3 + ε4 ). (3.5)
∂q̄ ∂q̄2 2
From a practical implementation point of view, to calculate the j th column of the Jacobian,
the j th row of the k vector is set to one while the other rows are set to zero. This process
is successively repeated for as many number of degrees of freedom of the matrix. The
first order formula, Eq. (3.6), requires n computations of numerical fluxes, with n being
the dimension of q̄.
38
q̄1 k1
q̄2 k2
ℑ F .. + iε .
.
J11 J12 ··· J1N k1 . .
J21 J2,2 · · · J2N k2 q̄N kN
. . . .. = (3.7)
. . .. .
. . . . . ε
JN 1 JN 2 · · · JN N kN
q̄1 0
q̄2 1
ℑ F
.. + iε
..
J J12 · · · J1N 0 . .
11
J21 J2,2 · · · J2N 1 q̄N 0
. .. .. .. = (3.8)
. ..
. . . . . ε
JN 1 JN 2 · · · JN N 0
J12
J22
= ..
.
JN 2
In compact schemes, the perturbation introduced in a element will only affect a limited
39
Figure 3.2: Figure showing an example of the compact stencil used in Jacobian computa-
tion. The green square indicates where the perturbation in applied, and the red squares
indicate the elements to that the information travels.
Later sections of this Chapter will look at the accuracy but here the computational cost of
the standard forward finite difference, centred finite difference and complex-step deriva-
tive approximation is considered. The validation test case of flow past circular cylinder
presented in Section 5.2 is used for comparing the methods. Table 3.1 presents the compu-
tational times tmethod for evaluating the Jacobian matrix, of the aforementioned methods,
normalised with the computational time of the forward finite difference tforwardR method.
It can be seen that while forwardC takes approximately double the amount of compu-
tational time of tforwardR , the centredR method takes 2.27 times the computational time.
As explained in the previous section, the increase in computational time for the centred
method is explained by the need to re-evaluate the fluxes twice. However, the forwardC
method, although needing the fluxes to be evaluated once, has double the computational
time of forwardR due to the complex arithmetic operations (a + ib) needed for evaluat-
ing the Jacobian. The point to highlight is that complex-step derivative offers reduced
computational cost over the centred while also not having any round-off errors associated
40
with subtraction.
tmethod
Method tforward R
F (q̄+εk)−F (q̄)
forwardR : J (q̄)k = ε
1
F (q̄+εk)−F (q̄−εk))
centredR : J (q̄)k = 2ε
∼ 2.27
ℑ[F (q̄+iεk)]
forwardC : J (q̄)k = ε
∼ 2.01
Table 3.1: The computational cost for evaluating the Jacobian matrix of the standard for-
ward finite difference, centred finite difference and complex-step derivative approximation.
The computational time of the forward finite difference t1stR is taken as the datum.
Calculating the Jacobian, Jw (q̄, w), can be done is a similar way as before
We perturb the old grid nodes by a small amount, δ(x, y), and then recompute the fluxes.
The computation of the sensitivity matrix, B(q̄, q̂), is performed in the following way,
since, the only resource available is the NS fluxes F . Moreover, we have to keep in mind
that an explicit version of the Jacobian is not known, only its numerical values. From its
definition, it follows that B(q̄, q̂) is a linear function of q̂ = q̂R + iq̂I and a non-linear
function of q̄ through the Jacobian of F . Thus
41
∂(J (q̄)q̂)
B(q̄, q̂) = , (3.10)
∂q̄
Additionally
∂F (q̄)
J (q̄)q̂ = q̂, (3.12)
∂q q̄
As the eigenmode q̂ is assumed independent of the base state q̄, Equation (3.10) can be
written as
∂ 2 F (q̄)
B(q̄, q̂) = q̂, (3.13)
∂q̄2
where the first term on the left hand side is the Hessian of the vector operator F (q̄). If
the real terms of the complex variable Taylor series expansion in Equation (3.5) are taken
∂ 2 F (q̄) ε2
ℜ [F (q̄ + iεk)] = F (q̄) − ℜ k − O(ε4 ). (3.14)
∂q̄2 2
42
∂ 2 F (q̄) 2
2
k = 2 (F (q̄) − ℜ [F (q̄ + iεk)]) − O(ε2 ) (3.15)
∂q̄ ε
The corresponding standard 2nd order forward derivative finite difference approximation
is
It can be seen that the standard 2nd order forward derivative finite difference approxima-
tion (Eq. 3.16) requires an extra evaluation of the fluxes when compared to the complex
form (Eq. 3.15). However, the complex form now introduces a subtraction which means
that it is no longer round-off error free as opposed to the first order evaluation (Eq. 3.6).
From a practical implementation, let us say that our function F (q̄) has a size of n by 1.
As an example, to evaluate the Jacobian with the real first order finite difference method,
n evaluations are needed to compute the Jacobian matrix which has a size of n by n.
Subsequently to compute the Hessian matrix, n2 evaluations are needed and the size of
the Hessian will be n2 by n (a 3rd order tensor). For systems where n is small there will
be no issue but for larger and larger systems there will be two issues which will become
problematic very quickly: firstly, the memory needed to store the Hessian matrix and
secondly, the number of evaluations needed to compute the Hessian i.e. the amount of
computational time. By again writing the definition as it was originally posed
∂(J (q̄)q̂)
B(q̄, q̂) = , (3.17)
∂q̄
and by first multiplying the Jacobian J (q̄) and eigenmode q̂ then differentiating we have
43
reduced term to be differentiated from an n by n to an n by 1. By taking advantage of this
the sensitivity matrix is the same size as the Jacobian and there is no problem as we do
not have to compute the Hessian directly. Given that the Jacobian and sensitivity matrix
are computed by perturbing the fluxes F (q̄) it is convenient to write the Jacobian J (q̄)q̂)
and eigenmode q̂ (for either the real or imaginary part of q̂) as simply the directional
derivative of F (q̄) along q̂, thus
! !
∂(J (q̄)q̂) 1 ∂F (q̄) ∂F (q̄) 1 ∂F (q̄)
= − = − J (q̄) , (3.19)
∂q̄ ε1 ∂q q̄+ε1 q̂ ∂q q̄ ε1 ∂q q̄+ε1 q̂
where the definition of the Jacobian, Eq. (2.7), has been used. The right hand side
expression can be evaluated using complex variables, thus giving the following expression
for the sensitivity matrix
1 ℑ(F (q̄ + ε1 q̂R + iεk)) ℑ(F (q̄ + ε1 q̂I + iεk))
B(q̄, q̂) = − J (q̄) + i − J (q̄) ,
ε1 ε ε
(3.20)
In a similar fashion to the computation of the Jacobian in Eq. (3.8), Eq. (3.20) is
evaluated by successively computing columns of B(q̄, q̂) by setting one row of vector k to
one and the rest to zero. In the previous expression only one column of the Jacobian J (q̄)
is considered at each time although one can consider computing, in one iteration, all the
non-interacting columns. Additionally, the sensitivity matrix, B(q̄, q̂), or its conjugate
44
transpose, need never be formed explicitly for the calculation of Eq. (2.37) and Eq. (2.32).
From expression (2.10), it can be seen that Eq. (2.37) can be written explicitly as;
where B∗ (q̄, q̂) is the conjugate transpose of the sensitivity matrix. It is a trivial task to
multiply the mass matrix, M, with the adjoint mode q̂+ to give a new vector d;
Thus, by setting the first row of the k vector equal to one and the rest zero, we obtain the
first column of the sensitivity matrix, B(q̄, q̂). If we take the complex conjugate of this
vector we will get the first row of the transpose of the sensitivity matrix, B∗ (q̄, q̂). By
multiplying this row vector now with the vector d we obtain a scalar value. We proceed
to multiply this with the first row of the inverse of the mass matrix, M−1 , which returns
the first row of the sensitivity to base flow modifications vector, ∇q̄ σ.
The previous algorithm obtains first order accuracy in ε1 and second order in ε and
requires three computation of the fluxes per grid node. Second order precision in ε can be
easily obtained by using a central difference scheme in Eq. (3.18), but at the additional
cost of a new evaluation of the fluxes.
45
3.4 Analytical Test Case
ūv̄
F (q̄) =
ūw̄ 3 ,
(3.23)
v̄w̄
where
It may be easily checked that the analytical Jacobian and sensitivity matrices are given
by
v̄ ū 0 q̂2 q̂1 0
J (q̄) = w̄ 3 0 3 ūw̄ 2 , B(q̄, q̂) = 3 w̄ 2q̂3 0 3 w̄ 2q̂1 + 6 ūw̄q̂3 ,
0 w̄ v̄ 0 q̂3 q̂2
(3.25)
where
46
The Jacobian and sensitivity matrices are then calculated using the algorithms, detailed in
this Section, subject to epsilon, ε and ε1 , values ranging from 105 to 10−15 . Results using
real and complex variables are compared. The absolute maximum matrix component
value of the relative error between the numerical and analytical matrices is computed
Jnumerical − Janalytical Bnumerical − Banalytical
max ; max (3.27)
Janalytical Banalytical
a)
1010
forward
centred
0
10
relative error
-10
10
b) 10
10
complex
0
10
relative error
10-10
-20
10 -15 -10 -5 0 5
10 10 10 10 10
ε
Figure 3.3: Comparison of numerical and analytical Jacobian (relative error, Equation
(3.27)), a) and b), for test case Eq. (3.25) as a function of ε, Eq. (3.8)
47
a) 10
10
100
relative error
-10
10
forward
centred
-20
10
10-15 10-10 10-5 100 105
ε1
b)
1010
0
10
relative error
-10
10
complex
10-20 -15 -10 -5 0 5
10 10 10 10 10
ε1
Figure 3.4: Comparison of numerical and analytical sensitivity matrix (relative error,
Equation (3.27)), a) and b), for test case Eq. (3.25) as a function of ε1 , Eq. (3.20)
If we arbitrarily take 10−5 as the maximum allowable difference, which is acceptable and
examine Figure 3.3 and 3.4, the following observations conclusions can be drawn
1. Figure 3.3 a) Calculating the Jacobian with real variables using a first order ap-
proach restricts the choice of ε to a narrow range 10−5 to 10−11 . Using a 2nd order
central difference approach for the numerical evaluation of the Jacobian enables
more flexibility in the choice of epsilon, but a 2nd order approach is more compu-
tationally expensive because it requires the calculation the fluxes twice.
2. Figure 3.3 b) Calculating the Jacobian with the complex step approximation gives
48
an acceptable result for any value of epsilon smaller than 10−2.5 . Furthermore, the
error levels out at machine precision (∼ 10−15 ) can be obtained for ε = 10−7.
3. Figure 3.4 c) Using a first order method, with real variables and the epsilon value,
ε, held at its optimal value from Figure 3.3a) (10−8 ), for the calculation of the
sensitivity matrix B(q̄, q̂) gives acceptable result only when a value of epsilon, ε1 ,
equal to 10−2 is selected. In addition, it can be seen that little improvement on
relative error and the range of acceptable epsilon, ε1 , values is achieved by moving
to a second order method (ε = 10−8 ).
4. Figure 3.4 d) A first order method with the complex step approximation for the
sensitivity matrix enables a greater range of epsilon, ε1 , values (10−2 to 10−10 ) with
improved accuracy.
The effect of the choice of epsilon values for the high order compressible NS solver will now
be explored. It was shown in Section 3.4 and in [65] that for ε >≈ 10−7 the relative error
reduces to machine precision when using the complex-step derivative approximation. The
lid driven cavity is run with the following conditions: Re = 200, Ma = 0.2, 4 quadrilateral
elements each with P =8. A base flow is obtained and then the Jacobian is computed using
a first order, Eq. (3.2), a second order (see [69]), and a complex-step approximation, Eq.
(3.6). Figure 3.5 shows relative error of the two most unstable eigenvalues for the three
aforementioned methods with varying epsilon, ε. It is assumed that the true values for
the eigenvalues are calculated with Eq. (3.6) using ε = 10−15 and these are then used as
It can be from Figure 3.5 that the first order complex-step approximation method con-
49
1010
forward
centred
complex
100
relative error
10-10
10-20
-20 -15 -10 -5 0
10 10 10 10 10
ε
Figure 3.5: Comparison of forward, centred difference and the complex-step approxima-
tion methods for the numerical differentiation of the fluxes to calculate the Jacobian. The
relative error for the 2 most unstable eigenvalues are shown for the lid driven cavity case.
verges at ε = 10−6 for a relative error of 10−16 . Furthermore, both the first order and
second order methods initially decrease (truncation error is decreasing) to a relative error
of ∼ 10−8 for epsilon, ε, ranging from 10−4 to 10−7 . The relative error begins to increase
(round-off error becomes significant) for ε > 10−7 . Close inspection of ε values ranging
from 10−1 to 10−3 reveals that the first and second order methods converge with slopes
of one and two respectively. The complex-step approximation method converges with a
gradient of two and significantly, but unlike the second order method, it only requires one
evaluation of the fluxes. Furthermore, in our implementation the cost for one solve is com-
parable between the real and complex formulations. Indeed, the complex approximation
provides greater accuracy whilst having a lower computational cost.
value for ε1 given for the analytical case in Figure 3.4 d). There is only a necessity
to tune ε1 to reduce the error in Eq. (3.20) because the Jacobian, J (q̄), is computed
to near analytical accuracy. For the rest of this thesis we take ε = 10−10 and ε1 =
50
(1 × 10−8 )kq̄k/kq̂k.
3.5 Summary
This chapter has established the approach for numerically computing the Jacobian and
sensitivity matrix. It has been shown that the complex-step derivative approximation
is advantageous when resolving higher order derivatives in sensitivity analysis. Further-
more, down to machine precision accuracy can be achieved when evaluating the Jacobian
matrix. An analytical and a small fluid flow problem have shown the gains of the afore-
mentioned method. The relative size of the solver will have to be considered as to whether
transforming all the algorithms to accept complex numbers is feasible.
51
52
Chapter 4
Numerical Methods
4.1 Introduction
The formulation of the methodology in previous section has been kept general. We now
detail the governing equations which will be used to firstly validate the methodology and
its implementation within our code and secondly to then apply this to a more advanced
case. We also present the numerical methods that we employ to solve the governing
equations by integrating in time and in space.
Fluid flow is described by the Navier-Stokes equations. These equations are based on
three laws of conservation: the conservation of mass, the conservation of momentum, and
the conservation of mass. The 2-D compressible Navier-Stokes equations are written in
vector form
∂q ∂F a ∂F2a 1 ∂F1v ∂F2v
=− 1 − + + , (4.1)
∂t ∂x ∂y Re ∂x ∂y
53
where superscript a and v denote the advective and viscous fluxes respectively. The state
vector, q, and advective fluxes are given as
ρ ρu ρv
ρu p + ρu
2 ρuv
q = , F1a = , F2a = , (4.2)
ρv ρuv p + ρv 2
ρe u(ρe + p) v(ρe + p)
where ρ is the density of the fluid, u and v are the x and y components of the velocity,
p is the pressure and e is the internal energy. The pressure, p, is computed from state
variables using the ideal gas relation given as
ρ(u2 + v 2 )
p = (γ − 1) ρe − (4.3)
2
0 0
τxx τxy
v v
F1 = , F2 = , (4.4)
τyx τyy
γκ γκ
uτxx + vτyx + T
(γ−1)P r x
uτxy + vτyy + T
(γ−1)P r y
where
54
Equations (4.1)(4.5), have been scaled with respect to reference quantities in the same
way as [51].
Discontinuous Galerkin (DG) methods were developed by the pioneering work of Reed
and Hill [76] in 1973 in the framework of hyperbolic partial differential equations for
the neutron transport equation, and it was only in the late 1990’s that the method was
generalized to elliptic and convection-diffusion problems; e.g. Bassi and Rebay in 1997
[15], Baumann in 1997 [16] or Cockburn and Shu in 1998 [28]. Since, DG methods have
proven useful in solving the compressible, e.g. [15, 57, 72, 75, 22], and the incompressible
NS equations, e.g. [14, 79, 27, 88, 36, 37, 35].
High order methods (e.g. Spectral methods or discontinuous Galerkin) offer an alterna-
tive to low order methods and the classical h-refinement strategy. Such methods enable
the use of high degree polynomials inside each computational element to approximate
the numerical solution, which decreases the error exponentially when smooth flows are
considered [101, 46, 33].
To apply discontinuous Galerkin method, we first tessellate the physical domain to obtain
its discrete version. This variational technique requires multiplying the conservation law
at an elemental level by a test function (typically polynomials) and integrate. By doing so,
it is ensured that the residual of the equation is orthogonal (in the L2 norm) to the space
spanned by the test functions. Summing over all elemental contributions in the mesh do-
main and integrating by parts leads to the weak formulation of the problem and includes
55
solver is used (see Toro’s monograph [99] for details). In addition, discontinuities associ-
ated to the viscous terms are resolved using a Bassi-Rebay formulation [15, 6]. Finally,
boundary conditions are weakly imposed at domain boundaries. The resulting volume
and surface integrals are numerically approximated using Gauss quadrature rules and
lead to a discrete set of equations for each nodal point. A nodal variant of discontinuous
Galerkin technique that uses a quad/hexa mesh topology and tensor product expansions
for the polynomial spaces is known as Discontinuous Galerkin Spectral Element Method
falls below a tolerance not larger than 10−10 . In our simulations, the Mach number is
low (M=0.2) such that compressibility effects are negligible.
extensively used in computational fluid dynamics due to their accuracy and efficiency
in the simulation of fluid flows. In particular, these methods are suitable for problems
where high accuracy is required and, hence, are well suited to track the evolution of small
perturbations as in stability analysis.
The numerical scheme used in this work discretises the compressible NS equations fol-
lowing a Discontinuous Galerkin Spectral Element Method (DGSEM [52]) for the spatial
operators, coupled with a time integration scheme of order three. The DGSEM is a nodal
collocation form of the discontinuous Galerkin method where the solution is approximated
by a tensor product of Lagrange polynomials, and where inner products are evaluated us-
56
The NS equations constitute a system of partial differential equations which can be shortly
written in vector form as;
∂q
+ ∇ · F (q) = 0, (4.6)
∂t
where q represents the vector of conservative variables and F (q) represent the 3D fluxes;
To solve our set of equations in general two or three dimensional geometries, the original
P
X P
X
P P
q = qi,j,k Φi,j,k , F = F (qi,j,k )Φi,j,k , (4.7)
i,j,k=0 i,j,k=0
where
Φi,j,k = Li (x)Lj (y)Lk (z),
is the tensor product of the Lagrange interpolant in the nodes i, j, k and qi,j,k is the value
of the unknown in each computational node. In this work, the nodes in each direction
follow a Gauss-Legendre distribution, and the basis functions L(i,j,k) are taken as the
Reconsidering Eq. (4.6), we obtain, at an element level, the following discretised equation;
∂qP
+ ∇ · F P = 0, (4.8)
∂t
DGSEM makes use of the Garlekin weak form of the equations and a discontinuous
treatment of the interfaces and boundaries. Thus, Eq. (4.8) is multiplied by a test
function (the same function as the basis for the Galerkin method) and integrated in the
computational space, then the error is forced to be orthogonal at each test function Φi,j,k
57
in a mesh element Esd , yielding;
∂qP
, Φi,j,k + (∇ · F P , Φi,j,k )Esd = 0, (i, j, k) = 0, ..., P.
∂t Esd
R
with (a, b)Esd = Esd ab dΩ, defining an inner product (typically the L2 inner product).
Z
∂qP P ~ = 0,
, Φi,j,k − (∇Φi,j,k , ·F )Ek + Φi,j,k F P · ndS (4.9)
∂t Esd ∂Esd
where the third term (the surface integral) extends over the boundary ∂Esd of the com-
putational element Esd , with external pointing normal n. This boundary may lie at the
interface between two elements or at a physical boundary conditions, and in both cases,
the treatment is similar. Note that all integrals in Eq. (4.9) can be numerically evaluated
using Gauss quadrature.
P
To obtain a solution over the complete discretised computational domain (Ω = sd Esd )
XZ
∂qP P ~ = 0,
, Φi,j,k − (∇Φi,j,k , ·F )Ω + Φi,j,k F ∗ (n, qL , qR )dS (4.10)
∂t Ω γ∈Γ γ
where Γ denotes the set of internal edges in the mesh Ω. In addition, note that we
have replaced F P by F ∗ (n, qL , qR ) in the surface integral. F ∗ (n, qL , qR ) represents the
numerical flux between two consecutive elements in the mesh (Left and Right). These
numerical fluxes arise from the discontinuous Galerkin setting where we consider that
each element is disconnected from the next and hence contains a complete set of degrees
of freedom to represent a polynomial of order P .
Taking into account the decomposition of the unknown in Eq. (4.7) and the orthogonality
of the Lagrange basis in the Gauss nodes, the following expression is finally obtained for
the integrals of Eq. (4.10);
58
∂qi,j,k 1 2 3
+ Dx Fi,j,k + Dy Fi,j,k + Dz Fi,j,k = 0, (i, j, k) = 0, ..., P. (4.11)
∂t
The discrete divergence (second term of the previous equation) is obtained after the
numerical integration of the second and third terms of Eq. (4.10). Gauss quadrature is
used to evaluate these integrals, giving;
1 Li (x)
x=1 P
P
Dx Fi,j,k = F 1∗ (x, yj , zk ) wi
− 1
Fm,j,k di,m
x=0 m=0
2 2∗ Lj (y)
y=1 PP
2
Dy Fi,j,k = F (xi , y, zk ) wj
− Fi,m,k dj,m (4.12)
y=0 m=0
3 Lk (z)
z=1 PP
L′m (sn )wn
Dz Fi,j,k = F 3∗ (xi , yj , z) wk
− 3
Fi,j,m dk,m , with dm,n = wm
,
z=0 m=0
interface fluxes. These fluxes can be differentiated into viscous or inviscid. Computation
of inviscid fluxes requires taking into account the left and right values of the unknowns
at each interface. Let us note that by taking the average value of the unknowns q at the
interface (equivalent to a central scheme) provides a numerically unstable scheme when
the convective terms dominates and is only recommended at very low Reynolds numbers.
For larger Re, an up-winding scheme should be used instead. The most common way
to introduce up-winding in the scheme is by solving the equivalent Riemann problem at
the interface. The particular case of Euler equations (or inviscid NS) different Riemann
solver has been already developed. In this work, a Roe Riemann solver has been used in
the computations [99].
The viscous fluxes require discretisations for elliptic type equations. A simple approach
consists of averaging the right and left viscous fluxes at the interface, but this solution
has been proved numerically unstable for implicit schemes. A more general framework
for derivation and analysis of discontinuous Galerkin methods for elliptic equations (e.g.
Interior Penalty, Local Discontinuous Galerkin, Bassi-Rebay) was derived in [6]. Addi-
59
tional information of this methodology can be found in [52]. In our explicit time marching
method we use the BR1 (Bassi-Rebay) approach to calculate the diffusive fluxes.
As well as the DGSEM discretisation, a mass matrix which a defines the volume and
a mass matrix which defines the geometry surface are required to compute the adjoint
matrix (Equations (2.10) and (2.43)). In the context of the DGSEM framework, the
following relations for volume and surface integrals map a function from physical space,
(x, y) to the corresponding computational space, (ξ, η);
Z Z P olj
P oli X
X
f (x, y) dxdy = f (ξ, η) |Ψ | dξdη = f (ξi , ηj ) |Ψ | ωi ωj = f (ξ, η) Mel (4.13)
el Iel i=1 j=1
Z Z P oli
X
f (S) dS = f (ξ) |S | dξ = f (ξi ) |S | ωi = f (ξ) MΓ (4.14)
Γ IΓ i=1
where ωi , ωj are the Guass Legendre weights and |Ψ |, |S | are the volume and surface
(this example is the upper surface of the element) Jacobian’s given as
∂x ∂y ∂x ∂y
|Ψ | = − (4.15)
∂ξ ∂η ∂η ∂ξ
s 2
2
|Ψ | ∂x ∂y
|S | = + (4.16)
Ψ ∂ξ ∂ξ
where
60
Nel
X
MΩ = Meln (4.17)
n=1
XNΓ
MS = MΓn (4.18)
n=1
There are two temporal integration methods implemented within the code: 1) an explicit
3rd order Runge-Kutta method and 2) an implicit Newton iteration. The explicit method
is perhaps the simpler of the two methods as it does not require to formation of the Jaco-
bian matrix, does not require any external linear algebra libraries and the only parameter
we need assign is the time step which is defined implicitly through the CFL number. How-
ever, the nature of the explicit solver requires a very small time step and many iterations
are needed to obtain a fully converged steady solution. The implicit Newton iteration
allows us to define greater time steps but the bottleneck is the formation of the Jacobian
and subsequent solve of a linear system.
For explicit time integration we employ the 3rd Order Runge-Kutta method to solve the
dq
= F (t, q(t)), q(t = t0 ) = q0 (4.19)
dt
61
3
X
qn+1 = qn + h bi ki ,
i=1
s
!
X
ki = F tn + ci h, qn + aij kj . (4.20)
j=1
qn+1 − qn
= F (qn+1), (4.21)
∆t
where ∆t is the time step. A new operator G and variable q̌ are defined
q̌ − qn
G(q̌) = − F (q̌), (4.22)
∆t
for solving the Newtown iteration at each step. When the RHS converges to zero (i.e.
G(q̌) = 0) then q̌ = qn+1 which indicates the Newton iteration has converged at that
step. Next we take a Taylor expansion of G
62
G(q̌k+1 ) = G(q̌) + G ′ (q̌k )∆q̌, (4.23)
where the higher order terms have been ignored. Setting the RHS equal to zero, subbing
in terms from Equation (4.22) and rearranging, we obtain an equation for the classical
Newton iteration
I n q̌ − qn
− J (q ) ∆q̌ = − − F (q̌) (4.24)
∆t ∆t
| {z } | {z }
Jˇ F̌
where the solution is updated after each iteration with q̌k+1 = q̌k+1 + ∆q̌. The linear
system solved is Jˇ∆q̌ = −F̌ .
The numerical method for computing the eigenvectors and associated eigenvalues of the
given matrices (J , J + ) is described here. Firstly, the computational size in terms of
memory must be considered. Based on the number of degrees of freedom and the spatial
discretisation (stencil size) the number of non-zeroes in the matrix can be estimated.
We use the example of the clow past a circular cylinder case presented in Chapter 5.
The of degrees of freedom equal n = 64000 and to form the matrix explicitly in double
precision would require 31GB of memory. However, it was shown in Figure 3.2 that
when to perturbation is applied, to compute the Jacobian, the information only travels
to neighbouring cells. Therefore when computing a column of the Jacobian matrix (
Equation 3.2 or 3.6) the non-zeroes will only exist for DoF within the elements shown
in Figure 3.2 and zero everywhere else. Again using the flow past a circular cylinder
example, based on: 640 elements, global polynomial order of 4, stencil size of 13, there
63
will be no more than (13 ∗ (4 + 1)2) ∗ 64000 = 83.2 million non-zeros which, again in double
precision, equates to 0.66GB.
Following each computation of the j th column of the Jacobian matrix, only the non-zero
values which are part of the stencil are stored in the aptly named compressed sparse
column (CSC) format. With this format, the matrix is now comprised of 3 vectors; a
vector containing the cumulative number of non-zeros per column which has a dimension
equal to that of n + 1, a vector containing the row index for each of the non-zero values
which intuitively has a dimension equal to the number of non-zeros, a vector containing
the non-zero values of the Jacobian which again has the dimension equal to the number
of non-zeros of the problem.
It is evident that the number of non-zero’s per row (note: the above vector contains the
number of non-zero’s per column) for the Jacobian matrix is equal to the number of non-
zeros per column for the adjoint matrix. Thus, a simple algorithm is used to transpose
the Jacobian to form the adjoint matrix without explicitly forming the adjoint.
Given that our interest is in eigenvalues which are most unstable or close to becoming
1
(J − µI)−1 q̂ = q̂ (4.26)
σ−µ
The Arnoldi method iterates and builds an orthogonal basis of k-dimensional Krylov
subspace
64
2 k−1
K(J −1 ,q̊1 ) = span{q̊1 , J −1 q̊1 , J −1 q̊1 , . . . , J −1 q̊1 } (4.27)
where q̊1 is an initial guess or random vector and at each subsequent iteration we solve a
linear system
to obtain the Arnoldi vectorsq̊2 , . . . ,q̊k . The Arnoldi vectors are orthogonal and combined
together to form the matrix Q. The Arnoldi iteration (Saad [83, 84]) computes the entries
h̊i,j of the Hessenberg matrix H and we can write the following relations
QT Q = I, (4.31)
where q̊k+1 h̊k+1,k eTk is the last row of H̃. The eigenvalues and Ritz vectors of the Hessen-
berg matrix H, the ones close to the origin for this formulation, will be good approxima-
tions for the respective eigenvalue and eigenvectors of J −1 (Saad [83]).
4.5.1 Implementation
The Arnoldi iteration algorithm (Saad [83, 84]) is written in the Fortran programming
language. The matrices (J , J + ) are passed to the linear algebra solver MUMPS [4] in
65
CSC (Compressed Sparse Column) format to solve Equation 4.28. The library MUMPS
performs an LU factorisation instead of directly inverting the matrix. The computation of
the eigenvalues and Ritz vectors of the Hessenberg matrix H is handled by the subroutine
dgeev of LAPACK [43].
66
Chapter 5
Validation Cases
5.1 Introduction
This chapter will now present results for an application case using the methodology pre-
sented in Chapter 2 coupled with the numerical recipes described in Chapter 4. The
governing equations are the 2D compressible Navier-Stokes equations presented in Chap-
ter 4. The application case will be flow past a circular cylinder at Reynolds number = 45.
Flow past a circular is a classical fluid dynamics problem and there have been hundreds of
papers which have looked at different aspects of the flow (see Williamson 1996 [103] for a
comprehensive review). The evolution of the wake with increasing Reynolds number can
be seen in Figure 5.1. Re = 20 is depicted as being stable while at Re = 100 is unstable.
At the critical Reynolds number (Recrit ≈ 47), the flow transitions from a stable flow to
an unstable flow where a global instability (Kármán vortex street) develops. Efforts to
prevent the Kármán vortex street from developing is desirable because unwanted physical
phenomena can result: periodic and fluctuating forces can undermine the structural in-
tegrity of the body, acoustic noise can be generated due to periodic nature of the unsteady
flow, oscillation of the body which can lead to reduced operating life, aerodynamic effects
such as stall and flutter etc.
With linear stability analysis we will identify the most unstable eigenvalue i.e. the mode
67
Figure 5.1: Evolution of the flow past a circular cylinder with increasing Reynolds number.
responsible for the global instability. Then with sensitivity analysis we will identify the
regions of flow to perturb in order to defer the transition to instability to a higher Reynolds
number. To validate the method, the results will be compared with the experimental work
[93] and the computational work (continuous approach) of [64].
In an attempt to also show the robustness of the method we also present a convectively
unstable case where eigenspectrum presents pseudo-continuous branches. For a system to
be convectively unstable, the instabilities must grow in space but not in time. The open
cavity is chosen to demonstrate the methodology in the context of a convectively unstable
flow. The open cavity flow shows a global instability inside the cavity while a convectively
instability develops upstream of the cavity. Flow past an open cavity at Re = 1400 is
investigated.
68
5.2 Flow Around a Circular Cylinder at Re = 45
The flow aft a circular cylinder is studied for Re = 45 (below critical Reynolds number).
Contrary to other authors, [64, 40, 34], the compressible NS are used in this study, there-
fore, in order to reproduce previous results and for validation purposes, the Mach number
Ma is set to 0.2, being a compromise between numerical accuracy and compressible effects.
After a preliminary study for the convergence of the solution (not shown), the final mesh
is composed of 640 quadrilateral elements with a polynomials of order P = 4. With a
compressible Navier-Stokes equations state vector of q = (ρ, ρu, ρv, ρE)T , the number of
degrees of freedom (N) for the problem is 64, 000 (No of DoF = 640 × (P+1)2 × No of
Equations). The Reynolds number, Re = U∞ D/ν, is based on the uniform inflow velocity,
U∞ , the kinematic viscosity, ν, and the diameter of the cylinder D. The computational
domain and outline of the boundary conditions are given in Figure 5.2. The standard
inflow ∂in and outflow ∂out are employed while the no slip condition is enforced on the
cylinder wall ∂wall . An example of the polynomial order is also provided.
Figure 5.3 a) and b) show the steady fields for flow past a circular cylinder at Re = 45
with the former being the u and the latter the vorticity magnitude ω. The base flow is a
steady solution (F (q̄) = 0) and is computed by time marching the unsteady solver (third
order Runge-Kutta method) until convergence. A symmetric and stable recirculation
bubble can be seen aft of the cylinder (5.3a). As the Reynolds number is increased, the
recirculation bubble increases in size until the critical Reynolds number is reached at
which point instabilities develop. Unstable configurations, Re = 50 and 60, are shown
in Figure 5.3 c):f). In this unstable regime the wake will oscillate periodically with the
frequency of the oscillation being a function of the Reynolds number. These unsteady flow
fields show that there is no longer a stable recirculation bubble but an unstable Karmen
vortex wake. The efforts of later sections of this chapter will be to suppress, or more
69
Figure 5.2: Overview of the dimensions and boundary conditions for cylinder flow case
Figure 5.3: Cylinder flow fields: steady fields at Re = 45 a) u and b) ω, unsteady fields
at Re = 50 c) u and d) ω and 60 e) u and f) ω
70
5.2.2 Linear Stability Analysis
This problem, studied by several authors (see Table 5.1), shows a Hopf bifurcation at the
at Recrit ≈ 47. Above this, a global instability (Kármán vortex street) develops. We have
chosen Re = 45 to compare the accuracy of our methodology with other authors work in
the literature [64, 69].
σi
I/C σi frequency (fσ = 2π
)
Marquet et al. [64] Re = 46.8 I - ∼0.116
Giannetti and Luchini [40] Re = 45 I - ∼0.1177
Ferrer et al. [34] Re = 45 I - ∼0.118
Current Study Re = 45 C 0.742 ∼0.118
Table 5.1: Numerical comparison of the non-dimensional frequency of the least stable
eigenvalue for the circular test case (I - incompressible Navier-Stokes, C - compressible
Navier-Stokes).
0.1
0
σr
-0.1
-0.2
0 0.2 0.4 0.6 0.8
fσ
Figure 5.4: The eigenvalue spectrum for flow past a circular cylinder at Re = 45. The
circled eigenvalue corresponds global mode associated to the (Kármán vortex instability.
Once the steady base flow is obtained, the Jacobian and its eigenvalues are computed
following the procedures described in previous sections. For this configuration we are
only concerned with the least stable eigenmode (the one which defines the onset of un-
steadiness). Figure 5.4 partially shows the eigenspectrum with the red circle denoting the
71
eigenvalue (complex pair) which corresponds the least stable eigenmode and the mode
responsible for the onset of the (Kármán vortex instability. Finally, the frequency as-
sociated to this eigenvalue is compared in Table 5.1 against solutions provided by other
authors, validating our methodology and analysis.
Figure 5.5 shows the real part of the direct eigenmodes associated to the least stable
eigenvalue for the ρc
u (left) and c
ρv (right) components of velocity. The ρc
u eigenmode is
0.01
0
-0.01
4
0
y
-4
-4 0 4 8 x 12 16 20 24
0.012
0
-0.012
4
0
y
-4
-4 0 4 8 x 12 16 20 24
Figure 5.5: The real part of the cylinder direct eigenmode fields; a) ρc
u and b) ρc
v
u+ (left) and ρc
Similarly, Figure 5.6 shows the real part of the adjoint velocities, ρc v+
72
(right). As expected, but contrariwise to the direct eigenmode, the structures of interest
for the adjoint are located upstream of the cylinder [59]. Figure 5.5 and 5.6 both show
excellent agreement with other authors [64, 69, 34]. We can therefore be confident in the
complex variable implementation for the numerical computation of the Jacobian and the
formulation/implementation of the adjoint matrix with corresponding mass matrix.
0.3
0
-0.3
4
0
y
-4
-8 -4 0 4 x 8 12 16 20
0.4
0
-0.4
4
0
y
-4
-8 -4 0 4 x 8 12 16 20
u+ and b) ρ
Figure 5.6: The real part of the cylinder adjoint eigenmode fields; a) ρc cv +
73
5.2.3 Sensitivity Analysis
The structural sensitivity identifies the most sensitive regions to localised feedback and
origin of the instability. This was derived in [40] and the structural sensitivity of the flow
can be calculated using the dot product of the direct and adjoint eigenmodes kq̂k.kq̂+ k
and is shown in Figure 5.7. According to these results the maximum sensitivity region
(also called the wavemaker) occurs at the centre of the two distorted ovals at (x= 2.5
and y = ± 0.5), namely the region of flow where small modifications produce the larger
variations in the eigenvalues. Despite the use of the compressible NS equations, a quanti-
tative and qualitative agreement is obtained with the results of other authors [64, 40, 34].
The boundary conditions for the adjoint matrix are automatically applied in the discrete
framework, when solving the system, Eq. (2.11), as stated by [40]. Furthermore, it is
also clear from Figure 5.7 that the wavemaker is far enough from the inlet and farfield
boundaries and therefore the influence of boundary conditions is minimised for this case.
Figure 5.8 shows the real (5.8 a)) and imaginary (5.8 b)) part of the sensitivity to a steady
force, ∇q̄ σ, with Figure 5.9 showing ∇q̄ σr with streamlines representing the momentum
components of the sensitivity terms. It can be seen that the magnitude of the sensitivity
decays to zero far from the cylinder and approaching the boundaries of the domain as
the influence of the direct and adjoint modes is extremely small. The highest magnitude
74
regions for ∇q̄ σr are located downstream of the cylinder. By following the streamlines in
Figure 5.9, and applying a base flow modification in the direction of the streamlines, would
Finally, Figure 5.10 and 5.11 shows the real (5.10 a)) and imaginary (5.10 b)) part of
the sensitivity to a steady force, ∇qf σ. The results are in excellent agreement with the
sensitivity maps published by Marquet et al. [64]. Three main regions are identified where
the flow is most sensitive: 1) 1 diameter to 2 diameters downstream of the cylinder along
y = 0, 2) very close (downstream) the cylinder at plus 45 degrees from y = 0 and 3) very
close (downstream) the cylinder at minus 45 degrees from y = 0.
Moreover, Figure 5.10 gives us the regions of the flow where inputting a steady force
would have the greatest effect or to be more specific; the greatest shift in eigenvalue and
hence, stabilise or destabilise the flow. By examining Figure 5.11a), it can be delineated
that by inputting a steady force at (x=1, y=0) and orientated downstream would decrease
the growth rate, σr , and subsequently stabilise the flow. In Figure 5.10b) the same force
75
a) 2
0.5
1.5 0.2
0.0
1
0.5
0
y
-0.5
-1
-1.5
-2
0 4
x
b) 2
0.3
1.5 0.2
0.1
1
0.5
0
y
-0.5
-1
-1.5
-2
0 4
x
Figure 5.8: Sensitivity to base flow modifications; a) real part, ∇q̄ σr , and b) imaginary
part, ∇q̄ σi , for the circular cylinder.
2
0.5
1.5 0.2
0.0
1
0.5
0
y
-0.5
-1
-1.5
-2
0 4
x
Figure 5.9: Sensitivity to base flow modifications real part, ∇q̄ σr , for the circular cylinder.
76
a) 2
1.2
1.5 0.6
0.1
1
0.5
0
y
-0.5
-1
-1.5
-2
0 4
x
b) 2
0.9
1.5 0.6
0.3
1
0.5
0
y
-0.5
-1
-1.5
-2
0 4
x
Figure 5.10: Sensitivity to a steady force; a) real part, ∇qf σr , and b) imaginary part,
∇qf σi , for the circular cylinder.
2
1.2
1.5 0.6
0.1
1
0.5
0
y
-0.5
-1
-1.5
-2
0 4
x
Figure 5.11: Sensitivity to a steady force real part, ∇qf σr , for the circular cylinder.
77
5.3 Sensitivity Derivatives
It was seen in the previous section that the sensitivity to steady forcing, Figure 5.10,
agreed very well with the work of Marquet et al. [64] (continuous approach, incompressible
Navier-Stokes eqn’s) and the work of Mettot et al. [69] (discrete approach, compressible
Navier-Stokes eqn’s) whereas for the sensitivity to base flow modifications, Figure 5.8, the
same level of agreement to Marquet et al. was not achieved. However, good agreement
with Mettot et al. was found. Mettot et al. point out that there can be differences
when comparing the incompressible and compressible form of the equations and the fact
that there is some difference is not in itself surprising. Marquet et al. results are the
velocity components (u, v) while this work and Mettot et al. present the momentum
terms (ρu, ρv). Further analysis into derivation of the sensitivity equations alludes to
more reasons for the discrepancies.
In the continuous framework, for the incompressible Navier-Stokes eqn’s, the following is
H
where is the Hermitian transpose. It can be seen that the computation of ∇ū σ is done
by taking first order derivatives. We now look at the discrete framework. If the equations
for the sensitivity fields
78
+ +
∂ ∂F (q̄ )
∇q̄ σ = + +
q̂ q̂+ , (5.4)
∂q̄ ∂q̄
+ + −1 + +
∂F (q̄ ) ∂ ∂F (q̄ )
∇q f σ = + +
q̂ q̂+ , (5.5)
∂q̄ ∂q̄ ∂q̄+
where F + is the adjoint operator. It can be seen that Equation 5.4 is of second order due
to the differentiation of the adjoint operator and the direct mode twice.
Therefore, the discrete approach requires a higher order derivative to be taken in order to
compute ∇q̄ σ. Furthermore, the spatial discretisation method employed for this analysis
(Discontinuous Galerkin Spectral Element Methods) does not enforce that the solution
q̄ at the boundaries of neighbouring elements be equal (C 0 continuous). Given this and
coupled with ∇q̄ σ needing a second order derivative, the discontinuities between different
elements in Figure 5.8 can be accounted for. Finally, given that ∇q̄ σ is subsequently used
−1
in the computation of ∇qf σ (∇qf σ = (J + (q̄)) ∇q̄ σ) and good agreement is found for
∇qf σ, we can be convinced in the results.
79
5.4 Open Cavity Flow at Re = 1400
To further validate the method, a convectively unstable case is presented. For a system
to be convectively unstable, the instabilities must grow in space but not in time. The
Figure 5.12: Overview of the dimensions and boundary conditions for the open cavity
The discretised computational domain can be seen in Figure 5.12 with the corresponding
boundary conditions. The inflow boundary condition is computed by solving the Blasius
boundary layer equations based on the Reynolds number, Re, and a desired boundary
U∞ D
layer thickness ,Θinlet . The Reynolds number, Re = υ
= 1400, based on the cavity
depth, D, free-stream velocity, U∞ and kinematic viscosity, υ, and dimensionless boundary
Θ
layer thickness, Θinlet = D
= 0.0337, are both given as a function of the cavity depth, D.
The computational mesh comprises of 394 quadrilateral elements, each with P =4. The
problem has been extensively studied by de Vicente [100] and Meseguer et al. [68] who
show that convective stability of the system is strongly dependent on the outflow boundary
80
condition. Their work is used for validating the base flow at Re = 1400. The outflow
boundary condition does not affect the frequency, σi , but can affect the growth rate, σr
of the system because the outflow boundary condition can modify the spatial growth of
the disturbance for this convectively unstable case.
The base flow fields, ρu, ρv and ω, for the open cavity can be seen in Figures 5.13 a), b)
and c) respectively. These agree well with other studies in the literature [100, 68].
Figure 5.13: Open cavity base flow fields at Re = 1400; a) ρu, b) ρv and c) ω
81
5.4.2 Linear Stability Analysis
Figure 5.14 shows the eigenvalue spectrum computed for the open cavity. The eigenvalue
which corresponds to the first Rossiter mode is selected. This corresponds to the eigen-
value which is circled in Figure 5.14. In this case, this is not the most unstable eigenvalue
but it is known from [68, 82, 13], that as the Reynolds number increases the growth
rate, σr , for this eigenvalue will eventually become positive. We achieve a frequency of
fσ = 0.236 while Table 5.2 compares this result with other studies. It can be seen that
relatively good agreement has been achieved. The real part of the eigenmodes correspond-
ing to this eigenvalue are shown in Figure 5.15. In both cases the significant part of the
mode extends downstream of the trailing edge of the cavity and a structure similar to a
Tollmien –Schlichting wave, present in boundary layer flows, can be seen for both ρc
u and
c
ρv. The adjoint modes can be seen in Figure 5.16. These modes give information about
the most receptive regions and, as would be expected, these are found just upstream of
the cavity.
σi
I/C σi frequency (fσ = 2π
)
Meseguer et al. [68] I - ∼0.25
Rowley et al. [82] I - ∼0.26
Current Study C 1.505 ∼0.24
Table 5.2: Numerical comparison of the non-dimensional frequency of the least stable
eigenvalue for the flow past an open cavity
82
0
σr
-1
-2
0 0.1 0.2 0.3 0.4 0.5 0.6
fσ
Figure 5.14: The eigenvalue spectrum for flow past an open cavity at Re = 1400. The
circled eigenvalue corresponds to the first Rossiter mode.
83
(a)
0.02
2 0
-0.02
1
y
-1
0 2 4 6 8
x
(b)
0.01
2 0
-0.01
1
y
-1
0 2 4 6 8
x
Figure 5.15: The real part of the open cavity direct eigenmode fields; a) ρc
u and b) c
ρv
84
(a)
0.02
2 0
-0.02
1
y
-1
0 2 4 6 8
x
(b)
0.01
2 0
-0.01
1
y
-1
0 2 4 6 8
x
\
Figure 5.16: The real part of the open cavity adjoint eigenmode fields; a) (ρu) + and b)
\
(ρv) +
85
5.4.3 Sensitivity Analysis
Figure 5.17 shows the structural sensitivity for flow past an open cavity. It can be seen
that the “wavemaker” region is located just upstream of the leading edge of the cavity.
This is the region just before the boundary layer detaches, so it is intuitive that this would
be the wavemaker.
1
y
-1
0 2 4 6 8
x
Figure 5.18 shows the sensitivity of the open cavity to base flow modifications, ∇q̄ σ. It
can be seen that for both the growth rate, ∇q̄ σr , and the frequency, ∇q̄ σi , the region
of the flow which is most sensitive is located just upstream of the cavity. This indicates
here that a base flow perturbation could have a stabilising effect on the wave which can
be seen in Figure 5.15 for ρc
u and ρc
v. The most sensitive region in both Figure 5.18 a)
and b) conicdes with the most sensitive region identified by the structural sensitivity in
Figure 5.17.
Figure 5.19 shows the sensitivity to a steady force, ∇qf σ. Contrariwise to Figure 5.18,
Figure 5.19 indicates that putting a steady force inside the cavity will the greatest stabil-
ising effect. There is also a region downstream of the leading edge of the cavity where a
force could also be put to have the same effect. This could be due to the global instability,
which, as mentioned, originates from inside the cavity.
86
(a)
1
y
-1
0 2 4 6 8
x
(b)
1
y
-1
0 2 4 6 8
x
Figure 5.18: Sensitivity to base flow modifications, a) ∇q̄ σr and b) ∇q̄ σi , for the open
cavity at Re = 1400
87
(a)
1
y
-1
0 2 4 6 8
x
(b)
1
y
-1
0 2 4 6 8
x
Figure 5.19: Sensitivity to a steady force, a) real part, ∇qf σr , and b) imaginary part,
∇qf σi , for the open cavity at Re = 1400
88
Chapter 6
The linear momentum actuator disc theory (LMADT) often referred to as momentum
theory or simply actuator disc theory was first introduced by [39] to model ship propellers
and subsequently extended by [56] and [18], who derived limits on the efficiency for this
simplified model. More recently, various authors have particularised the theory to model
helicopter rotors [58], centrifugal pumps, turbochargers and wind turbines [94]. During
the last decade, the rise of new engineering devices for energy extraction such as tidal
turbines has required the modification of the classic theories to accommodate for blockage
effects due to confinement (between sea surface and ground) [102, 73].
The actuator disc model and the LMADT theory (see section 6.2.1 for details) provide
a simplified means to model rotors that provide thrust (e.g. propellers or helicopters)
or that extract energy from the flow (e.g. wind, tidal turbines). These simplified rotors
provide a useful framework for the analysis of wake structures with a lower computational
cost compared with simulating rotating blades. Indeed, the actuators disc may be used
to represent the rotor disc, whilst the far field is computed using a numerical approach.
The wake resulting from the disc can be simulated using a Navier-Stokes solver and thus
can evolve freely.
89
The wake unsteadiness aft of simple bodies (e.g. cylinders) is governed by flow parameters,
such as the Reynolds number, the free stream turbulence, and geometric shapes and
Predicting the wake and its steadiness is of particular importance for wind and tidal tur-
bines for clean energy generation. These devices are typically distributed in clusters or
farms. Ideally, the spacing between devices should be small to allocate a maximum num-
ber of turbines in a minimum space, which should maximise energy extraction. However,
locating devices close to each other may not only limit the energy extracted by shadowing
effects, but can also lead to problems related to the interactions of one wakes with neigh-
bouring devices. Unsteady wakes and associated fluctuating forces are important since
they are correlated to undesired phenomena, such as unpredictable unsteady effects (e.g.
dynamic stall on the blades), increased forces, reduced fatigue life or noise generation.
Some of these effects can undermine the structural integrity and reduce the operating life
Two recent studies [91, 90] have presented two and three dimensional instability analysis of
an Optimum Glauert rotor [94] for various Reynolds numbers. It was shown that over the
range of Reynolds numbers two dimensional and three dimensional computations provided
similar unsteady perturbation shapes (i.e. direct modes). In addition, they show that two
dimensional computations were more unstable than three dimensional computations for
the flow conditions (i.e. the same Reynolds number). Other works [74, 92, 85] have
performed stability analysis on turbine wakes using an actuator line method combined
with a Large Eddy simulation far field to simulate the wake behind a wind turbine. These
papers focus on capturing the physics of the wake but not controlling it.
Figure 6.1 shows how a Kelvin-Helmhotz instability develops in the case of a fluid moving
at different velocities. As the velocity gradient increases, a shear layer develops at the
interface and this leads to overturning in fluid, resulting in a localised spinning motion.
The K-H instability presents itself in many areas in engineering such as fluids, geo-physical
and ocean/marine, which has resulted in it has becoming a well investigated probelm. Two
90
U2
U1
early works by Thorpe [97, 98] showed experimentally the onset of the K-H instability
as a consequence of the growth of waves at the shear layer interface and found good
agreement with theoretical results. In the context of turbines, Hodson and Howell [42]
present a review of low pressure turbine wakes, detailing the breakdown to turbulence,
one mechanism being due to the K-H instability, and how to reduce the losses caused by
such mechanisms.
In this section we briefly summarise the linear momentum actuator disc theory (LMADT)
to provide context to our study. A complete overview of this theory can be found elsewhere
[58, 94, 17]. The main results of the theory include the determination of the Power (Cp )
and Thrust (Ct ) coefficients for an actuator disc. In the idealised inviscid and steady case,
these are functions of the axial induction factor a, that relates to the deceleration of the
flow through the actuator disc. Namely, a is
Ut = U∞ (1 − a), (6.1)
91
1
0.9
0.6
0.5
0.4
0.3
0.2
0
0 0.1 0.2 0.3 0.4
induction factor (a)
where Ut is the velocity of the flow through the actuator and U∞ is the velocity in the
unperturbed upstream far field. Using mass, momentum-force conservation and Bernoullis
principle, one can derive the following expressions for the Power and Thrust coefficients:
In 1920, Betz [18] derived using the LMADT theory the maximum power that can be
provided or extracted from the flow using an idealised rotor as modelled by an actuator
disc. To do so it suffices to derive and equate to zero the previous expression for the power
coefficient to obtain the optimal induction aopt = 1/3 and corresponding maximum power
coefficient Cp opt = 16/27. The power and thrust coefficient are illustrated in Figure 6.2.
In our study, we select an actuator forcing through a deficit of momentum (a body force
in the Navier-Stokes equations). Therefore the condensed form of the 2D compressible
Navier-Stokes equations becomes
92
dq
= F (q) + f , (6.3)
dt
where f = (0, f, 0, 0). The pressure drop (△p) is computed across the disc. This pressure
difference can be realted to the coefficient of thrust using Ct = 2△p/̺U∞ 2 , where ̺ denotes
the fluid density. Finally, our study comprises cases for 0.2 < Ct < 0.45 corresponding to
induction factors 0.05 < a < 0.13. In all cases the force applied by the actuator to the
flow is uniform and constant. Note that other more sophisticated approaches that account
for radial variations in rotor geometry can be used (e.g. Glauert rotor in [94, 90, 91]) but
are not retained in our work.
6.3 Results
After a preliminary mesh convergence and domain size study, the final computational
domain, depicted in Figure 6.3, has 742 quadrilateral elements with a global polynomial
order of 4. The left Dirichlet boundary is a uniform inflow for velocity whilst the upper,
right and lower boundaries are treated with a Neumann outflow boundaries. The zoomed
region, in Figure 6.3, details the location where the forcing term, f = (0, f, 0, 0)T , is
applied (in red) and shows the effective degrees of freedoms for the high order technique.
We consider a range of Reynolds numbers (Re), based on the rotor diameter D and the
free stream velocity, from Re = 1000 to 3500 and actuator disc forcing (f ) from f = 0.5
to 1.2. Note that f = 0.5 correspond to an induction factor of a = 0.05, whilst f = 1.0
corresponds to a = 0.13 (see section 6.2.1). The simulated cases together with their
wake behaviour (i.e. steady or unsteady) are summarised in Table 6.1. The table reports
that for a fixed forcing f = 1.0 a stable wake becomes unstable if the Reynolds number
93
Actuator forcing f Re=1000 Re=1500 Re=2000 Re=2500 Re=3000 Re=3500
0.50 S S S S S S
0.75 S S S S S S
1.00 S S S S S U
1.20 S S U U U U
Table 6.1: Stability of the wake of an actuator disc when varying the Reynolds number
(Re) and the actuator forcing (f ). The table details the wake behaviour: steady (S) or
unsteady (U).
is increased from Re = 3000 to Re = 3500. Alternatively, the table shows that for a
fixed Reynolds Re = 3000, an increase in the actuator forcing from f = 1.0 to f = 1.2
destabilises the wake. We illustrate the destabilising effect of increasing the Reynolds
number, in Figures 6.4 a):f) . Figures 6.4 a), b) and c) depict the streamwise, transverse
velocity fields and the vorticity magnitude for a stable case at Re = 3000 and f = 1.0,
whilst Figures 6.4 d), e) and f) show an unstable wake for Re = 3500 and f = 1.0.
Figure 6.3: Domain and mesh for the actuator disc case.
Figures 6.5 a) to c) and Figures 6.5 d) to f) present streamwise and transverse velocities in
sections parallel to the actuator at various streamwise locations for a steady (Re = 1000)
and an unsteady (Re = 3500) case. Figures 6.4 f) and 6.5 suggest a “Kelvin-Helmholtz”
(KH) type instability. The KH instability can be theoretically analysed in inviscid fluids
[31].
Since viscosity smooths the steep velocity gradients, responsible of KH instabilities, lower
94
Figure 6.4: Contours of streamwise velocity a) and d), transverse velocity b) and e), and
vorticity magnitude c) and f). Steady flow shown for Re = 3000, in a), b) and c), and
unsteady flow for Re = 3500 d), e) and f). Both flows are computed with the same
actuator forcing f = 1.0.
95
Figure 6.5: Streamwise velocity for Re = 1000 (stable) and 3500 (unstable), at a) x/D = 5,
b) x/D = 15 and c) x/D = 20. Transverse velocity for Re = 1000 (stable) and 3500
(unstable), at d) x/D = 5, e) x/D = 15 and f) x/D = 20.
Figure 6.6: a) Vorticity magnitude along the streamwise line y/D = 0.57 for Re = 1000
(stable), 3000 (stable), and 3500 (unstable) are shown. b) zoom of 3500 (unstable)
Reynolds numbers provide more stable wakes. Similarly, a reduced actuator forcing results
in a smoother velocity gradient, which produces a more stable wake (not shown). Figures
6.5 a) to 6.5 f) show that the velocity fields present a step gradient near the edge of the
96
actuator that becomes smoother for sections further downstream. These gradients are
smoother for decreased Reynolds numbers, which illustrates the stabilising effect of the
viscosity. Figure 6.6 a) presents the evolution of the vorticity magnitude along the line
y/D = 0.57, which lies at the edge of the actuator disc and in the streamwise direction
along the high vorticity region depicted in figures 6.4 c) and 6.4 f). For both Re = 1000
and Re = 3000, the vorticity decays downstream of the actuator whereas for Re = 3500
(unsteady case) the vorticity oscillates aft 10 diameters downstream of the actuator disc.
This illustrates that the onset of the instability is not at the edge of the actuator but 10
to 15 diameters downstream. Finally, the spatial location for the instability onset moves
upstream for higher Reynolds number or higher actuator forcing (not shown). The aim
of this work is to defer the onset of wake unsteadiness such that the wake remains steady
The complex eigenvalues σ are obtained from the direct eigenvalue problem as detailed in
previous sections. As mentioned, when σr > 0 the system is said to be linearly unstable
in time (i.e. absolute instability).
Firstly, Figure 6.7 shows the convergence of the a) growth rate (σr ) and b) frequency
(σi ) with respect to polynomial order. The evolution of the most unstable eigenvalue
is presented in Figures 6.8 a) to 6.8 d), when varying the Reynolds number (Re) and
the actuator forcing (f ). These Figures confirm and quantify the destabilising effect of
increasing the Reynolds number or the actuator forcing.
It can be seen that increasing the actuator forcing (e.g. extracting more energy using a
wind turbine), has a destabilising effect on the wake, which is comparable to the destabil-
ising effect of an increase in the Reynolds number. Note that for wind/tidal turbines there
is little or no control over the Reynolds number as this is dictated by the environment.
However, the resistance of the turbine can be modified by adjusting the speed at which its
blades rotate. In addition, small variations were observed in the frequencies (imaginary
97
a) b)
-0.0019 -3.0997
-3.0998
-0.0021
σr
σi
-3.0999
-0.0023
-3.1
2 3 4 5 6 2 3 4 5 6
Pol order Pol order
Figure 6.7: Convergence of the a) growth rate (σr ) and b) frequency (σi ) with respect to
polynomial order.
part of the eigenvalues) when varying the Reynolds number or the actuator forcing but
are not shown.
Second order polynomials are used to model the evolution of σr . We find the polynomials
for Figure 6.8 a) (f = 1.0) and Figure 6.8 c) (Re = 3000) respectively
Computing the roots of the polynomial provides an approximation of the critical values
for Reynolds and forcing for which the system becomes unstable. We find Recrit ≈ 3643
and fcrit = 1.12. These estimates are validated by brute force computations to find
that the wake becomes unsteady in the range 3250 < Recrit < 3300 (for f = 1.0) and for
fcrit > 1.01 (for Re = 3000). Furthermore, taking derivatives of the models, we can obtain
98
a) 0.0010 b) 3.1010
0.0000
3.1000
Growth rate (σr)
Frequency (σi)
-0.0010
3.0990
-0.0020
3.0980
-0.0030 f=1.0
f=0.75
f=0.5
-0.0040 3.0970
1000 2000 3000 4000 1000 2000 3000 4000
Re Re
c) 0.0010 d) 3.1010
0.0000
3.1000
Growth rate (σr)
Frequency (σi)
-0.0010
3.0990
-0.0020
3.0980
-0.0030
Re=3000
Re=2000
Re=1000
-0.0040 3.0970
0.5 0.75 1 0.5 0.75 1
Actuator Forcing Actuator Forcing
Figure 6.8: a) and c) Growth rates for the most unstable eigenvalue at various Reynolds
(Re) and actuator forcing f . b) and d) frequencies for the most unstable eigenvalue at
various Reynolds (Re) and actuator forcing f .
the sensitivity of the growth rates with respect to the Reynolds and actuator forcing
∂σr
= 1.1 × 10−6 ,
∂Re Re=3000
∂σr
= 5.0 × 10−3 .
∂f f =1.0
These sensitivities quantify that a variation of the actuator forcing δf ≈ 0.1 has a similar
effect to a variation of Reynolds δRe ≈ 450.
For completeness, Figure 6.9 a) and 6.9 b) depict the direct and adjoint streamwise-
99
Figure 6.9: a) Direct mode (real part streamwise momentum) and b) Adjoint mode (real
part streamwise momentum), for Re = 3000 and f = 1 (steady case).
Our interest is in stabilising the most unstable eigenvalue identified with linear instability
analysis. In this section we compare three sensitivities: the structural sensitivity, the
sensitivities to base flow modifications and localised forcing. The structural sensitivity
or “wavemaker” region [40] is shown in Figure 6.10. This identifies the most sensitive
regions to localized feedback and results from computing the dot product of direct and
adjoint modes.
Figure 6.10 shows that the wavemaker region becomes important in the region downstream
of the actuator (x/D > 20) and that a much smaller region appears near the edges of the
actuator disc.
100
4
2
0
y
-2
-4
-10 -5 0 5 10 x 15 20 25 30 35
Figure 6.11 a) reports the sensitivity to a base flow modifications (real part of ∇q̄ σ
in equation (2.37)) and confirms the two regions detected by the structural sensitivity.
Figure 6.11 b) presents the sensitivity to a steady force (real part of ∇qf σ in equation
(2.37)). The latter sensitivity detects a flow region closer to the actuator (−5 < x/D < 5)
and within the shear layer arising from the edges of the actuator disc.
a) 4 0.8
0.45
0.1
0
y
-4
-5 5 x 15 25
b) 4 2.5
1.25
0
y
-4
-5 5 x 15 25
Figure 6.11: a) base flow modifications (∇q̄ σ) and b) a steady force (∇qf σ).
In summary, two regions are localised by the sensitivity analysis. The first one is located
far downstream of the actuator as indicated by the structural sensitivity and the sensitivity
to base flow modifications. A second zone appears clearly when the sensitivity to a steady
forcing is computed. Note that for engineering applications (e.g. wind turbines), having
regions relatively close to the actuator is desirable as it eases the implementation of a
passive control technique to stabilise the flow.
101
6.3.3.2 Wake Stabilisation
To validate the methodology and provide guidelines for flow control of actuator discs,
infinitesimal forces are placed in the regions identified by the various sensitivity contour
maps. Two sets of forces (applied in the opposite direction to the freestream velocity)
are added: f 1 is located near the actuator disc (x/D, y/D) = (1.6, ±0.75), whilst f 2 is
situated far downstream (x/D, y/D) = (27.5, ±0.75), both within the shear layer region.
The locations for f 1 and f 2 are shown in Figure 6.12.
4
2
0
2
4
-10 -5 0 5 10 x 15 20 25 30 35
Figure 6.12: Positions of infinitesimal forces to enhance stability: near disc control f 1
(red squares) and downstream control f 2 (blue squares).
Growth rates for uncontrolled (original) and controlled cases f 1 and f 2 (applied sepa-
rately) for a range of Reynolds numbers 2000 < Re < 5000 (with fixed actuator forcing
f = 1.0) are shown in Figure 6.13 a), whilst growth rates for a variety of actuator forcing
0.5 < f < 1.2 (at fixed Re = 3000) are plotted in Figure 6.13 b). The Figures confirm
that both controls f 1 and f 2 stabilise considerably the wake.
The effect of the near disc control f 1 and the downstream control f 2 increases when
increasing the Reynolds numbers or the actuator forcing, but f 1 shows a more effective
stabilising effect for the range of Reynolds and forcing considered. As for the uncontrolled
case, we fit a second order polynomial to the data for the f 2 control
which predicts a Recrit = 4396, quantifying the enhanced stabilisation by 21% (the un-
controlled case showed Recrit ≈ 3643). For completeness, we compute the sensitivities of
102
Figure 6.13: Uncontrolled wake (original) compared to near disc control (f 1) and down-
stream control (f 2): Growth rates for the most unstable eigenvalue for a) various Reynolds
numbers (Re) (fixed actuator forcing f = 1.0) and b) various actuator forcing f (and fixed
Re = 3000).
Figure 6.14: Uncontrolled wake (original) compared to near disc control (f 1) and down-
stream control (f 2): Vorticity magnitude along the horizontal line y/D = 0.57 for
Re = 3500 and f = 1.0.
the growth rate (σr ) to a change in Re and actuator forcing (f ) by taking derivatives of
the models.
∂σr
= 6.65 × 10−7 ,
∂Re Re=3000
∂σr
= 2.0 × 10−3 .
∂f f =1.0
The percentage reduction in sensitivity to the Reynolds is 39% and to the actuator forcing
103
Figure 6.15: Streamwise velocity at sections x/D = 5, x/D = 10, x/D = 15, x/D = 20,
x/D = 25 and x/D = 30 for Re = 3500 and f = 1.0.
a)
4 0.0005
0
-0.0005
0
y
-4
-10 -5 0 5 10 x 15 20 25 30 35
b)
4
0
y
-4
-10 -5 0 5 10 x 15 20 25 30 35
c)
4
0
y
Figure 6.16: Direct mode (real part streamwise momentum) for Re = 3000 and f = 1 for
a) no forcing, b) f 1 and c) f 2 .
104
60%, when compared to the uncontrolled cases. Again, we quantify these sensitivities by
noting that a variation of the actuator forcing δf ≈ 0.1 is now comparable to a variation
of Reynolds δRe ≈ 300. In addition, let us note that the sensitivities for the control f 1 are
close to zero, which follows from the curves being almost horizontal near Re = 3000 and
f = 1.0. For the f 1 control the wake becomes unstable at Recrit ≈ 7500 and a different
eigenmode is responsible of the instability.
In addition, Figure 6.14 reports the vorticity evolution for the modified actuator with the
control forcing f 1 and f 2 to confirm the stabilising effect at the shear layer.
Figure 6.16 shows the direct mode (real part streamwise momentum) for Re = 3000 and
f = 1 for no forcing, f 1 and f 2. Figure 6.13 showed that the absolute stability of the
system was increased by the forcing but Figure 6.16 shows that the convective stability is
also increased. Particularly for Figure 6.16 b) it can be seen the amplitude of the mode
structure is reduced far downstream of the actuator in comparison to Figure 6.16 a).
We finally report the streamwise velocity at downstream sections parallel to the disc in
Figure 6.15 d) for the original unsteady wake, and the controlled f 1 and f 2 at Re = 3500
and f = 1.0. It can be seen for the f 1 case that the forcing initialises a smoother velocity
gradient which has a stabilising effect on the wake (Figure 6.15 a)). A similar effect is
seen for f 2 (Figure 6.13 f)) but the latter, acting further downstream, results in a less
efficient stabilisation mechanism. We conclude that the f 1 control located close to the
6.4 Summary
This chapter shows how to stabilise the wake arising from an actuator disc. Using linear
stability and sensitivity analysis based on adjoints, we find the regions of the flow that
when modified provide a more stable wake. We test this procedure for a range of Reynolds
numbers and actuator forcing to show its usability at stabilising or delaying unsteadiness
in the wake of an actuator disc. It is shown that locating point forces close behind the
105
disc modifies the shear layer profile stabilising the wake. This mechanism is more efficient
that stabilising the wake far downstream, where instabilities first arise. It is expected that
these results are applicable to a wide range of engineering devices, where the actuator disc
theory (LMADT) holds such as propellers, helicopter rotors or wind and tidal turbines.
106
Chapter 7
Conclusions
This thesis has presented a general numerical methodology for conducting sensitivity
and stability analysis. Although the method could be applied to any partial differential
equation containing a spatial operator and a time derivative, in this thesis, it has been
investigated for the compressible NS equations. It was found that it is insufficient to
Jacobian calculation when using complex variables. The method has been validated using
the flow past a circular cylinder at a Reynolds number below critical Reynolds number.
Good quantitative and qualitative agreement has been found with published data for the
same test case, where the continuous approach was used together with the incompressible
NS equations. The sensitivity maps correctly show the regions of the flow which are most
sensitive when subjected to a steady force. Flow past an open cavity was also presented
to give an example of a convectively unstable case. The proposed method also agrees
107
well in the prediction of the eigenvalues with other authors for this case. The discrete
approach offers advantages over the continuous:
1. The adjoint base flow equations do not need to be computed. This is the case for the
continuous approach but this is achieved for the discrete approach with Eq. (2.10),
2. If a continuous approach was opted for, then to compute the sensitivity to a steady
force, the NS equations (condensed form Eq. (2.1)) would need to be recomputed
3. Near to analytic accuracy is achieved for the Jacobian matrix when employing com-
plex variables.
The application of this methodology to more complex models, including turbulence models
and highly compressible flows, is straightforward and may give valuable information of
the regions of the flow where the applications of a small perturbation can produce the
maximum output.
We also present results that shows how to stabilise the wake arising from an actuator disc.
Using linear stability and sensitivity analysis based on adjoints, we find the regions of the
flow that when modified provide a more stable wake. We test this procedure for a range
of Reynolds numbers and actuator forcing to show its usability at stabilising or delaying
unsteadiness in the wake of an actuator disc. It is shown that locating point forces close
behind the disc modifies the shear layer profile stabilising the wake. This mechanism is
more efficient that stabilising the wake far downstream, where instabilities first arise. It
is expected that these results are applicable to a wide range of engineering devices, where
the actuator disc theory (LMADT) holds such as propellers, helicopter rotors or wind and
tidal turbines.
108
7.2 Future Work
The sensitivity analysis for the sensitivity to base flow modifications and to a steady force
has been investigated for well studied 2D fluid dynamics problems and for the actuator
disc in this thesis. This analysis can be taken forward by now applying this to more
complex problems such as turbulent cases or 3D cases. These will be more computationally
demanding but will provide relevant results for industrial type problems. Furthermore,
this analysis can also be tested for cases where the flow is unstable - to stabilise flow that
is already unstable.
Section 2.4.4 presents the mathematical framework for computing the sensitivity to ge-
ometric modifications. This methodology can be extended and applied to test cases to
109
110
Appendix A
+ +
∇w σ = Bw q̂ + Jw+ q̄+ , (A.1)
∗ ∗
∂σ ∂σ ∂q̄
= . (A.2)
∂w ∂q̄ ∂w
By writing Equation (A.2) in terms of matrices and vectors (noting the transpose from
above and remembering ∂q̄∂σ
= Bq̄+ q̂+ we get
∇w σ = − (q̂+ )∗ (Bq̄+ )∗ Jq̄−1 Jw + Bq̄−1 Bw . (A.3)
| {z } | {z }
∂σ ∂q̄
∂q̄ ∂w
By subbing the RHS of Equation (A.1) into the parentheses on the LHS of (A.2) (i.e.
equating the two equations) we arrive at
111
(q̂+ )∗ (Bw ) + (q̄+ )∗ (Jw+ )∗ = (q̂+ )∗ (Bq̄+ )∗ Jq̄−1 Jw + Bq̄−1 Bw .
+ ∗
(A.4)
| {z } | {z } | {z }
∂σ ∂σ ∂q̄
∂w ∂q̄ ∂w
expanding brackets
(q̂+ )∗ (Bw
+ ∗
) + (q̄+ )∗ (Jw+ )∗ = (q̂+ )∗ (Bq̄+ )∗ Jq̄−1 Jw + (q̂+ )∗ (Bq̄+ )∗ Bq̄−1 Bw . (A.5)
With the generalisation5 that the conjugate transpose •∗ corresponds to the adjoint op-
Which leaves
showing the methods are equivalent and converge to the same result.
5
We employ this generalisation but for equidistant mesh points this is unequivocally valid (M ∝ I)
112
Bibliography
[1] P. Schmid A. Guegan and P. Huerre. Optimal energy growth and optimal control
in swept hiemenz flow. Journal of Fluid Mechanics, 566:11–45, 11 2006.
[3] F. Alizard and J. C. Robinet. Modeling of optimal perturbations in flat plate bound-
ary layer using global modes: benefits and limits. Theoretical and Computational
[6] D.N. Arnold, F. Brezzi, B. Cockburn, and L.D. Marini. Unified analysis of dis-
113
[8] S. Bagheri, E. Åkervik, L. Brandt, and D. S. Henningson. Matrix-free methods for
the stability and control of boundary layers. AIAA Journal, 47(5):1057–1068, 2009.
[10] D. Barkley. Linear analysis of the cylinder wake mean flow. Europhys. Lett., 75(5),
2006.
[11] D. Barkley, H. M. Blackburn, and S. J. Sherwin. Direct optimal growth analysis for
timesteppers. International Journal for Numerical Methods in Fluids, 57(9):1435–
1458, 2008.
[15] F. Bassi and S. Rebay. A high-order accurate discontinuous finite element method
for the numerical solution of the compressible Navier-Stokes equations. Journal of
Computational Physics, 131(2):267 – 279, 1997.
[18] A. Betz. Das maximum der theoretisch möglichen ausnutzung des windes durch
windmotoren. Zeitschrift für das gesamte Turbinenwesen, 1920.
114
[19] H. M. Blackburn, D. Barkley, and S. J. Sherwin. Convective instability and transient
growth in flow over a backward-facing step. Journal of Fluid Mechanics, 603:271–
304, 5 2008.
[21] O. M. F. Browne, E. Ferrer, and E. Valero. Sensitivity analysis to control the wake
unsteadiness of an actuator disc. Under Review, 2016.
[25] H. Choi, W. P. Jeon, and J. Kim. Control of flow over a bluff body. Annual Review
of Fluid Mechanics, 40(1):113–139, 2008.
[28] B. Cockburn and C. W. Shu. The local discontinuous Galerkin method for time
dependent convection-diffusion systems. SIAM Journal of Numerical Analysis,
35:2440–2463, 1998.
[29] S. S. Collis, R. D. Joslin, A. Seifert, and V. Theofilis. Issues in active flow con-
trol: Theory, control, simulation, and experiment. Progress in Aerospace Sciences,
40:237289, 2004.
115
[30] J. de Vicente, D. Rodriguez, V. Theofilis, and E. Valero. Stability analysis in
spanwise-periodic double-sided lid-driven cavity flows with complex cross-sectional
[34] E. Ferrer, J. de Vicente, and E. Valero. Low cost 3d global instability analysis and
flow sensitivity based on dynamic mode decomposition and high-order numerical
[35] E. Ferrer, D. Moxey, R.H.J. Willden, and S. Sherwin. Stability of projection meth-
ods for incompressible flows using high order pressure-velocity pairs of same degree:
[36] E. Ferrer and R.H.J. Willden. A high order discontinuous Galerkin finite ele-
ment solver for the incompressible Navier–Stokes equations. Computers & Fluids,
46(1):224–230, 2011.
[37] E. Ferrer and R.H.J. Willden. A high order discontinuous Galerkin–Fourier incom-
pressible 3d Navier-Stokes solver with rotating sliding meshes. Journal of Compu-
tational Physics, 231(21):7037–7056, 2012.
[38] M. Fosas De Pando, D. Sipp, and P. J. Schmid. Efficient evaluation of the direct
and adjoint linearized dynamics from compressible flow solvers. J. Comput. Phys.,
231(23):7739–7755, October 2012.
116
[39] R. Froude. On the part played in propulsion by differences of fluid pressure. Trans-
actions of the Institute of Naval Architects, 30, 1889.
[40] F. Giannetti and P. Luchini. Structural sensitivity of the first instability of the
cylinder wake. Journal of Fluid Mechanics, 581:167–197, 6 2007.
[43] http://www.netlib.org/lapack/.
[44] P. Huerre and P. A. Monkewitz. Local and global instabilities in spatially developing
flows. Annual Review of Fluid Mechanics, 22(1):473–537, 1990.
[46] G. Karniadakis and S. J. Sherwin. Spectral/hp Element Methods for CFD. Numerical
mathematics and scientific computation. Oxford University Press, 1999.
117
[50] D. A. Kopriva. Multidomain spectral solution of compressible viscous flows. Journal
of Computational Physics, 115(1):184 – 199, 1994.
proximation. 2006.
[56] F. W. Lanchester. A contribution to the theory of propulsion and the screw pro-
peller. Journal of the American Society for Naval Engineers, 27(2):509–510, 1915.
[59] P. Luchini and A. Bottaro. Adjoint equations in stability analysis. Annual Review
of Fluid Mechanics, 46(1), 2014.
118
[61] A. M. Lyapunov. The general problem of the stability of motion. International
Journal of Control, 55(3):531–534, 1992.
[62] J. N. Lyness. Numerical algorithms based on the theory of complex variable. A.C.M.
National Meeting, pages 125–133, 1967.
[64] O. Marquet, D. Sipp, and L. Jacquin. Sensitivity analysis and passive control of
cylinder flow. Journal of Fluid Mechanics, 615:221–252, 2008.
[66] P. Meliga, G. Pujals, and É. Serre. Sensitivity of 2-D turbulent flow past a D-shaped
[69] C. Mettot, F. Renac, and D. Sipp. Computation of eigenvalue sensitivity to base flow
[70] C. Mettot, D. Sipp, and H. Bzard. Quasi-laminar stability and sensitivity analyses
for turbulent flows: Prediction of low-frequency unsteadiness and passive control.
Physics of Fluids (1994-present), 26(4), 2014.
119
[72] N. C. Nguyen, P. O. Persson, and J. Peraire. RANS solutions using high order dis-
continuous Galerkin methods. 45th AIAA Aerospace Science Meeting and Exhibit,
[73] T. Nishino and R.H.J. Willden. The efficiency of an array of tidal turbines partially
blocking a wide channel. Journal of Fluid Mechanics, 708:596–606, 10 2012.
[74] V. L. Okulov and J. N. Sørensen. Stability of helical tip vortices in a rotor far wake.
[76] H. Reed and T. R. Hill. Triangular mesh methods for the neutron transport equa-
tion. Technical Report LA-UR-73-479, Los Alamos Scientific Laboratory, 1973.
[79] B. Riviere. Discontinuous Galerkin methods for solving elliptic and parabolic equa-
tions: theory and implementation. Society for Industrial and Applied Mathematics,
Philadelphia, PA, USA, 2008.
[80] D. Rodriguez. Global Instability of Laminar Separation Bubbles. PhD thesis, School
[81] N. Rott. Note on the history of the reynolds number. Annual Review of Fluid
Mechanics, 22(1):1–12, 1990.
120
[82] C. W. Rowley, T. Colonius, and A. J. Basu. On self-sustained oscillations in two-
dimensional compressible flow over rectangular cavities. Journal of Fluid Mechanics,
455:315–346, 3 2002.
[83] Y. Saad. Numerical Methods for Large Eigenvalue Problems. Manchester University
Press, Manchester, 1992.
[84] Y. Saad. Iterative Methods for Sparse Linear Systems. Society for Industrial and
Applied Mathematics, Philadelphia, PA, USA, 2nd edition, 2003.
[86] P. Schmid and D. Henningson. Stability and Transition in Shear Flows. Springer,
2001.
[89] D. Sipp, A. Barbagallo, O. Marquet, and P. Meliga. Dynamics and control of global
instabilities in open-flows: A linearized approach. Applied Mechanics Reviews, 63(3),
2010.
[90] D. Smith, H. Blackburn, and J. Sheridan. Two and three dimensional stability
analysis of an optimum glauert rotor at low reynolds number. In Australasian Fluid
[91] D. M. Smith, H. M. Blackburn, and J. Sheridan. Linear stability analysis for an op-
timum Glauert rotor modelled by an actuator disc. Journal of Physics: Conference
Series, 524(1):012150, 2014.
121
[92] J. N. Sørensen, R. F. Mikkelsen, D. S. Henningson, S. Ivanell, S. Sarmast, and
S. J. Andersen. Simulation of wind turbine wakes using the actuator line tech-
[94] N. Jenkins T. Burton, D. Sharpe and E. Bossanyi. Wind Energy Handbook. John
[95] V. Theofilis. Global linear instability. Annual Review of Fluid Mechanics, 43(1):319–
352, 2011.
[96] V. Theofilis, P. W. Duck, and J. Owen. Viscous linear stability analysis of rectan-
gular duct and cavity flows. Journal of Fluid Mechanics, 505:249–286, 4 2004.
[99] E. F. Toro. Riemann solvers and numerical methods for fluid dynamics : a practical
introduction. Springer, Berlin, New York, 1997.
[100] J. De Vicente. Spectral multidomain methods for global instability analysis of com-
plex cavity flows. PhD thesis, School Aeronautics, ETSIA-UPM, 2010.
122
[103] C. H. K. Williamson. Vortex dynamics in the cylinder wake. Annual Review of
Fluid Mechanics, 28(1):477–539, 1996.
123
This thesis was written by Oliver M. F. Browne.
This version was produced on May 18, 2016 in Madrid, Spain.
124