Numerical Methods for Linear StabilityBeyond Matlab
• Spectral/hp element methods
• Nektar++ code
• Linearised Stability Analysis
Solution Techniques
Spectral/hp methods
finite difference
ij
uδ =
h
uδ = p
spectralmethods
finite element/finite volume
uδ =
h
Spectral/hp element method
1
NUMERICAL MATHEMATICS AND SCIENTIFIC COMPUTATION is a series designed to provide texts and monographs for graduate students and researchers on a wide range of mathematical topics at the interface of computational science and numerical analysis.
George Em Karniadakis and Spencer Sherwin
Spectral methods have long been popular in direct and large eddy simulation of turbulent flows, but their use in areas with complex-geometry computationaldomains has historically been much more limited. More recently the need to findaccurate solutions to the viscous flow equations around complex configurationshas led to the development of high-order discretisation procedures on unstruc-tured meshes, which are also recognised as more efficient for solution of time-dependent oscillatory solutions over long time periods.
Here Karniadakis and Sherwin present a much-updated and expanded version of their successful first edition covering the recent and significant progress inmulti-domain spectral methods at both the fundamental and application level.Containing over 50% new material, including discontinuous Galerkin methods,non-tensorial nodal spectral element methods in simplex domains, and stabilisa-tion and filtering techniques, this text aims to introduce a wider audience to theuse of spectral/hp element methods with particular emphasis on their applicationto unstructured meshes. It provides a detailed explanation of the key conceptsunderlying the methods along with practical examples of their derivation andapplication, and is aimed at students, academics and practitioners in computa-tional fluid mechanics, applied and numerical mathematics, computationalmechanics, aerospace and mechanical engineering and climate/ocean modelling.
ALSO PUBLISHED BY OXFORD UNIVERSITY PRESS
Ch. Schwab
Peter Davidson
Antonín Novotny and Ivan Straskraba
Ivo Babuska and Theofanis Strouboulis
NUMERICAL MATHEMATICSAND SCIENTIFIC COMPUTATION
Spectral/hp Element Methods for Computational Fluid
DynamicsSECOND EDITION
GEORGE EM KARNIADAKIS and SPENCER SHERWIN
OXFORD SCIENCE PUBLIC ATIONS
Spectral/hp E
lemen
t M
ethods for C
ompu
tational
Fluid D
ynam
ics
2
SecondEdition
KA
RN
IAD
AK
IS
AN
D S
HE
RW
IN
ˇ
KARNIADAKIS FILM C2B 28/4/05 12:01 pm Page 1
p-type exponential accuracy
h-type geometric flexibility
Work ! C(h)p(Dim+1)
Error ! K(u, p) hp
Spectral/hp element methods Sec. 4: Spectral/hp elements in 2D
!pq("1,"2) = #p("1) #q("2)
#p("1)
"1
"2
#q("2)
p
q
p
qa
a
a a
!pq("1,"2) = hp("1) hq("2)
hp("1)
"1
"2
hq("2)
p
q
p
q
Figure 17: Construction of a two-dimensional expansion basis from the tensor product of twoone-dimensional expansions of order P = 4. A modal expansion (top) and a nodalexpansion (bottom) are shown.
expansion. Since a large part of the e!ciency of the quadrilateral expansion (particu-larly at larger polynomial orders) arises from the tensor product construction, we wouldlike to use a similar procedure to construct expansions within the triangular domains.Therefore, to extend the tensor product expansion to simplex regions such as a trianglewe need to generalise the tensor product expansion concept, which can be achieved byusing a collapsed coordinate system.
4.1.3 Collapsed coordinate system
In this section we will focus on 2D expansions defined on the standard triangle Tst,defined as
Tst = (!1 , !2)|! 1 " !1 , !2 ; !1 + !2 " 0 .
In the quadrilateral expansions discussed in section 4.1.1 we generated a multidi-mensional expansion by forming a tensor product of one-dimensional expansions basedon a Cartesian coordinate system. The one-dimensional expansion was defined betweenconstant limits and therefore an implicit assumption of the tensor extension was that thecoordinates in the two-dimensional region were bounded between constant limits. How-ever this is not the case in the standard triangular region as the bounds of the Cartesiancoordinates (!1, !2) are dependent upon each other.
4-2
Spectral/hp element methods Sec. 4: Spectral/hp elements in 2D
!pq("1,"2) = #p("1) #q("2)
#p("1)
"1
"2
#q("2)
p
q
p
qa
a
a a
!pq("1,"2) = hp("1) hq("2)
hp("1)
"1
"2
hq("2)
p
q
p
q
Figure 17: Construction of a two-dimensional expansion basis from the tensor product of twoone-dimensional expansions of order P = 4. A modal expansion (top) and a nodalexpansion (bottom) are shown.
expansion. Since a large part of the e!ciency of the quadrilateral expansion (particu-larly at larger polynomial orders) arises from the tensor product construction, we wouldlike to use a similar procedure to construct expansions within the triangular domains.Therefore, to extend the tensor product expansion to simplex regions such as a trianglewe need to generalise the tensor product expansion concept, which can be achieved byusing a collapsed coordinate system.
4.1.3 Collapsed coordinate system
In this section we will focus on 2D expansions defined on the standard triangle Tst,defined as
Tst = (!1 , !2)|! 1 " !1 , !2 ; !1 + !2 " 0 .
In the quadrilateral expansions discussed in section 4.1.1 we generated a multidi-mensional expansion by forming a tensor product of one-dimensional expansions basedon a Cartesian coordinate system. The one-dimensional expansion was defined betweenconstant limits and therefore an implicit assumption of the tensor extension was that thecoordinates in the two-dimensional region were bounded between constant limits. How-ever this is not the case in the standard triangular region as the bounds of the Cartesiancoordinates (!1, !2) are dependent upon each other.
4-2
hp finite element - hierarchicalSpectral element method - nodal
Why Spectral/hp elements methods?
φ = U [r + a2/r] cos θ
Mesh A Mesh B
Mesh C Mesh D
Mesh E Mesh F
~Work
Erro
r
Mesh C
P=1
P=2
Mesh A
Degrees of freedom
Erro
r
Mesh A
P=1
P=2
Mesh C
BooksOverview: What is it?
S.J. Sherwin, R. M. KirbyChris Cantwell, Gabrielle Rocco
Nektar++ is an open source software library currently being developed and designed to provide a bridge to the community – to provide a toolbox of data structures and algorithms which
implement the spectral/hp element method, a high-order numerical method yielding fast error convergence. It is
implemented as a C++ object-oriented toolkit which allows developers to implement spectral element solvers for a variety
of different engineering problems.
For more information, go to: www.nektar.info
Libraries to operator mapping
i
vj
j
l
0
∂ΦHi∂x
∂ΦHj∂x
+ λΦHi ΦHj
uj dx =
ΦHi f∗dx
f [i]
C
D
!1
!2
A B
CD
u!(!1, !2) =P1!
p=0
P2!
q=0
upq"pq(!1, !2),xi = !i("1, "2) =
p=P1!
p=0
q=P2!
q=0
xipq#pq("1, "2)
x1
x2
!1 (1)
!2 (2)
x1 (3)
x2 (4)
u!(x1, x2) =P1!
p=0
P2!
q=0
upq"pq(x1, x2) (5)
u!(x1, x2) =Nel!
e=1
"
P1!
p=0
P2!
q=0
uepq"
epq(x1, x2)
#
(6)
(7)
1
LocalRegionsSpatialDomainsStdRegions
MultiRegions
=
Φif∗dx
u!(x1, x2) =P1!
p=0
P2!
q=0
upq"pq(x1, x2)
A
B
i
vj
j
l
0
∂ΦHi∂x
∂ΦHj∂x
+ λΦHi ΦHj
uj dx =
ΦHi f∗dx
f [i]
C
D
!1
!2
A B
CD
u!(!1, !2) =P1!
p=0
P2!
q=0
upq"pq(!1, !2),xi = !i("1, "2) =
p=P1!
p=0
q=P2!
q=0
xipq#pq("1, "2)
x1
x2
!1 (1)
!2 (2)
x1 (3)
x2 (4)
u!(x1, x2) =P1!
p=0
P2!
q=0
upq"pq(x1, x2) (5)
u!(x1, x2) =Nel!
e=1
"
P1!
p=0
P2!
q=0
uepq"
epq(x1, x2)
#
(6)
(7)
1
LocalRegionsSpatialDomainsStdRegions
MultiRegions
=
Φif∗dx =
nel
e
p
Ωe
φp(x)f∗dx
!1 (1)
!2 (2)
x1 (3)
x2 (4)
u!(x1, x2) =P1!
p=0
P2!
q=0
upq"pq(x1, x2) (5)
(6)
1
A
B
Libraries to operator mapping
i
vj
j
l
0
∂ΦHi∂x
∂ΦHj∂x
+ λΦHi ΦHj
uj dx =
ΦHi f∗dx
f [i]
C
D
!1 (1)
!2 (2)
(3)
1
!1 (1)
!2 (2)
(3)
1
A B
CD
Ch. 3 Multi-dimensional Formulation 105
where
u!p =
P!
q=0
uq#hq
#!(!)
"""""p
.
This is very significant when calculating non-linear terms such as the advection operator inthe Navier-Stokes equation. For example, to determine the value of the non-linear product
u!(!)#u!
#!(!)
at a point !i we have:
u!(!i)#u!
#!(!i) =
#P!
p=0
uphp(!i)
$#P!
q=0
uq#hq
#!(!i)
$
=
#P!
p=0
uphp(!i)
$#P!
q=0
u!qhq(!i)
$
.
Since hp(!i) = $pi and hq(!i) = $qi then
u!(!i)#u!
#!(!i) = uiu
!i.
Finally, we can represent our nonlinear product in terms of an expansion of Lagrange poly-nomials as
u!(!)#u!
#!(!) !
P!
p=0
upu!php(!).
We note however that if u!(!) is a polynomial of order P then the non-linear product
u!(!)#u!
#" (!) is a polynomial of order (2P " 1) and so it cannot be exactly represented by
the Lagrange polynomial expansion of order P . At the nodal points the coe!cient upu!p will
be identical to the value of u!(!p)#u!
#" (!p). Nevertheless, projecting the non-linear terms toa lower polynomial order in this fashion can lead to aliasing errors as discussed in section1.4.1.2.
Although this example is in one-dimension, the same properties apply in multiple di-mensions provided the expansion can be represented by a tensor product of Lagrange poly-nomials. Using the collapsed Cartesian coordinates systems described in section 2.2.1 itis possible to represent any polynomial expansion as a tensor product of one-dimensionalLagrange polynomials.
3.1.2.1 Two Dimensions Di!erentiation in the Standard Regions, "st
Implementation.note: Numericaldi!erentiation in "st:Quadrilateral andtriangular regions.
Quadrilateral Region
To di#erentiate an expansion within the standard quadrilateral region Q2 of the form:
u!(!1, !2) =P1!
p=0
P2!
q=0
upq"pq(!1, !2),
we first represent the function in terms of Lagrange polynomials so
u!(!1, !2) =Q1"1!
p=0
Q2"1!
q=0
upq hp(!1)hq(!2),
xi = !i("1, "2) =p=P1!
p=0
q=P2!
q=0
xipq#pq("1, "2)
x1
x2
!1 (1)
!2 (2)
x1 (3)
x2 (4)
u!(x1, x2) =P1!
p=0
P2!
q=0
upq"pq(x1, x2) (5)
u!(x1, x2) =Nel!
e=1
"
P1!
p=0
P2!
q=0
uepq"
epq(x1, x2)
#
(6)
(7)
1
LocalRegionsSpatialDomainsStdRegions
MultiRegions
=
Φif∗dx =
nel
e
p
Ωe
φp(x)f∗dx
!1 (1)
!2 (2)
x1 (3)
x2 (4)
u!(x1, x2) =P1!
p=0
P2!
q=0
upq"pq(x1, x2) (5)
(6)
1
A
B
=nel
e
p
Ωe
φp(χe(ξ))f∗Jedξ
Libraries to operator mapping
=nel
e
p
Ωe
φp(χe(ξ))f∗Jedξ
i
vj
j
l
0
∂ΦHi∂x
∂ΦHj∂x
+ λΦHi ΦHj
uj dx =
ΦHi f∗dx
f [i]
C
D
!1 (1)
!2 (2)
(3)
1
!1 (1)
!2 (2)
(3)
1
A B
CD
Ch. 3 Multi-dimensional Formulation 105
where
u!p =
P!
q=0
uq#hq
#!(!)
"""""p
.
This is very significant when calculating non-linear terms such as the advection operator inthe Navier-Stokes equation. For example, to determine the value of the non-linear product
u!(!)#u!
#!(!)
at a point !i we have:
u!(!i)#u!
#!(!i) =
#P!
p=0
uphp(!i)
$#P!
q=0
uq#hq
#!(!i)
$
=
#P!
p=0
uphp(!i)
$#P!
q=0
u!qhq(!i)
$
.
Since hp(!i) = $pi and hq(!i) = $qi then
u!(!i)#u!
#!(!i) = uiu
!i.
Finally, we can represent our nonlinear product in terms of an expansion of Lagrange poly-nomials as
u!(!)#u!
#!(!) !
P!
p=0
upu!php(!).
We note however that if u!(!) is a polynomial of order P then the non-linear product
u!(!)#u!
#" (!) is a polynomial of order (2P " 1) and so it cannot be exactly represented by
the Lagrange polynomial expansion of order P . At the nodal points the coe!cient upu!p will
be identical to the value of u!(!p)#u!
#" (!p). Nevertheless, projecting the non-linear terms toa lower polynomial order in this fashion can lead to aliasing errors as discussed in section1.4.1.2.
Although this example is in one-dimension, the same properties apply in multiple di-mensions provided the expansion can be represented by a tensor product of Lagrange poly-nomials. Using the collapsed Cartesian coordinates systems described in section 2.2.1 itis possible to represent any polynomial expansion as a tensor product of one-dimensionalLagrange polynomials.
3.1.2.1 Two Dimensions Di!erentiation in the Standard Regions, "st
Implementation.note: Numericaldi!erentiation in "st:Quadrilateral andtriangular regions.
Quadrilateral Region
To di#erentiate an expansion within the standard quadrilateral region Q2 of the form:
u!(!1, !2) =P1!
p=0
P2!
q=0
upq"pq(!1, !2),
we first represent the function in terms of Lagrange polynomials so
u!(!1, !2) =Q1"1!
p=0
Q2"1!
q=0
upq hp(!1)hq(!2),
Ch. 3 Multi-dimensional Formulation 111
!1
!2
x1
x2
xi = fiA(!1)
xi = fiC(!1)
xi = fiD(!2)
xi = fi
B(!2)
!1
!2 "i(!1,!2)
Figure 3.4 A general curved element can be described in terms of a series of parametric functionsfA(!1), fB(!2), fC(!1), and fD(!2). Representing these functions as a discrete expansion we canconstruct an iso-parametric mapping "i(!1, !2) relating the standard region (!1, !2) to the deformedregion (x1, x2).
the hierarchical modal expansion. For example, a quadrilateral domain of the form shownin figure 3.2(b) the mapping can be defined by equation (3.37).
We note that this simply involves the vertex modes of the modified hierarchical expansionbasis within a quadrilateral domain (see section 2.1.1). We could, therefore, have writtenthe expansion as
xi = !i("1, "2) =p=P1!
p=0
q=P2!
q=0
xipq#pq("1, "2) (3.38)
where #pq = $ap ("1)$a
q ("2) and xipq = 0 except for the vertex modes which have a value of
xi00 = xA
i xiP10 = xB
i xiP1P2
= xCi xi
0P2= xD
i .
The construction of a mapping based upon the expansion modes in this form can beextended to include curved sided regions using an isoparametric representation. In thistechnique the geometry is represented with an expansion of the same form and polynomialorder as the unknown variables.
To describe a straight-sided region we needed only to know the values of the vertexlocations. To describe a curved region, however, requires more information. As illustratedin figure 3.4, we typically expect to have a definition of a mapping of the shape of each edgein terms of the local coordinates which we denote as fA
i ("1), fBi ("2), fC
i ("1) and fDi ("2). The
process of defining the mapping functions can be considered as part of the mesh generationprocess, the discussion of which is in section 3.3.3.
Knowing the definition of the edges (or faces in three-dimensions) a mapping for acurvilinear domains can be determined using the isoparametric form of equation (3.38)to include more non-zero expansion coe!cients than simply the vertex contributions. Intwo-dimensions we wish to use the coe!cient along each edge of the element, and in three-dimensions we can use the face coe!cients as well. Along each edge we therefore need toapproximate the shape mapping fi(") if it is not already represented by a polynomial of
x1
x2
!1 (1)
!2 (2)
x1 (3)
x2 (4)
u!(x1, x2) =P1!
p=0
P2!
q=0
upq"pq(x1, x2) (5)
u!(x1, x2) =Nel!
e=1
"
P1!
p=0
P2!
q=0
uepq"
epq(x1, x2)
#
(6)
(7)
1
LocalRegionsSpatialDomainsStdRegions
MultiRegions
=
Φif∗dx =
nel
e
p
Ωe
φp(x)f∗dx
!1 (1)
!2 (2)
x1 (3)
x2 (4)
u!(x1, x2) =P1!
p=0
P2!
q=0
upq"pq(x1, x2) (5)
(6)
1
A
B
Libraries to operator mapping
Nektar++ code
C
D
!1 (1)
!2 (2)
(3)
1
!1 (1)
!2 (2)
(3)
1
A B
CD
Ch. 3 Multi-dimensional Formulation 105
where
u!p =
P!
q=0
uq#hq
#!(!)
"""""p
.
This is very significant when calculating non-linear terms such as the advection operator inthe Navier-Stokes equation. For example, to determine the value of the non-linear product
u!(!)#u!
#!(!)
at a point !i we have:
u!(!i)#u!
#!(!i) =
#P!
p=0
uphp(!i)
$#P!
q=0
uq#hq
#!(!i)
$
=
#P!
p=0
uphp(!i)
$#P!
q=0
u!qhq(!i)
$
.
Since hp(!i) = $pi and hq(!i) = $qi then
u!(!i)#u!
#!(!i) = uiu
!i.
Finally, we can represent our nonlinear product in terms of an expansion of Lagrange poly-nomials as
u!(!)#u!
#!(!) !
P!
p=0
upu!php(!).
We note however that if u!(!) is a polynomial of order P then the non-linear product
u!(!)#u!
#" (!) is a polynomial of order (2P " 1) and so it cannot be exactly represented by
the Lagrange polynomial expansion of order P . At the nodal points the coe!cient upu!p will
be identical to the value of u!(!p)#u!
#" (!p). Nevertheless, projecting the non-linear terms toa lower polynomial order in this fashion can lead to aliasing errors as discussed in section1.4.1.2.
Although this example is in one-dimension, the same properties apply in multiple di-mensions provided the expansion can be represented by a tensor product of Lagrange poly-nomials. Using the collapsed Cartesian coordinates systems described in section 2.2.1 itis possible to represent any polynomial expansion as a tensor product of one-dimensionalLagrange polynomials.
3.1.2.1 Two Dimensions Di!erentiation in the Standard Regions, "st
Implementation.note: Numericaldi!erentiation in "st:Quadrilateral andtriangular regions.
Quadrilateral Region
To di#erentiate an expansion within the standard quadrilateral region Q2 of the form:
u!(!1, !2) =P1!
p=0
P2!
q=0
upq"pq(!1, !2),
we first represent the function in terms of Lagrange polynomials so
u!(!1, !2) =Q1"1!
p=0
Q2"1!
q=0
upq hp(!1)hq(!2),
Ch. 3 Multi-dimensional Formulation 111
!1
!2
x1
x2
xi = fiA(!1)
xi = fiC(!1)
xi = fiD(!2)
xi = fi
B(!2)
!1
!2 "i(!1,!2)
Figure 3.4 A general curved element can be described in terms of a series of parametric functionsfA(!1), fB(!2), fC(!1), and fD(!2). Representing these functions as a discrete expansion we canconstruct an iso-parametric mapping "i(!1, !2) relating the standard region (!1, !2) to the deformedregion (x1, x2).
the hierarchical modal expansion. For example, a quadrilateral domain of the form shownin figure 3.2(b) the mapping can be defined by equation (3.37).
We note that this simply involves the vertex modes of the modified hierarchical expansionbasis within a quadrilateral domain (see section 2.1.1). We could, therefore, have writtenthe expansion as
xi = !i("1, "2) =p=P1!
p=0
q=P2!
q=0
xipq#pq("1, "2) (3.38)
where #pq = $ap ("1)$a
q ("2) and xipq = 0 except for the vertex modes which have a value of
xi00 = xA
i xiP10 = xB
i xiP1P2
= xCi xi
0P2= xD
i .
The construction of a mapping based upon the expansion modes in this form can beextended to include curved sided regions using an isoparametric representation. In thistechnique the geometry is represented with an expansion of the same form and polynomialorder as the unknown variables.
To describe a straight-sided region we needed only to know the values of the vertexlocations. To describe a curved region, however, requires more information. As illustratedin figure 3.4, we typically expect to have a definition of a mapping of the shape of each edgein terms of the local coordinates which we denote as fA
i ("1), fBi ("2), fC
i ("1) and fDi ("2). The
process of defining the mapping functions can be considered as part of the mesh generationprocess, the discussion of which is in section 3.3.3.
Knowing the definition of the edges (or faces in three-dimensions) a mapping for acurvilinear domains can be determined using the isoparametric form of equation (3.38)to include more non-zero expansion coe!cients than simply the vertex contributions. Intwo-dimensions we wish to use the coe!cient along each edge of the element, and in three-dimensions we can use the face coe!cients as well. Along each edge we therefore need toapproximate the shape mapping fi(") if it is not already represented by a polynomial of
x1
x2
!1 (1)
!2 (2)
x1 (3)
x2 (4)
u!(x1, x2) =P1!
p=0
P2!
q=0
upq"pq(x1, x2) (5)
u!(x1, x2) =Nel!
e=1
"
P1!
p=0
P2!
q=0
uepq"
epq(x1, x2)
#
(6)
(7)
1
LocalRegionsSpatialDomainsStdRegions
MultiRegions !1 (1)
!2 (2)
x1 (3)
x2 (4)
u!(x1, x2) =P1!
p=0
P2!
q=0
upq"pq(x1, x2) (5)
(6)
1
A
B
StdSegExp
StdTriExp
Std
Regio
ns
libra
ryLocalR
egio
ns
libra
ry
objecs of these classes contain:
SegExp QuadExp
TriExp
HexExp
PrismExp
PyrExp
TetExp
ExpList3D
ExpList
ExpList1D
this library contains:
• linear algebra routines• block-matrix routines• data managers and memory pools• polynomial manipulation routines
several utilities supporting the other libraries
Spati
alD
om
ain
slibra
ry
the geometry of an element• data: ! a standard expansion (a parametrix mapping from a standard
objects of these classes contain:
Geometry
HexGeom
TetGeom
Mult
iRegio
ns
libra
ry
• data: ! a list of local elemental expansions• da for the classes ContExpList iD, ContField iD, DisContField iD:• data: ! the global coe!cients ug
• data: ! a mapping array from the local to the global degrees of freedom
objects of these classes contain:
• da for the classes ContField iD, DisContField iD:• data: ! information about the boundary conditions
• data: ! the basis !p(!i)
expansion on local element u(xi) =!
p !p(xi)up
• data: ! the coe!cients up
• data: ! the geometry of the element
• data: ! the basis !p(xi)
• data: ! the physical values u(xi)
expansion on a global region u(xi) =!
e
!p !e
p(xi)uep
• data: ! to the local element, which entirely describes the geometry)• data: ! the geometric factors of the transformation (Jacobian, ...)
objects of these
• data: ! the physical values u(!i)• data: ! the coe!cients up
classes contain:expansion on standard element u(!i) =
!p !p(!i)up
Lib
Utilities
libra
ry
DisContField2D DisContField3DDisContField1D
ContField1D ContField2D ContField3D
ContExpList3DContExpList2DContExpList1D
ExpList2D
StdExpansion3D
StdHexExp
StdPyrExp
StdQuadExp
EdgeComp
SegGeom QuadGeom
TriGeom
PrismGeom
PyrGeom
VertexComp
TriFaceComp
Geometry3DGeometry2DGeometry1D
StdExpansion
StdPrismExp
StdTetExp
QuadFaceComp
StdExpansion2DStdExpansion1D
StdSegExp
StdTriExp
Std
Regio
ns
libra
ryLocalR
egio
ns
libra
ry
objecs of these classes contain:
SegExp QuadExp
TriExp
HexExp
PrismExp
PyrExp
TetExp
ExpList3D
ExpList
ExpList1D
this library contains:
• linear algebra routines• block-matrix routines• data managers and memory pools• polynomial manipulation routines
several utilities supporting the other libraries
Spati
alD
om
ain
slibra
ry
the geometry of an element• data: ! a standard expansion (a parametrix mapping from a standard
objects of these classes contain:
Geometry
HexGeom
TetGeom
Mult
iRegio
ns
libra
ry
• data: ! a list of local elemental expansions• da for the classes ContExpList iD, ContField iD, DisContField iD:• data: ! the global coe!cients ug
• data: ! a mapping array from the local to the global degrees of freedom
objects of these classes contain:
• da for the classes ContField iD, DisContField iD:• data: ! information about the boundary conditions
• data: ! the basis !p(!i)
expansion on local element u(xi) =!
p !p(xi)up
• data: ! the coe!cients up
• data: ! the geometry of the element
• data: ! the basis !p(xi)
• data: ! the physical values u(xi)
expansion on a global region u(xi) =!
e
!p !e
p(xi)uep
• data: ! to the local element, which entirely describes the geometry)• data: ! the geometric factors of the transformation (Jacobian, ...)
objects of these
• data: ! the physical values u(!i)• data: ! the coe!cients up
classes contain:expansion on standard element u(!i) =
!p !p(!i)up
Lib
Utilities
libra
ry
DisContField2D DisContField3DDisContField1D
ContField1D ContField2D ContField3D
ContExpList3DContExpList2DContExpList1D
ExpList2D
StdExpansion3D
StdHexExp
StdPyrExp
StdQuadExp
EdgeComp
SegGeom QuadGeom
TriGeom
PrismGeom
PyrGeom
VertexComp
TriFaceComp
Geometry3DGeometry2DGeometry1D
StdExpansion
StdPrismExp
StdTetExp
QuadFaceComp
StdExpansion2DStdExpansion1D
Linear stability analysis
• Eigenvalues from inverse linearised operator
• Time steppers approach to linearised eigenvalues
• Transient growth of linearised operator
base flow + perturbation
Linearised Navier-Stokes
!tu! = !UN(u!) + L(u!)
keep terms linear in
u!· !U + U · !u
!
non-symmetric
ut = L(U, t)u (∇ · u = 0)
Linear system:
u(x, τ) = A(U, τ)u(x, 0)Integrate in time:
A(U, τ) = exp τ
0L(U, t)dt
Direct inversion of linearised Navier-Stokes system(Ainsworth & Sherwin, CMAME, 1999 / Sherwin & Ainsworth APNUM 2000)
Coupled linearised Navier-Stokes solvers
Consider the linearised Navier-Stokes element matrix denoted as!
"
A DTbnd B
Dbnd 0 DTint
BT Dint C
#
$
!
"
vbnd
pvint
#
$ =
!
"
fbnd
0fint
#
$ (1)
where vbnd denote the degrees of freedom of the elemental velocities on theboundary of the element, vint denote the degrees of freedom of the elemen-tal velocities on the interior of the element and p is the piecewise continuouspressure. The matrices have the interpretation
A[n,m] = (!!bn, "!!b
m) + (!bn,U ·!!b
m) + (!bn!
TU!b
m)
B[n,m] = (!!bn, "!!i
m) + (!bn,U ·!!i
m) + (!bn!
TU!i
m)
BT [n,m] = (!!in, "!!b
m) + (!in,U ·!!b
m) + (!in!
TU!b
m)
C[n,m] = (!!in, "!!i
m) + (!in,U ·!!i
m) + (!in!
TU!i
m)
Dbnd[n,m] = (#m,!!b)
Dint[n,m] = (#m,!!i)
where # is the space of pressures typically at order P " 2 and ! is the velocityvector space of polynomial order P . (To be strictly correct probably have tobreak matrices A,B,C into sub-blocks to use the above definitions).
Note B = BT if just considering the stokes operator and then C is alsosymmetric. Also note A,B and C are block diagonal in the Oseen equationwhen the !TU are zero.
Since C is invertible we can premultiply the elemental equation (1)by thefollowing,
!
"
I 0 "BC!1
0 I DTintC
!1
0 0 I
#
$
%
&
'
!
"
A DTbnd B
Dbnd 0 DTint
BT Dint C
#
$
!
"
vbnd
pvint
#
$ =
!
"
fbnd
0fint
#
$
(
)
*
(2)
which if we multiply out the matrix equation we obtain
!
"
A"BC!1BT DTbnd "BC!1Dint 0
Dbnd "DTintC
!1BT "DTintC
!1Dint 0BT Dint C
#
$
!
"
vbnd
pvint
#
$ =
!
"
fbnd "BC!1fint
fp = "DTintC
!1fint
fint
#
$
(3)In the above equation the vint degrees of freedom are decoupled and so we
need to solve for the vbnd, p degrees of freedom. The final step is to perform asecond level of static condensation but where we will lump the mean pressuremode (or a pressure degree of freedom containing a mean component) with thevelocity boundary degrees of freedom. To do we define b = [vbnd, p0] where p0is the mean pressure mode and p to be the remainder of the pressure space. Wenow repartition the top 2# 2 block of matrices in (3) as
+
A B
DT C
, +
b
p
,
=
+
fbnd
fp
,
(4)
1
Coupled linearised Navier-Stokes solvers
Consider the linearised Navier-Stokes element matrix denoted as!
"
A DTbnd B
Dbnd 0 DTint
BT Dint C
#
$
!
"
vbnd
pvint
#
$ =
!
"
fbnd
0fint
#
$ (1)
where vbnd denote the degrees of freedom of the elemental velocities on theboundary of the element, vint denote the degrees of freedom of the elemen-tal velocities on the interior of the element and p is the piecewise continuouspressure. The matrices have the interpretation
A[n,m] = (!!bn, "!!b
m) + (!bn,U ·!!b
m) + (!bn!
TU!b
m)
B[n,m] = (!!bn, "!!i
m) + (!bn,U ·!!i
m) + (!bn!
TU!i
m)
BT [n,m] = (!!in, "!!b
m) + (!in,U ·!!b
m) + (!in!
TU!b
m)
C[n,m] = (!!in, "!!i
m) + (!in,U ·!!i
m) + (!in!
TU!i
m)
Dbnd[n,m] = (#m,!!b)
Dint[n,m] = (#m,!!i)
where # is the space of pressures typically at order P " 2 and ! is the velocityvector space of polynomial order P . (To be strictly correct probably have tobreak matrices A,B,C into sub-blocks to use the above definitions).
Note B = BT if just considering the stokes operator and then C is alsosymmetric. Also note A,B and C are block diagonal in the Oseen equationwhen the !TU are zero.
Since C is invertible we can premultiply the elemental equation (1)by thefollowing,
!
"
I 0 "BC!1
0 I DTintC
!1
0 0 I
#
$
%
&
'
!
"
A DTbnd B
Dbnd 0 DTint
BT Dint C
#
$
!
"
vbnd
pvint
#
$ =
!
"
fbnd
0fint
#
$
(
)
*
(2)
which if we multiply out the matrix equation we obtain
!
"
A"BC!1BT DTbnd "BC!1Dint 0
Dbnd "DTintC
!1BT "DTintC
!1Dint 0BT Dint C
#
$
!
"
vbnd
pvint
#
$ =
!
"
fbnd "BC!1fint
fp = "DTintC
!1fint
fint
#
$
(3)In the above equation the vint degrees of freedom are decoupled and so we
need to solve for the vbnd, p degrees of freedom. The final step is to perform asecond level of static condensation but where we will lump the mean pressuremode (or a pressure degree of freedom containing a mean component) with thevelocity boundary degrees of freedom. To do we define b = [vbnd, p0] where p0is the mean pressure mode and p to be the remainder of the pressure space. Wenow repartition the top 2# 2 block of matrices in (3) as
+
A B
DT C
, +
b
p
,
=
+
fbnd
fp
,
(4)
1
Coupled linearised Navier-Stokes solvers
Consider the linearised Navier-Stokes element matrix denoted as!
"
A DTbnd B
Dbnd 0 DTint
BT Dint C
#
$
!
"
vbnd
pvint
#
$ =
!
"
fbnd
0fint
#
$ (1)
where vbnd denote the degrees of freedom of the elemental velocities on theboundary of the element, vint denote the degrees of freedom of the elemen-tal velocities on the interior of the element and p is the piecewise continuouspressure. The matrices have the interpretation
A[n,m] = (!!bn, "!!b
m) + (!bn,U ·!!b
m) + (!bn!
TU!b
m)
B[n,m] = (!!bn, "!!i
m) + (!bn,U ·!!i
m) + (!bn!
TU!i
m)
BT [n,m] = (!!in, "!!b
m) + (!in,U ·!!b
m) + (!in!
TU!b
m)
C[n,m] = (!!in, "!!i
m) + (!in,U ·!!i
m) + (!in!
TU!i
m)
Dbnd[n,m] = (#m,!!b)
Dint[n,m] = (#m,!!i)
where # is the space of pressures typically at order P " 2 and ! is the velocityvector space of polynomial order P . (To be strictly correct probably have tobreak matrices A,B,C into sub-blocks to use the above definitions).
Note B = BT if just considering the stokes operator and then C is alsosymmetric. Also note A,B and C are block diagonal in the Oseen equationwhen the !TU are zero.
Since C is invertible we can premultiply the elemental equation (1)by thefollowing,
!
"
I 0 "BC!1
0 I DTintC
!1
0 0 I
#
$
%
&
'
!
"
A DTbnd B
Dbnd 0 DTint
BT Dint C
#
$
!
"
vbnd
pvint
#
$ =
!
"
fbnd
0fint
#
$
(
)
*
(2)
which if we multiply out the matrix equation we obtain
!
"
A"BC!1BT DTbnd "BC!1Dint 0
Dbnd "DTintC
!1BT "DTintC
!1Dint 0BT Dint C
#
$
!
"
vbnd
pvint
#
$ =
!
"
fbnd "BC!1fint
fp = "DTintC
!1fint
fint
#
$
(3)In the above equation the vint degrees of freedom are decoupled and so we
need to solve for the vbnd, p degrees of freedom. The final step is to perform asecond level of static condensation but where we will lump the mean pressuremode (or a pressure degree of freedom containing a mean component) with thevelocity boundary degrees of freedom. To do we define b = [vbnd, p0] where p0is the mean pressure mode and p to be the remainder of the pressure space. Wenow repartition the top 2# 2 block of matrices in (3) as
+
A B
DT C
, +
b
p
,
=
+
fbnd
fp
,
(4)
1
=
Spectral/hp element methods Sec. 4: Spectral/hp elements in 2D
!pq("1,"2) = #p("1) #q("2)
#p("1)
"1
"2
#q("2)
p
q
p
qa
a
a a
!pq("1,"2) = hp("1) hq("2)
hp("1)
"1
"2
hq("2)
p
q
p
q
Figure 17: Construction of a two-dimensional expansion basis from the tensor product of twoone-dimensional expansions of order P = 4. A modal expansion (top) and a nodalexpansion (bottom) are shown.
expansion. Since a large part of the e!ciency of the quadrilateral expansion (particu-larly at larger polynomial orders) arises from the tensor product construction, we wouldlike to use a similar procedure to construct expansions within the triangular domains.Therefore, to extend the tensor product expansion to simplex regions such as a trianglewe need to generalise the tensor product expansion concept, which can be achieved byusing a collapsed coordinate system.
4.1.3 Collapsed coordinate system
In this section we will focus on 2D expansions defined on the standard triangle Tst,defined as
Tst = (!1 , !2)|! 1 " !1 , !2 ; !1 + !2 " 0 .
In the quadrilateral expansions discussed in section 4.1.1 we generated a multidi-mensional expansion by forming a tensor product of one-dimensional expansions basedon a Cartesian coordinate system. The one-dimensional expansion was defined betweenconstant limits and therefore an implicit assumption of the tensor extension was that thecoordinates in the two-dimensional region were bounded between constant limits. How-ever this is not the case in the standard triangular region as the bounds of the Cartesiancoordinates (!1, !2) are dependent upon each other.
4-2
v = Spectral/hp element methods Sec. 4: Spectral/hp elements in 2D
!pq("1,"2) = #p("1) #q("2)
#p("1)
"1
"2
#q("2)
p
q
p
qa
a
a a
!pq("1,"2) = hp("1) hq("2)
hp("1)
"1
"2
hq("2)
p
q
p
q
Figure 17: Construction of a two-dimensional expansion basis from the tensor product of twoone-dimensional expansions of order P = 4. A modal expansion (top) and a nodalexpansion (bottom) are shown.
expansion. Since a large part of the e!ciency of the quadrilateral expansion (particu-larly at larger polynomial orders) arises from the tensor product construction, we wouldlike to use a similar procedure to construct expansions within the triangular domains.Therefore, to extend the tensor product expansion to simplex regions such as a trianglewe need to generalise the tensor product expansion concept, which can be achieved byusing a collapsed coordinate system.
4.1.3 Collapsed coordinate system
In this section we will focus on 2D expansions defined on the standard triangle Tst,defined as
Tst = (!1 , !2)|! 1 " !1 , !2 ; !1 + !2 " 0 .
In the quadrilateral expansions discussed in section 4.1.1 we generated a multidi-mensional expansion by forming a tensor product of one-dimensional expansions basedon a Cartesian coordinate system. The one-dimensional expansion was defined betweenconstant limits and therefore an implicit assumption of the tensor extension was that thecoordinates in the two-dimensional region were bounded between constant limits. How-ever this is not the case in the standard triangular region as the bounds of the Cartesiancoordinates (!1, !2) are dependent upon each other.
4-2
p =
Coupled linearised Navier-Stokes solvers
Consider the linearised Navier-Stokes element matrix denoted as!
"
A DTbnd B
Dbnd 0 DTint
BT Dint C
#
$
!
"
vbnd
pvint
#
$ =
!
"
fbnd
0fint
#
$ (1)
where vbnd denote the degrees of freedom of the elemental velocities on theboundary of the element, vint denote the degrees of freedom of the elemen-tal velocities on the interior of the element and p is the piecewise continuouspressure. The matrices have the interpretation
A[n,m] = (!!bn, "!!b
m) + (!bn,U ·!!b
m) + (!bn!
TU!b
m)
B[n,m] = (!!bn, "!!i
m) + (!bn,U ·!!i
m) + (!bn!
TU!i
m)
BT [n,m] = (!!in, "!!b
m) + (!in,U ·!!b
m) + (!in!
TU!b
m)
C[n,m] = (!!in, "!!i
m) + (!in,U ·!!i
m) + (!in!
TU!i
m)
Dbnd[n,m] = (#m,!!b)
Dint[n,m] = (#m,!!i)
where # is the space of pressures typically at order P " 2 and ! is the velocityvector space of polynomial order P . (To be strictly correct probably have tobreak matrices A,B,C into sub-blocks to use the above definitions).
Note B = BT if just considering the stokes operator and then C is alsosymmetric. Also note A,B and C are block diagonal in the Oseen equationwhen the !TU are zero.
Since C is invertible we can premultiply the elemental equation (1)by thefollowing,
!
"
I 0 "BC!1
0 I DTintC
!1
0 0 I
#
$
%
&
'
!
"
A DTbnd B
Dbnd 0 DTint
BT Dint C
#
$
!
"
vbnd
pvint
#
$ =
!
"
fbnd
0fint
#
$
(
)
*
(2)
which if we multiply out the matrix equation we obtain
!
"
A"BC!1BT DTbnd "BC!1Dint 0
Dbnd "DTintC
!1BT "DTintC
!1Dint 0BT Dint C
#
$
!
"
vbnd
pvint
#
$ =
!
"
fbnd "BC!1fint
fp = "DTintC
!1fint
fint
#
$
(3)In the above equation the vint degrees of freedom are decoupled and so we
need to solve for the vbnd, p degrees of freedom. The final step is to perform asecond level of static condensation but where we will lump the mean pressuremode (or a pressure degree of freedom containing a mean component) with thevelocity boundary degrees of freedom. To do we define b = [vbnd, p0] where p0is the mean pressure mode and p to be the remainder of the pressure space. Wenow repartition the top 2# 2 block of matrices in (3) as
+
A B
DT C
, +
b
p
,
=
+
fbnd
fp
,
(4)
1
Coupled linearised Navier-Stokes solvers
Consider the linearised Navier-Stokes element matrix denoted as!
"
A DTbnd B
Dbnd 0 DTint
BT Dint C
#
$
!
"
vbnd
pvint
#
$ =
!
"
fbnd
0fint
#
$ (1)
where vbnd denote the degrees of freedom of the elemental velocities on theboundary of the element, vint denote the degrees of freedom of the elemen-tal velocities on the interior of the element and p is the piecewise continuouspressure. The matrices have the interpretation
A[n,m] = (!!bn, "!!b
m) + (!bn,U ·!!b
m) + (!bn!
TU!b
m)
B[n,m] = (!!bn, "!!i
m) + (!bn,U ·!!i
m) + (!bn!
TU!i
m)
BT [n,m] = (!!in, "!!b
m) + (!in,U ·!!b
m) + (!in!
TU!b
m)
C[n,m] = (!!in, "!!i
m) + (!in,U ·!!i
m) + (!in!
TU!i
m)
Dbnd[n,m] = (#m,!!b)
Dint[n,m] = (#m,!!i)
where # is the space of pressures typically at order P " 2 and ! is the velocityvector space of polynomial order P . (To be strictly correct probably have tobreak matrices A,B,C into sub-blocks to use the above definitions).
Note B = BT if just considering the stokes operator and then C is alsosymmetric. Also note A,B and C are block diagonal in the Oseen equationwhen the !TU are zero.
Since C is invertible we can premultiply the elemental equation (1)by thefollowing,
!
"
I 0 "BC!1
0 I DTintC
!1
0 0 I
#
$
%
&
'
!
"
A DTbnd B
Dbnd 0 DTint
BT Dint C
#
$
!
"
vbnd
pvint
#
$ =
!
"
fbnd
0fint
#
$
(
)
*
(2)
which if we multiply out the matrix equation we obtain
!
"
A"BC!1BT DTbnd "BC!1Dint 0
Dbnd "DTintC
!1BT "DTintC
!1Dint 0BT Dint C
#
$
!
"
vbnd
pvint
#
$ =
!
"
fbnd "BC!1fint
fp = "DTintC
!1fint
fint
#
$
(3)In the above equation the vint degrees of freedom are decoupled and so we
need to solve for the vbnd, p degrees of freedom. The final step is to perform asecond level of static condensation but where we will lump the mean pressuremode (or a pressure degree of freedom containing a mean component) with thevelocity boundary degrees of freedom. To do we define b = [vbnd, p0] where p0is the mean pressure mode and p to be the remainder of the pressure space. Wenow repartition the top 2# 2 block of matrices in (3) as
+
A B
DT C
, +
b
p
,
=
+
fbnd
fp
,
(4)
1
Static condensation:
Smallest eigenvalues of L is largest eigenvalue of L-1
Spectral/hp element methods Sec. 4: Spectral/hp elements in 2D
!pq("1,"2) = #p("1) #q("2)
#p("1)
"1
"2
#q("2)
p
q
p
qa
a
a a
!pq("1,"2) = hp("1) hq("2)
hp("1)
"1
"2
hq("2)
p
q
p
q
Figure 17: Construction of a two-dimensional expansion basis from the tensor product of twoone-dimensional expansions of order P = 4. A modal expansion (top) and a nodalexpansion (bottom) are shown.
expansion. Since a large part of the e!ciency of the quadrilateral expansion (particu-larly at larger polynomial orders) arises from the tensor product construction, we wouldlike to use a similar procedure to construct expansions within the triangular domains.Therefore, to extend the tensor product expansion to simplex regions such as a trianglewe need to generalise the tensor product expansion concept, which can be achieved byusing a collapsed coordinate system.
4.1.3 Collapsed coordinate system
In this section we will focus on 2D expansions defined on the standard triangle Tst,defined as
Tst = (!1 , !2)|! 1 " !1 , !2 ; !1 + !2 " 0 .
In the quadrilateral expansions discussed in section 4.1.1 we generated a multidi-mensional expansion by forming a tensor product of one-dimensional expansions basedon a Cartesian coordinate system. The one-dimensional expansion was defined betweenconstant limits and therefore an implicit assumption of the tensor extension was that thecoordinates in the two-dimensional region were bounded between constant limits. How-ever this is not the case in the standard triangular region as the bounds of the Cartesiancoordinates (!1, !2) are dependent upon each other.
4-2
vbnd
vint
Restarted Eigenvalue algorithm (IJNMF 08)ARPACK: http://www.caam.rice.edu/software/ARPACK/
3. Use LAPACK to calculate eigensystem of H
1. Generate a Krylov subspace T
2. QR factorize T and Calculate Hessenberg matrix H:
In practice use a fixed Kmax.If iteration exceeds Kmax, then discard oldest vector , i.e. restart with second oldest vector.
Wake transition in staggered arrangements 9
The action of operator A on the perturbation u
was computed by integrating the
linearized Navier-Stokes equations, using the same schemes that were used to compute
the base flow. Two changes were necessary in the integration algorithm. The first was that
a linear operator (−(U.∇)u−(u
.∇)U) had to be used to calculate the advection terms.
In this operator, the values of U were computed by means of a Fourier interpolation of the
time slices resulting from the base flow calculation. The second change was to replace the
operator ∇ by (∂/∂x, ∂/∂y,−iβ), and compute the three velocity components (u, v, w)
and p on the two-dimensional domains.
The Arnoldi method was used to compute the Floquet multipliers of largest magnitude.
We briefly describe this method here; for a more complete discussion the reader should
refer to Saad (1992). Essentially, this is an orthogonal projection method of a matrix A
on to a k-dimensional Krylov subspace Kk ≡ spanu,Au,A2
u, . . . ,Ak−1u. Given an
orthonormal basis Qk = [v0|v1| . . . |vk−1] of the Krylov subspace Kk, it is possible to
decompose the matrix A in the following way:
AQk = QkHk + hk,k−1vkeH
k−1. (2.10)
Hk is a Hessenberg matrix, whose component on row i and column j is denoted as hi,j ,
vk is a unitary vector orthogonal to the basis Qk and ek−1 is a versor pointing in the
direction of the k− 1 component. Multiplying both sides of eq. (2.10) on the left by QH
k
and using the fact that Qk is orthonormal results in
QH
kAQk = Hk. (2.11)
The eigenvalues λ(k)i
of the Hessenberg matrix Hk are approximations of the eigenvalues
of the matrix A, and the approximate eigenvector of A associated with λ(k)i
, also called
the Ritz eigenvector, can be calculated using the expression
w(k)i
= Qkyk
i, (2.12)
λk(A) ≈ λmax(Hk) wmax ≈ Qk ymax
Timestepper stability analysisTuckerman & Barkley (2000), Barkley & Henderson (1996)
Asymptotic instability if:
If is periodic, are Floquet multipliers
equivalently
where
Note: maxi
µi ⇒ maxi
Re(λi)
N(u) = u ·∇u
Pressure Poisson:
∇2pn+1 =1
∆t∇ · u∗
Navier-Stokes Time-stepping∂tu + N(u) = −∇p + ν∇2u
Navier–Stokes:
Velocity correction scheme (aka stiffly stable):Orszag, Israeli, Deville (90), Karnaidakis Israeli, Orszag (1991), Guermond & Shen (2003)
Helmholtz: ∇2un+1 − α0
ν∆tun+1 = − u∗
ν∆t+
1ν∇pn+1
u ·∇u
ν∇2u−∇p = f∇ · u = 0
un
un+1
n = n + 1
u∗
∇ · u = 0
Advection: u∗ = −J
q=1
αqun−q −∆tJ−1
q=0
βqN(un−q)
Transient growth: optimal perturbationsEnergy of perturbations over time τ
Recall:
G(τ)
G(τ)
Equivalent to eigenvalue problem:
G(τ)
G(τ)
Transient growth: optimal perturbations
⇒ λmax = [SV Dmax(A)]2
H∗H
Direct optimal growth analysis for timesteppers, Barkley, D, Blackburn, H.M, Sherwin, S.J , International Journal for Numerical Methods in Fluids, Vol: 57, pages: 1435-145 , 2008
Direct inversion vs. Time stepping.
Direct invert Time stepping
Linear eigenvalue steady base flow
Yes (quick)might need shifting
Yes (slow)Exp. method finds leading eigenvalue
Adjoint eigenvalue steady base flow
Yes (quick)might need shifting
Yes (slow) Exp. method finds leading eigenvalue
Linear Floquet mode about unsteady base
flow No Yes
Transient growth No Yes
Test cases
Backward facing step:
Cylinder flow:
Channel flow:
-4 -2 0 2 4-1
0
1
A few papersNumerical methods: - Direct optimal growth analysis for timesteppers, Barkley, D, Blackburn, H.M, Sherwin, S.J , International Journal for Numerical Methods in Fluids, Vol: 57, 1435-145 , 2008
Cylinder flow papers: - Secondary instabilities in the flow around two circular cylinders in tandem, Carmo, B.S., Meneghini, J. Sherwin, S.J., J. Fluid Mech. Vol 644,395-431 , 2010- Wake transition in the flow around two circular cylinders in staggered arrangements, Carmo, B.S, Sherwin, S.J, Bearman, P.W, Willden, R.H.J , Journal of Fluid Mechanics, Vol: 597, 1-29 , 2008
Backward facing step transient growth: - Convective instability and transient growth in flow over a backwards-facing step, Blackburn, H.M, Barkley, D, Sherwin, S.J , Journal of Fluid Mechanics, Vol: 603, 271-304 , 2008
Stenotic flow: - Convective instability and transient growth in steady and pulsatile stenotic flows, Blackburn, H.M, Sherwin, S.J, Barkley, D , Journal of Fluid Mechanics, Vol: 607, 267-277 , 2008- Instability modes and transition of pulsatile stenotic flow: pulse-period dependence, Blackburn, H.M, Sherwin, S.J , Journal of Fluid Mechanics, Vol: 573, 57 , 2007- Three-dimensional instabilities and transition of steady and pulsatile axisymmetric stenotic flows, Sherwin, SJ, Blackburn, HM, , J. Fluid Mechanics, Vol: 533, 297 - 327 , 2005
Low pressure turbine flow: - Transient growth mechanisms of low Reynolds number flow over a low pressure turbine blade, A.S. Sharma, N. Abdessemed, S.J.Sherwin, V. Theofilis, Theo & Comp Fluid Dyn. 25, 19-30 20011 - Linear instability analysis of low pressure turbine flows, N. Abdessemed, S.J. Sherwin, and V. Theofilis, J. Fluid Mech. , 628, 57-83, 2009.