You are on page 1of 112

POLITECNICO DI MILANO

School of Industrial and Information Engineering

Master of Science in Mechanical Engineering

RANS and LES simulations of a turbulent plane jet.

Supervisor at Politecnico di Milano: Prof. Paolo GAETANI


Supervisor at MTU Aero Engines: Eng. Robert KLUXEN

Master thesis of:


Stefano SALERNO
852551

Academic Year 2017 - 2018


Stefano Salerno: RANS and LES simulations of a turbulent plane jet. | Master
Thesis in Mechanical Engineering, Politecnico di Milano.
c Copyright April 2018.

Politecnico di Milano:
www.polimi.it
School of Industrial and Information Engineering:
www.ingindinf.polimi.it
Acknowledgments

First of all I would like to thank my supervisor at MTU Aero Engines eng.
Robert Kluxen, that followed me from the very beginning of this project, offering
me a precious support and being for me example and reference.
I would also like to thank my Professor at Politecnico di Milano prof. Paolo
Gaetani, for being always ready to answer to my questions and for its supervising
of my work.
I am also thankful for the help that I received from many colleges of MTU
Aero Engines, in particular from the other students of my office and from the
OpenFOAM meeting crew.
Finally, I would like to thank my parents, my family and relatives, my girlfriend
and my friends. Without their support and encouragement through all these months
this accomplishment would have not been possible.

Milano, April 2018 Stefano Salerno

iii
Contents

Introduction 1

1 Theory of jets 3
1.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
1.2 Structure of the Jet . . . . . . . . . . . . . . . . . . . . . . . . . . . 3

2 Equations of Fluid Dynamics 7


2.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
2.2 Navier-Stokes equations . . . . . . . . . . . . . . . . . . . . . . . . 7
2.2.1 Continuity equation . . . . . . . . . . . . . . . . . . . . . . . 7
2.2.2 Momentum equation . . . . . . . . . . . . . . . . . . . . . . 8
2.2.3 Energy equation . . . . . . . . . . . . . . . . . . . . . . . . . 9

3 Finite volume method 11


3.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
3.2 Discretization of a transport equation . . . . . . . . . . . . . . . . . 11
3.3 Solution of Navier Stokes equations . . . . . . . . . . . . . . . . . . 16
3.3.1 Pressure equation . . . . . . . . . . . . . . . . . . . . . . . . 17
3.3.2 PISO algorithm . . . . . . . . . . . . . . . . . . . . . . . . . 17
3.3.3 SIMPLE algorithm . . . . . . . . . . . . . . . . . . . . . . . 18
3.3.4 PIMPLE algorithm . . . . . . . . . . . . . . . . . . . . . . . 18

4 Turbulence Models 19
4.1 Introduction to turbulence . . . . . . . . . . . . . . . . . . . . . . . 19
4.2 RANS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
4.2.1 k-ε model . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
4.2.2 k-ω model . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
4.2.3 k-ω SST model . . . . . . . . . . . . . . . . . . . . . . . . . 23
4.3 LES . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
4.3.1 LES filtered Navier Stokes equations . . . . . . . . . . . . . 24
4.3.2 The Smagorinsky model . . . . . . . . . . . . . . . . . . . . 26
4.3.3 Dynamic models . . . . . . . . . . . . . . . . . . . . . . . . 29
4.3.4 WALE model . . . . . . . . . . . . . . . . . . . . . . . . . . 29
4.3.5 k-Equation model . . . . . . . . . . . . . . . . . . . . . . . . 33

v
vi CONTENTS

5 Numerical Results - RANS 35


5.1 First studies . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
5.2 Domain . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
5.3 Mesh . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41
5.3.1 The blocks . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41
5.3.2 Mesh independence test . . . . . . . . . . . . . . . . . . . . 41
5.4 Boundary Conditions . . . . . . . . . . . . . . . . . . . . . . . . . . 44
5.4.1 Initial conditions . . . . . . . . . . . . . . . . . . . . . . . . 44
5.4.2 Inlet boundary conditions . . . . . . . . . . . . . . . . . . . 44
5.5 Solver . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45
5.6 Setup . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45
5.7 Post-processing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46
5.8 Comparison with experiments . . . . . . . . . . . . . . . . . . . . . 47

6 Numerical Results - LES 51


6.1 First Attempts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51
6.2 Crashing problems: BCs and schemes . . . . . . . . . . . . . . . . . 52
6.2.1 New temperature BCs . . . . . . . . . . . . . . . . . . . . . 52
6.2.2 Diverging backflow . . . . . . . . . . . . . . . . . . . . . . . 53
6.3 A new mesh - snappyHexMesh . . . . . . . . . . . . . . . . . . . . . 54
6.4 The setup . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57
6.4.1 Boundary conditions . . . . . . . . . . . . . . . . . . . . . . 57
6.4.2 fvSchemes and fvSolution . . . . . . . . . . . . . . . . . . . 58
6.5 Results . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59
6.5.1 Convergence in time . . . . . . . . . . . . . . . . . . . . . . 59
6.5.2 Mesh independence test . . . . . . . . . . . . . . . . . . . . 61
6.5.3 Axial development . . . . . . . . . . . . . . . . . . . . . . . 63
6.5.4 SGS models comparison . . . . . . . . . . . . . . . . . . . . 65
6.6 Blending schemes . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67

Conclusions 75

A Setup 77
List of Figures

1.1 The jet shape . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4

4.1 Second filter in dynamic models (McDonough, 2007 [8]) . . . . . . . 29

5.1 The final domain - RANS, L=length=60d W=width=10d. . . . . . 36


5.2 Width independence test vs experiments, tranverse profiles at x =
40d (exp:[14] in (a,d) and [7] in (c)) . . . . . . . . . . . . . . . . . . 37
5.3 Length independence test vs experiments, tranverse profiles at x =
40d (exp:[14] in (a,d) and [7] in (c)) . . . . . . . . . . . . . . . . . . 38
5.4 Mesh 40.000 cells . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40
5.5 Blocks definition . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42
5.6 Mesh independence test vs experiments, tranverse profiles at x = 40d
(exp:[14] in (a,d) and [7] in (c)) . . . . . . . . . . . . . . . . . . . . 42
5.7 Axial evolution of transverse normalized profiles . . . . . . . . . . 49
5.8 Axial profiles: RANS vs experiments . . . . . . . . . . . . . . . . . 50

6.1 SnappyHexMesh utility [13] . . . . . . . . . . . . . . . . . . . . . . 55


6.2 SnappyHexMesh - refinement regions . . . . . . . . . . . . . . . . . 55
6.3 Final mesh - fine case . . . . . . . . . . . . . . . . . . . . . . . . . . 57
6.4 Transverse profiles of the mean axial velocity at the nozzle exit for
the cases of smooth contraction nozzle and long pipe in a round jet
[10]. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58
6.5 Convergence in time of mesh medium, tranverse profiles at x = 20d
(exp:[14]) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60
6.6 Points referring to table 6.2 . . . . . . . . . . . . . . . . . . . . . . 63
6.7 Time to simulate 1 second against mesh size . . . . . . . . . . . . . 64
6.8 Mesh Independence test: 3D mesh with inlet patch . . . . . . . . . 65
6.9 Mesh independence test vs experiments: transverse profiles at x=20d
(exp:[14] in (a,d,e) and [7] in (c)) . . . . . . . . . . . . . . . . . . . 66
6.10 Velocity and temperature half widths compared to [3] in a and to [7]
in b . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67
6.11 Mesh independence test vs experiments: transverse profiles at x = 6d 68
6.12 Axial profiles for the different meshes: comparison with RANS results
and experiments of [3] in plot a,c and of [7] in b,d. . . . . . . . . . . 69
6.13 Axial development of transverse profiles (mesh medium) (exp:[14] in
(a,d,e) and [7] in (c,f)) . . . . . . . . . . . . . . . . . . . . . . . . . 70
6.14 SGS models comparison: transverse profiles at x = 20d (exp:[14] in
(a,d,e) and [7] in (c)) . . . . . . . . . . . . . . . . . . . . . . . . . . 71

vii
viii LIST OF FIGURES

6.15 Velocity magnitude (a,b,c) and temperature averaged fields (d,e,f),


with mesh coarse . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72
6.16 Instantaneous contour plots of temperature for different sub-grid
scale models . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72
6.17 Axial profiles for the case with blending schemes, experiments of [3]
in plot a, c and of [7] in plot d . . . . . . . . . . . . . . . . . . . . . 73
List of Tables

5.1 Mesh refinement: number of cells . . . . . . . . . . . . . . . . . . . 43


5.2 Mesh quality parameters - RANS . . . . . . . . . . . . . . . . . . . 43

6.1 mesh properties . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63


6.2 cell sizes [mm] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64

ix
Nomenclature

Acronyms

BC Boundary Conditions

CD Central Differencing

CF D Computational Fluid Dynamics

DN S Direct Numerical Simulation

GAM G generalised Geometric-Algebraic Multi-Grid

LES Large Eddy Simulation

OpenF OAM Open Source Field Operation and Manipulation

P ISO Pressure-Implicit-Split-Operator

RAN S Reynolds Averaged Navier-Stokes equations

SIM P LE Semi-Implicit Method for Pressure Linked Equations

UD Upwind Differencing

W ALE Wall-Adapting Local Eddy-viscosity

Greek letters

∆ filer length

ε turbulent dissipation rate

Γ diffusion coefficient

µ dynamic viscosity

µT turbulent viscosity

ν kinematic viscosity

ω turbulent frequency

τ viscous stress tensor

ψ compressibility

xi
xii LIST OF TABLES

ρ density

τSGS sub-grid scale stress tensor

Latin letters

a deviatoric part of Reynolds stresses

D strain rate tensor

d fluctuation strain rate tensor

I identity tensor

r Reynolds stress tensor

F surface forces

f volume forces

g acceleration of gravity

S surface vector

U velocity vector

xF face center position vector

xP cell center position vector

d transverse nozzle dimension

eT total energy per unit volume

F flux

fx weight for Central Differencing interpolation

G kernel function for LES filtering

k turbulent kinetic energy

Ku inclination of axial velocity decay line

lI integral length scale

lT turbulent length scale

P pressure

Re Reynolds number

ReI turbulent Reynolds number

Sϕ source term
LIST OF TABLES xiii

t time

u0i velocity oscillations

Uc core velocity

Un nozzle exit velocity

uT turbulent velocity

V control volume

x axial coordinate

x01 virtual origin of axial velocity decay line

y transverse coordinate

y0.5 velocity half-width length

z third direction
Sommario

In questa tesi di laurea magistrale è stata sviluppata un’analisi numerica di


un getto turbolento e planare in aria libera attraverso i metodi RANS (Reynolds
averaged Navier-Stokes equations) e LES (large-eddy simulation). Il numero di
Reynolds ed il numero di Mach sono stati scelti di 16,000 e 0.07 rispettivamente.
L’aria uscente dall’ugello è stata impostata come leggermente riscaldata rispetto
alla temperatura ambiente. In questo modo la temperatura è stata considerata uno
scalare passivo, cioè che non influenza la soluzione del campo di moto. Sono state
adoperate entrambe le versioni del sofware open-source OpenFOAM, versione 4.1.0
e versione 3.0.1, la prima per le simulazioni RANS e la seconda per le simulazioni
LES. Sono state utilizzate mesh differenti, ma sempre a predominanza esaedriche.
L’ugello non è stato incluso nel dominio di simulazione, quindi le condizioni di uscita
del getto sono state fissate dall’autore. L’obiettivo di questo progetto è quello di
valutare le differenze nei metodi RANS e LES nel caso di un getto d’aria turbolento,
per il quale sono presenti molti dati sperimentali in letteratura. I risultati delle
simulazioni LES sono stati mediati nel tempo, mostrando una convergenza solo fino
alla distanza assiale di x = 20d. Per questo motivo le comparazioni dei profili dopo
questa distanza sono difficili da considerarsi attenibili. I risultati con il metodo LES
hanno mostrato un comportamento più conforme ai dati sperimentali rispetto a
quelli con il metodo RANS, in particolare per l’evoluzione assiale della velocità. E’
stato rilevato che il decadimento assiale della temperatura è maggiormente concorde
con gli esperimenti per il caso LES rispetto al caso RANS, ma la half-width della
temperatura è stata sovrastimata in modo non fisico dal primo e sottostimata
(ma ragionevolmente) dal secondo. Per quanto riguarda l’approccio LES, con un
maggiore tempo a disposizione e ulteriori mezzi computazionali, il lavoro potrebbe
essere esteso, introducendo l’ugello all’interno del dominio, rifinendo la mesh nella
zona vicino all’ugello e mediando su tempi più lunghi.
Parole chiave: CFD, OpenFOAM, RANS, LES, getto planare.

xv
Abstract

In this master thesis a numerical analysis of a turbulent plane free jet was
carried out by means of both Reynolds averaged Navier-Stokes equations (RANS)
and large-eddy simulation (LES) approaches. The Reynolds and the Mach numbers
chosen for this studies were 16,000 and 0.07 respectively. A small temperature
gradient was enforced, so that the jet nozzle exit temperature was slightly higher
than the ambient one. This allowed to consider the temperature as a passive
scalar not influencing the velocity field. Both versions of the open-source software
OpenFOAM, OF 4.1.0 and OF 3.0.1 were used, the former for the RANS simulations
and the latter for the LES ones. Different meshes were exploited, in any case with a
predominant hexaedral cell shape. The nozzle was not included inside the simulation
domain, so that the exit nozzle conditions were fixed by the author. The objective
of this project was to test the differences between the RANS and LES methods for
a simple test case such as the one of the turbulent free jet, in order to have different
possibilities of comparison with experimental data available literature. Averaging
in time of the LES simulations brought to converging results only until an axial
distance of x = 20d, so that data after this axial coordinate were difficult to compare.
LES results showed a better behaviour in the near field region, in particular for
the velocity axial decay. Temperature axial decay was found to match better the
LES results then the RANS ones, but the temperature half width was found to
be non-physically overestimated by the former, while consistently underestimated
by the latter. For what concerns the LES simulations, with an higher amount of
time and more computational resources the work could be extended, introducing a
nozzle in the domain, building a finer mesh for the near field region, and averaging
on longer times.
Keywords: CFD, OpenFOAM, RANS, LES, plane jet.

xvi
Introduction

In this study an investigation on accuracy of numerical methods such as the


RANS equations and the LES method was carried out. In particular, these methods
were adopted in order to study the development of a turbulent plane free jet issuing
from a nozzle into ambient quiescent air. The flow studied was subsonic and at
high Reynolds numbers, so that it was considered fully turbulent. The results were
compared with some experimental ones available in literature.
Turbulent jets are widely studied in the field of engineering, they have both
many direct applications and offer a good test case to compare numerical methods.
This master thesis was developed inside the company MTU Aero Engines. The aim
was to investigate the accuracy of LES against traditional RANS methods used for
cooling systems of turbomachines. For this reason the test case of a turbulent plane
jet was chosen, thanks to its simple geometry and to the data available in literature
for comparisons. The turbulent jet is a phenomenon dominated by turbulence, so
that its development and its shape are very dependent on the turbulence modelling
technique applied. As the flow exits the nozzle, the difference in velocity between
the two fluids (jet flow and quiescent ambient air) gives birth to a shear layer, that
becomes soon unstable. This instability is the cause of the transition from laminar
to turbulent state and it is highly depending on the Reynolds number. If this
number is above a certain threshold the jet is fully turbulent and the instabilities
develop right after the nozzle exit.
The plane jet was preferred to the axisymmetric one because of its two-
dimensional characteristics. This allowed the RANS study to be done without
solving the third direction. Also for the 3D mesh accomplished for the LES case in
this way the number of cells was easier to control.
The approach chosen for this study was to begin with the investigations of
the plane jet with the RANS equations, to fix the domain and the cell size after
the correspondent independence studies, and then compare these results with the
experiments. After this first solution, the LES method was adopted to model the
flow turbulence. In this phase many problems were encountered to stabilize the
solution. The presence of eddies in correspondence of the boundaries brought the
solution to diverge and the simulations to crash. This problem was worked around
through the adoption of very large domains with larger cells close to the boundaries.
In a second moment the problem was overcome with the adoption of sponge layers
close to the boundaries, so that not only the cell size was increased close to the
outlet, but also the discretization schemes were of lower order in the critical regions.
In the first chapter an overview on the main characteristics on the turbulent
plane free jet is given, in the second one the conservation equations of fluid dynamics

1
2 Introduction

are shown, and in the following chapter their discretization through the finite volume
method is explained. In chapter four the different ways of modelling turbulence
are shown, with a particular attention to the ones used in this study: k-ω SST for
RANS and WALE for LES. Results of both RANS and LES simulations can be
found in chapter five and six, as well as the description of the domain and mesh
generation, the set up and the boundary conditions used. Finally the conclusions
of this work are reported.
Chapter 1

Theory of jets

1.1 Introduction
A free jet is the result of a high pressure fluid mass flow undergoing an expansion
through a nozzle and being injected into an infinite large environment of quiescent
air at ambient pressure. This process at high Reynolds numbers is very much
influenced by turbulence events, that is why this test case results so interesting
in turbulence models testing. In particular, in this thesis the development of the
flow field properties of a plane jet is considered. Other two cases largely studied in
literature are the axisymmetric and the square jet 1 . Once that the flow is ejected,
the boundary layer of the nozzle develops into a shear layer. This shear layer
is due to the difference in velocity between the incoming high-speed air and the
surrounding quiescent air. Because of what is known as Kelvin Helmoltz instability,
this shear layer is highly unstable, meaning that vortical structures are started and
a process of entrainment of ambient air inside the jet is activated. This unstable
vortical structures develop in time and collapse together 2 . This collapsing brings
the flow to a full developed state where the mean flow has self-similar characteristics.

1.2 Structure of the Jet


The jet structure can be described as divided into three different main zones:

1. Potential core region: the potential core of the jet is the region that conserves
the nozzle outlet velocity Un . In this work the potential core length is defined
as the axial distance at which the core velocity is equal to the 98% of Un and
is called xP . Given x the axial coordinate as in figure 1.1, d the transverse
dimension of the nozzle and Re the Reynolds number as in equation 1.1, this
value can vary from xP = 3d to xP = 6d in the case of a subsonic isothermal
plane jet issuing from a contraction nozzle with Reynolds number between
Re = 1500 Re = 16500 (Deo et al., 2008 [3]).
1
The jet is issuing from a square-shaped nozzle
2
In plane jets there are two shear layers, one in the upper part and one in the lower part of
the jet

3
4 Chapter 1. Theory of jets

2. Transition region: here the center line axial velocity is decreasing and the
roll-ups of the upper and lower shear layer collapse together. Already in
this region some mean flow quantities show a self-similar behavior. In fact,
Mi et al. (2000 [10]) showed that for a round jet the mean temperature
radial profiles are self-similar after x = 10d, while in the same case turbulent
quantities become self-similar only after x = 40d.

3. Self-similar region: in this region non-dimensional transverse profiles of mean


fields at different axial distances are independent from the axial distance
itself. There are different possibilities to normalize these profiles, as it will be
discussed later in this chapter. This property results very useful to compare
different experimental results in literature.

Plane jets are theoretically defined as jets in which the nozzle has the third
direction which is much higher then the other two, so that the time-averaged quan-
tities in the jet region are non not depending on it. In the case of an experimental
test, this hypothesis is not so easy to represent. In order to study the case of a
plane jet, all the three experimental studies taken as reference for this work used a
high aspect ratio-shaped nozzle and side walls. The latter were used to confine the
jet and to preserve it from a development in the third direction.
A turbulent plane jet can be described by several non-dimensional parame-
ters that can be divided into two groups: initial conditions parameters and jet
development parameters.

Figure 1.1: The jet shape

Initial conditions are: the velocity and turbulence intensity lateral profiles at
the nozzle exit, the nozzle geometry (e.g. smooth contraction nozzle or pipe), the
density ratio between the jet exit and ambient fluid, and finally the Reynols number.
(Deo et al., 2008 [3])
Un · d
Re = (1.1)
ν
In this equation Un is the nozzle exit velocity, d is the transverse dimension of the
nozzle and ν is the kinemtaic viscosity.
1.2. Structure of the Jet 5

Among the parameters describing the nozzle shape, the most intuitive one is the
potential core length. Other two parameters used to define the jet axial behavior
are the Ku constant and the virtual origin x01 . These are parameters describing
the self-similar region behavior of the axial velocity decay as in the equation below
(Deo et al., 2008 [3]):
 −2  
Uc x + x01
= Ku (1.2)
Un d
In the equation above Uc is the core axial velocity, Ku is a constant measuring the
slope of the line described by (Uc /Un )−2 while x01 is called virtual origin and is
related to the intercept of this same line. In the studies of Deo et al (2008 [3]) the
results showed a convergence of the parameter Ku only after Re = 25000. This
convergence value is dependent on the aspect ratio and on the dimensions of the
nozzle, and it is found to be around 0.15 - 0.17.
A second way of describing the jet is by its non-dimensional shape. Another
constant Ky is introduced, as well as a second virtual origin, which represents the
virtual origin of the half-width axial development line. The curve defining these
parameters is given in Deo et al. (2008, [3]):
y05 x + x02
= Ky ( ) (1.3)
d d
In this equation the term y05 is the half-width distance, defined as the transverse
distance at which the axial velocity assumes the half of the core value. Thanks
to this quantity the shape of the jet cone is described. The half-width is also
used to normalize the transverse profiles of the averaged quantities. In this way,
normalized lateral profiles of normalized quantities result to be collapsing together
in the self-preserving region.
Considering now the flow evolution in time, it is known that a turbulent plane
jet presents coherent structures that can occur in a symmetric mode or in an
anti-symmetric mode. Deo et al. (2008, [3]) assess that the near field region can
present both modes, depending on the velocity exit profiles and on initial conditions.
In the far field region instead the mode is only anti-symmetric. These quasi-periodic
passage of the developed coherent structures that are found in the far field region
of plane jets is what can be found in literature as flapping of the jet.
Chapter 2

Equations of Fluid Dynamics

2.1 Introduction
The set of equations describing the flow of a fluid in space and time are
conservation equations that describe the conservation of certain physical properties
of the flow in time and space. The set of equations that has been solved numerically
in this study is known as the Navier-Stokes equations. This is a system of three
equations: mass, momentum, and energy equations. These are conservation laws
applied to Newtonian fluids in an Eulerian reference approach (the reference system
and the volume on which the equation terms are integrated are both fixed in
time and space: this volume is known as the control volume). The Navier Stokes
equations contain 6 unknowns: the fields of velocity (three scalars, one for each
direction), pressure, temperature and density. Since the momentum equations are
written for each direction, the overall number of equations is 5, so the system can
be closed through the boundary conditions definition and the equation of state.
In this project the open source code OpenFOAM was used, solving numerically
the Navier-Stokes equations through the Finite Volume Method. This method
solves the integral form of the equations for each cell of the discretized control
volume: in Computational Fluid Dynamics the control volume takes the name of
domain, while its discretization in space (many adjacent cells) is called mesh.

2.2 Navier-Stokes equations


2.2.1 Continuity equation
The first equation of the Navier Stokes system is the continuity equation. It
expresses the conservation of mass in a control volume: it can be written both in its
integral and punctual form. The two forms are theoretically equivalent and they can
be re-conducted to each other be means of the Gauss theorem. The conservation of
mass theorem postulates that the material (or total) derivative of mass is constant
and equal to zero:
dM
=0 (2.1)
dt

7
8 Chapter 2. Equations of Fluid Dynamics

Considering the total mass as the integral of density over the volume and using the
transport theorem, this can be rewritten as:
Z  

+ ρ∇ · U dV = 0 (2.2)
V dt
where V is an arbitrary volume and ρ is the density [kg/m3 ]. Since this is true
for any volume, the function inside the integral becomes true for every point. The
punctual formulation of mass conservation can be so written as:

+ ρ∇ · U = 0 (2.3)
dt
Since the total derivative of a generic property ϕ is defined as its partial derivative
in time plus the product of the velocity vector and the gradient of the property
itself, as stated in equation 2.4, another punctual formulation of the continuity
equation can then be written as in 2.5.
dϕ ∂ϕ
= + U · ∇ϕ (2.4)
dt ∂t
∂ρ
+ ∇ · (ρU) = 0 (2.5)
∂t

2.2.2 Momentum equation


The second principle of dynamics can be re-written in the form of conservation
of momentum. In this approach, the total derivative of the momentum integrated
over a generic volume V results to be equal to the integral of the volume forces f
plus the integral of the surface forces F applied on its contour, as shown in the
following equation. Z Z Z
d
ρUdV = ρf dV + FdS (2.6)
dt V V S
Using the transport theorem and the continuity equation, this can be also written
as:
Z Z Z Z Z
dU ∂(ρU)
ρ dV = dV + (ρU)U · ndS = ρf dV + FdS (2.7)
V dt V ∂t S V S

Assuming gravity the only volume force and pressure and viscous stresses the surface
ones, through the Gauss theorem the previous equation becomes the momentum
equation in its punctual formulation:
∂(ρU)
+ ∇ · (ρUU) = ρg − ∇P + ∇ · τ (2.8)
∂t
In the equation above g is the acceleration of gravity, P is the pressure and τ is
the viscous stress tensor, defined in the case of a Newtonian fluid by the Newton’s
viscous constitutive law as:
 
1
τ = 2µ D − (∇ · U)I (2.9)
3
2.2. Navier-Stokes equations 9

Where D is the strain rate tensor:


 
1 ∂Ui ∂Uj
Dij = + (2.10)
2 ∂xj ∂xi

With this definition the divergence of the viscous stresses can be computed as:
1
∇ · τ = µ∇2 U + µ∇ (∇ · U) (2.11)
3
This leads to the final formulation of the momentum equation:

∂(ρU) 1
+ ∇ · (ρUU) = ρg − ∇P + µ∇2 U + µ∇ (∇ · U) (2.12)
∂t 3

2.2.3 Energy equation


The conservation of energy is stated in the first principle of thermodynamics: the
variation of the total energy of the system, which in the case of a fluid corresponds
to the sum of internal and kinetic energy, is equal to the work of the forces that act
on the fluid plus the contribution of heat energy. This results in:
Z Z Z Z Z
∂(ρet )
dV + ρet U · ndS = ρf · UdV + F · UdS − q · ndS (2.13)
V t S V S S

in which the last term captures the heat transferred to the system.
The Gauss theorem helps re-writing the equation above in its punctual formula-
tion:
∂(ρet )
+ ∇ · (ρet U) = ρg · U + ∇ · (−P U) + ∇ · (τ U) − ∇ · q (2.14)
∂t
The work of the viscous term can be written as:

∇ · (τ U) = U∇ · τ + τ : ∇U (2.15)

where the operator ’:’ indicates an element to element multiplication. The last
term of this equation is called ε, the dissipation term. It is the one responsible of
the conversion of the energy from its kinetic form to the internal one.
Thanks to Fourier model the heat term can be written as follows:

− ∇ · q = k∇2 T (2.16)

Putting together the last three equations, a final formulation can be derived:

∂(ρet )
+ ∇ · (ρet U) = ρg · U + ∇ · (−P U) + U∇ · τ + ε + k∇2 T (2.17)
∂t
Chapter 3

Finite volume method

3.1 Introduction
The finite volume method is a way of discretizing the equations of fluid dynamics
presented in the previous chapter. This procedure allows to solve numerically the
Navier Stokes equations system. There are two levels of discretization, one for the
domain and one for the equations. The domain is divided into many different sub-
domains, each one of them representing a control volume. These sub-domains are
called cells, which in the case of an unstructured mesh can be of a generic polyhedral
shape. In the case used in this work the dependent variables (pressure, temperature
etc.) are all defined for each one of these cells. In particular they correspond to the
value in the center of the cells (cell centroid). This approach is called a co-located
or non staggered mesh approach. Once that the domain and the equations are
discretized, a system of linear algebraic equations for each fluid dynamic equation
is built. The number of equations of this system corresponds to the number of
cells of the domain. This linear system is then solved through an iterative method,
which stops looking for a better solution after that a given tolerance is reached.
In OpenFOAM the Navier Stokes equations system is treated in a segregated way,
meaning that the equations are solved one at a time. This means for example that
the momentum equation is solved in each direction separately and consequently.
In this chapter the main passages of the finite volume method are described
referring to the work of Jasak (1996, [6]).

3.2 Discretization of a transport equation


All the Navier Stokes equations are transport equations, or conservation equa-
tions. This means that they can be written in the form of a generic transport
equation, like the following (punctual formulation):

∂ρϕ
+ ∇ · (ρUϕ) − ∇ · (ρΓϕ ∇ϕ) = Sϕ (ϕ) (3.1)
∂t
In the equation above the first term is the temporal derivative, the second one
the convection term. Together they represent the total or material derivative of
the quantity ρϕ. The third term is the diffusion term, which is depending on the

11
12 Chapter 3. Finite volume method

gradient of the quantity ϕ and on the diffusion coefficient Γϕ . Finally, on the right
hand side of the equation there is a source term. Another more general form of
this equation could be re-written considering the density included in the field ϕ. In
order to remain similar to the formulations of the momentum and energy equations,
the density is here explicited. This generic formulation could be written in its
integral form as:
Z t+∆t  Z Z Z 

ρϕdV + ρϕU · dS − ρΓϕ ∇ϕ · dS dt =
t ∂t V S S
Z t+∆t Z  (3.2)
Sϕ (ϕ)dV dt
t V
In this formulation the flux terms are written as surface integrals, thanks to the
Gauss theorem. From the equation above it is maybe more intuitive to understand
the meaning of the transport equation itself. Given V the control volume and S its
contour, this conservation equation states that the quantity ρϕ can change its value
in time only if there is a source term or if it is exchanged with the outside of the
domain through its boundaries. The control volume communicates with the rest
of the space through its contour, over which the fluxes of the quantity are defined.
These fluxes can be convective or diffusive in nature. The convective flux is the
transport of the quantity through velocity, while the diffusion one is the transport
due to the gradient of the quantity itself (think to Fourier equation of heat). The
finite volume method, as already expained before, solves the integral form of the
transport equations. The discretization of these terms is a matter of reconstructing
the integral in a numerical way. A numerical error is so introduced, linked to the
numerical approximation of the operation of integration.
Integration is approximated based on the assumption that the field is linearly
distributed inside the control volume and on its surfaces. This assumption is an
approximation of the second order: this can be shown from the Taylor expansion of
ϕ. Cells center xP is defined as:
Z
(x − xP )dV = 0 (3.3)
V
Face center xF is defined as:
Z
(x − xF )dS = 0 (3.4)
S
Taylor expansions result in:
ϕ(x) = ϕP + (x − xP ) · (∇ϕ)P + o (x − xP )2

(3.5)

ϕ(x) = ϕF + (x − xF ) · (∇ϕ)F + o (x − xF )2

(3.6)
In this way, a volume integral becomes:
Z Z
ϕ(x)dV = [ϕP + (x − xP ) · (∇ϕ)P ] dV
V VP
Z Z 
(3.7)
= ϕP dV + (x − xP )dV · (∇ϕ)P
VP VP
= ϕP VP
3.2. Discretization of a transport equation 13

Convective term
The convective term can be transformed from a volume to a surface integral
through the Gauss therem, resulting then in:
Z X
∇ · (ρUϕ)dV = S · (ρUϕ)f
VP f
X
= S · (ρU)f ϕf (3.8)
f
X
= F ϕf
f

Where F is the flux, which is a scalar defined on the face center as resulting from
the product of the face vector and the ρU term evaluated again on the face center.
The first passage of the previous equations is derived thanks both to Gauss theorem
and to the approximation of the surface integral as the product of the face center
value and the face vector. The term ϕf indicates the value of the quantity ϕ on
the face center. This value is not directly given, so it has to be interpolated from
the cell centers values. This interpolation can be done in several different ways
and following different criteria. It must be noted that this interpolation procedure
introduces another numerical error. It is then a consistent choice the one that
keeps the order of the numerical error constant and equal to the other ones already
introduced. This interpolation methods are crucial in particular for the momentum
equation, in which the convective term represents the convection of velocity itself,
so analytically a second order term. The main interpolation scheme is the Central
Differencing one (linear scheme in OpenFOAM). This method interpolates linearly
the face center value of ϕ from the cell center value of the cell itself ϕP and from
its neighbour one ϕN .

ϕf = ϕP fx + (1 − fx )ϕN (3.9)
where
Pf
fx =
PN
In the equations above P is the centroid of the considered cell, N is the centroid of
the generic neighbour cell and f is the face center of the face that the two cells are
sharing. Since this method can generate non-physical oscillations of the solution,
another important scheme was introduced: the Upwind Differencing scheme (UD).
This is a first order interpolation scheme that assumes the value on the face center
to be equal to the one of the cell center. In order to determine which one of the
two cells sharing the considered face is the selected one, direction of the flow, and
so the sign of the flux F, is considered:
(
ϕP if F ≥ 0
ϕf = (3.10)
ϕN if F < 0

This scheme guarantees boundedness of the solution, but it introduces a higher


amount of numerical diffusion because of its lower order. A combination of these
14 Chapter 3. Finite volume method

two techniques is represented by the Blending Schemes, which define the face
center value as an interpolation between the value resulting from a CD and a UD
interpolation method. This interpolation is governed by the blending factor γ:

ϕf = (1 − γ)(ϕf )U D + γ(ϕf )CD (3.11)

Diffusion term
As for the case of the convective term, a linear variation of the quantity ϕ is
assumed and the resulting formulation can then be written:
Z X
∇ · (ρΓϕ ∇ϕ)dV = S · (ρΓϕ ∇ϕ)f
VP f
X (3.12)
= (ρΓϕ )f S · (∇ϕ)f
f

In the case of an orthogonal mesh the following expression is used:


ϕN − ϕP
S · (∇ϕ)f = |S| (3.13)
|d|
Another way of computing the gradient on the face center could be the one of
computing the gradient in each cell center using the interpolated quantities of the
face centers and then linearly interpolate the two resulting values on the face center
like this:
(∇ϕ)f = fx (∇ϕ)P + (1 − fx )(∇ϕ)N (3.14)
Since this method uses a larger computational cell, the first one would be preferred.
The problem is that for non-orthogonal cells expression 3.13 loses in accuracy,
leading to the necessity, for high non-orthogonal meshes, of introducing a non-
orthogonal correction. This is done decomposing the face vector in two components,
∆ is parallel to the line passing through the two cell centres, k is normal to it. In
this way a new formulation can be written as:
ϕN − ϕP
S · (∇ϕ)f = |∆| + k · (∇ϕ)f (3.15)
|d|
In the equation above the non-orthogonal correction gradient term is computed
with the formulation shown in equation 3.14. The model without the correction is
bounded, while the correction introduces un-boundedness. In case of non-orthogonal
meshes the choice of setting the correction on the diffusion term depends from a
trade off between boundedness and accuracy.

Source terms
All those terms that are not considered convective, diffusive, or temporal
derivative terms are considered as sources. The source term Sϕ (ϕ) is a generic
function of ϕ but in order to be discretized it has to be written in a linerized form:

Sϕ (ϕ) = Su + Spϕ (3.16)


3.2. Discretization of a transport equation 15

where Su and Sp may also be depending from ϕ. It follows that:


Z
Sϕ (ϕ)dV = SuVP + SpVP ϕP (3.17)
VP

Time discretization
The integral formulation shown already in equation 3.2 is here again reported.
Z t+∆t  Z Z Z 

ρϕdV + ρϕu · dS − ρΓϕ ∇ϕ · dS dt =
t ∂t V S S
Z t+∆t Z 
Sϕ (ϕ)dV dt
t V

Using the spatial discretization methods presented above this can be written as:
Z t+∆t "  #
∂ρϕ X X
VP + F ϕf − (ρΓϕ )f S · (∇ϕ)f dt
t ∂t P f f
Z t+∆t (3.18)
= (Su VP + SP VP ϕP ) dt
t

The main time discretization schemes are the Euler explicit, Euler implicit, CrankNi-
colson and Backward ones. In the case of Euler explicit discretization the face
center values are computed from the old-time field. In this way:

ϕf = fx ϕoP + (1 − fx )ϕoN (3.19)

and
ϕoN − ϕoP
S · (∇ϕ)f = |∆| + k · (∇ϕ)of (3.20)
|d|
Once the system is discretized also in time, the discratization is completed, and a
linear system of algebraic equations is found:
X
aP ϕnP + aN ϕnN = RP (3.21)
N

which in matrix form results:


[A] [ϕ] = [R] (3.22)
For the Euler explicit case this equation can be written as:

" #
∆t X X
ϕnP = ϕoP + F ϕf − (ρΓϕ )f S · (∇ϕ)f + SuVp + SpVP ϕoP (3.23)
ρP VP f f

Thanks to this approach all the right hand side terms are defined and depending
only on the old time step fields. The drawbacks of this method are that it is first
order accurate and that the Courant number (3.24) has to be smaller than unity in
order to ensure stability.
16 Chapter 3. Finite volume method

Uf · d
Co = (3.24)
∆t
In the equation above uf is the velocity on the face, d is the distance vector between
the two cell centers and ∆t is the time step.
In order to overcome this issue a Euler implicit method can be used:

ϕf = fx ϕnP + (1 − fx )ϕnN (3.25)

and
ϕnN − ϕnP
S · (∇ϕ)f = |∆| + k · (∇ϕ)nf (3.26)
|d|
Second order schemes for time discretization are instead the CrankNicolson and
Backard Diferinceng ones.
For Crank Nicolson:

ρnP ϕnP − ρoP ϕoP


 
∂ρϕ
= (3.27)
∂t P ∆t
For Backward Differencing:
3 n
− 2ϕoP + 12 ϕoo
 
∂ϕ ϕ
2 P P
= (3.28)
∂t P ∆t

The Crank-Nicolson method is unconditionally stable but the solution may be


unbounded: its accuracy is of the second order. Also for the Backward Differencing
there is still a second order accuracy and boundedness of the solution is not
guaranteed. (Jasak, 1996 [6])

3.3 Solution of Navier Stokes equations


Considering the simplified case of an incompressible flow, Navier Stokes equations
system is decoupled, so that the energy equation can be left out of the system. In
this way, continuity and momentum equations reduce to:
(
∇·U=0
∂U
(3.29)
∂t
+ ∇ · (UU) − ∇ · (ν∇U) = −∇p

The method used in OpenFOAM also for compressible flows is similar to the
incompressbile one, so that it built as an extension of it. These methods are based
on pressure-velocity coupling, a practice that was developed first for incompressible
flows and then extended to the compressible ones. This is a way of solving the
issue of having no pressure terms inside the continuity equation. A new equation is
built from applying the continuity equation (divergence-free velocity field) onto the
momentum one. The Poisson equation, or pressure equation, is so defined.
3.3. Solution of Navier Stokes equations 17

3.3.1 Pressure equation


A semi-discretized form of momentum equation can be written as:

ap UP = H(U)∇P (3.30)

where the term H is: X Uo


H(U) = − aN U N + (3.31)
N
∆t
It must be noted that the coefficients aN are depending on the fluxes on the face
centers. This form of the momentum equation can be written as:
H(U) 1
UP = − ∇P (3.32)
aP aP
The Poisson or pressure equation can be now built applying the continuity
equation onto this momentum one:
    X  
1 H(U) H(U)
∇· ∇p = ∇ · = S· (3.33)
aP aP f
aP f

The Navier Stokes system will then result in:


 P
 ap UP = H(U) − f S(P  )f
P 
1
 P 
H(U)
 (3.34)
 f S · aP
(∇P ) f = f S · aP
f f

3.3.2 PISO algorithm


The Pressure-Implicit-Split-Operator algorithm is an algorithm for unsteady
flows. It works through the following steps:
1. Momentum equation is solved using the pressure field of the previous time
step. This passage is called momentum predictor.

2. The pressure equation is solved, using as H(U) operator the one updated
with the new velocity field calculated at step 1.

3. Velocity is re-computed in an explicit manner, so that the pressure field is


updated with the results of step 2 but the H(U) operator is depending on
the velocity field of step 1, and not on the new one.

4. Repeat until convergence.


This procedure corrects the velocity field depending only on the new pressure field,
neglecting the correction term introduced by the update of the H(U) operator.
This assumption brings to the limitation of the time step to respect the maximum
Courant number of one to ensure stability. Another important point is that also
the fluxes determining the coefficients of H(U) are not updated after the pressure
equation solution. This is also descending from the hypothesis the the main velocity
dependence is the one from the pressure term.
18 Chapter 3. Finite volume method

3.3.3 SIMPLE algorithm


The Semi-Implicit-Method-for-Pressure-Linked-Equations is an algorithm used
for steady state solutions. This method takes out the time derivative term from
the equations and it solves on subsequent iterations the pressure and momentum
equations. Its steps are:

1. The momentum equation is solved using the pressure field of the previous
iteration. This results is then under-relaxed in order to enhance convergence.

2. The pressure equation is solved based on the new velocity field (H(U) is
computed with the velocity field of point 1). Also in this case the resulting
values are under-relaxed.

3. New face fluxes are computed and the H(U) coefficients are updated.

4. Repeat until convergence.

3.3.4 PIMPLE algorithm


The PIMPLE algorithm is a combination of the two solution methods presented
above. This algorithm aims at increasing the Courant number limitation and
ensuring anyhow stability. This is done adding to the PISO loop an outer loop that
updates the mass fluxes and so the coefficients of the H(U) operator inside the
momentum predictor. If the number of this outer correction loops is set to zero,
the PIMPLE algorithm is equivalent to the PISO one. A more intuitive description
could be the one of thinking the PIMPLE algorithm as a method of looking for a
steady state solution in each time step. After that convergence is reached, the time
is advanced.
Chapter 4

Turbulence Models

4.1 Introduction to turbulence


The Navier Stokes equations are non-linear partial differential equations in
which the main non-linearity is provided by the convection term. This term is the
one responsible of turbulence. A non-turbulent flow (laminar) presents a stable,
parallel and well ordered velocity field with a low momentum convection. If the
flow has a sufficiently high Reynolds number, small perturbations may introduce a
transition to the turbulent state. In this state the flow properties are characterized
by a high unsteadiness. They oscillate around a mean value with an apparently
chaotic motion, so that the best approach to deal with them is the statistical one.
This phenomenon is characterizes by vorticity, so that eddies are to be found. The
result is that, since momentum is transferred from larger to smaller scales and
then dissipated into heat in the smallest ones, the diffusion of turbulent flows is
significantly higher.
Turbulent flows are characterized by eddies of different sizes: regions occupied
by bigger eddies may include also smaller ones. The largest ones are characterized
by the integral length scale lI , which is of the same order of magnitude of the
geometrical length scales. These larger eddies can be identified by a turbulent
Reynolds number like: √
klI
ReI = (4.1)
ν
with k representing the turbulent kinetic energy:
1
q
k= u0x 2 + u0y 2 + u0z 2 (4.2)
2
In the equation above the u0i velocities are the oscillations of velocity with respect to
the mean value. This are the velocity fluctuations, following from a decomposition
of the instantaneous velocity field as the summation of a mean and an oscillating
component:
Ui = ui + u0i (4.3)
These larger eddies are dominated by turbulence, so that they are unstable and
break up into smaller ones. This generates a turbulent cascade that ends up to the
smallest scales, where the Reynolds number is small and viscous effects become more

19
20 Chapter 4. Turbulence Models

significant. These are known as Kolmogorov length scales (η) and are responsible
of dissipation.
In numerical methods solving the Navier-Stokes equations, the problem of
turbulence is fundamental. Turbulence could be chosen to be solved up to the
Kolmogorov scales, with a DNS1 approach. This has severe implications on the cell
size, so that the number of cells results in being very high. Another approach is the
LES2 one, where the equations are spatially filtered in the inertial sub-range (where
dissipation is not present yet) and solved only for the larger eddies. The approach
with the less number of cells needed is the RANS3 one, where the equations are
averaged in time, so that turbulence is modelled and only the largest scales are
computed.

4.2 RANS
Each flow quantity is considered as sum of a mean and a fluctuating part:
ϕ(x, t) = ϕ(x) + ϕ0 (x, t) (4.4)
Where the overline indicates the result of a time-averaging procedure:
Z t+∆t/2
1
ϕ(x) = ϕ(x, t)dt (4.5)
∆t t−∆t/2
When the time interval is large enough, since the field properties are assumed to
vary in a random-like manner, the following properties of this averaging procedure
become true:
ϕ0 = ϕϕ0 = ϕϕ0 = 0 (4.6)
Please note though that the averaging of the product of the fluctuating terms of
two different quantities remain instead different from zero:
ϕ0 ψ 0 6= 0 (4.7)
Given the properties of this averaging procedure, its application on the continuity
equation is straightforward. Only linear terms are involved, so that the resulting
equation is formally equal to the original one, only with the averaged fields instead
of the instantaneous ones. More issues arise for the other two transport equations.
Starting from the momentum equation, the second order term is the convetive one.
This leads to the following expression:
∂(ρU) 1
+ ∇ · (ρU U) = ρg − ∇P + µ∇2 U + µ∇(∇ · U) − ∇ · (ρu0 u0 ) (4.8)
∂t 3
The equation is formally equal to the non-averaged form if not for the last term,
which is not going to zero. This is known as the Reynolds stress tensor:
 
u0x 2 u0x u0y u0x u0z
r = −ρ u0y u0x u0y 2 u0y u0z 
 

u0z u0x u0z u0y u0z 2


1
Direct numerical simulation
2
Large eddy simulation
3
Reynolds Averaged Navier-Stokes equations
4.2. RANS 21

This tensor introduces an unknown, so that a closure problem arises. This means
that this term has to be modelled in order to be able to solve the RANS equations
system. In the case of the energy equation, if the deformation work terms are
neglected, the only non-linear term is the convective one, that in analogy with
the momentum equation gives birth to the so called turbulent heat flux term
(∇ · ρcT 0 u0 ).
The Reynolds stress is a symmetric tensor which trace equals: tr(r) = −2ρk.
In this way, the tensor can be written as sum of an isotropic and a deviatoric part:
2
r = −ρ k + a (4.9)
3
The Boussinesq hypothesis is then used to model the deviatoric part, in analogy to
the viscous stress tensor. In this way:

a = −2µt D (4.10)

In this way the Reynolds stresses are proportional to the mean strain rate, so that
its deviatoric part acts together with the viscous stresses. Formally the result is
an increase of the viscosity thanks to the turbulent viscosity µt that is added to it.
The resulting summation is known as the effective viscosity. In a similar way the
turbulent heat flux is modelled through the eddy diffusivity kT :

− ρcT 0 u0 = kT ∇T (4.11)

In order to link the two quantities a turbulent Prandtl number is used, so that,
once P rT = c µkTT is chosen, the modelling effort is concentrated only on the eddy
viscosity.

4.2.1 k-ε model


From dimensional analysis the following proportionality can be written:

µT ∝ lT · uT (4.12)

where √
uT ∝ k (4.13)
and
√ k
lT ∝ k (4.14)
ε
So that the turbulent viscosity can be written as:

k2
µT = C µ ρ (4.15)
ε
Where Cµ is a model constant and ε is the dissipation rate of the turbulent kinetic
energy. The k − ε model is a two equation turbulence model, meaning that it solves
a transport equation both for k and ε.
22 Chapter 4. Turbulence Models

The transport equation for k is a rigorous one, that can be derived from the
RANS equations:

∂k 1
ρ + ρU · ∇k = r : ∇U − 2µ(d : d) + ∇ · (−P 0 u0 + µ∇k − u0 2 u0 ) (4.16)
∂t 2

In the equation above the term d stands for the fluctuation strain rate tensor.
The last terms under the divergence operator are the transport terms of k due to
pressure, molecular diffusion and turbulent transport. The term r : ∇U is the
production of k from the mean flow while 2µ(d : d) is its dissipation ε.
The second equation that closes the problem is the dissipation rate equation,
which is instead fully modelled:

ε2
  
∂ε ε µ µT
+ U · ∇ε = Cε1 r : ∇U − Cε2 + ∇ · + ∇ε (4.17)
∂t k k ρ ρσε

with
Cε1 = 1.44; Cε2 = 1.92; σε = 1.3; Cµ = 0.09;
These coefficients are not fixed, they can be tuned based on experiments or other
simulations (DNS) for the specific problem. The main problem of this approach is
2
the near wall region, where the quantity k goes to zero and so the term εk becomes
singular. For this reason functions describing the wall behaviour in this region must
be used in order to overcome the problem (wall functions).

4.2.2 k-ω model


In this model the turbulent kinetic energy dissipation rate ε transport equation
is substituted from a turbulent frequency one. The turbulence frequency is defined
as
1
ω= (4.18)
tT
where tT is the time scale, given by tT = kε . Together with the definitions seen
before in equations 4.12, 4.13, 4.14 the resulting formulation is derived:

k
µT = C µ ρ (4.19)
ω
The turbulent frequency transport equation is also modelled:
  
∂ω ω µ µT
+ U · ∇ω = Cω1 r : ∇U − Cω2 ω 2 + ∇ · + ∇ω (4.20)
∂t k ρ ρσω

The three terms on the right hand side are the production, dissipation and transport
terms. The main advantage of this model is that the near wall region can be now
solved up to the wall, without the need of wall functions. A disadvantage is instead
that the free stream turbulence is less accurate and more problematic.
4.2. RANS 23

4.2.3 k-ω SST model


In order to take the advantages of the other two approaches, the k-ω SST model
adopts a combination of both of them: k-ω near the wall and k-ε in the free stream
region. A blending factor is so introduced inside the transport equation in order to
regulate this switching.
24 Chapter 4. Turbulence Models

4.3 LES
Large Eddy Simulation is a turbulence model in which the turbulent scales
under a certain filter length scale are modelled (like in the RANS approach), while
for the larger ones Navier Stokes equations are resolved (like in DNS approach).
According to Ferzinger and Perić (1999, [4]) the large scale motions contain more
energy than the small scale ones: for this reason they are the most relevant terms
in the transport of the conserved quantities. LES approach takes advantage of this
principle and solves only these larger eddies, in order to gain in the description of
the flow with respect to the RANS approach, and to save computational effort with
respect to DNS. The latter is difficult to employ because the Reynolds number is
restricted by the computational resources. This means that LES must be used in
cases with Reynolds number above a certain threshold.
In order to separate the large scale motions from the small scale ones it is
necessary to filter the Navier-Stokes equations with a filter kernel G(x, x0 ). This
operation consists of eliminating from the equations all wave-numbers of the velocity
spectrum above a threshold one. This filtering operation allows to have equations
free of aliasing problems that arise when the mesh is not fine enough to resolve all
the scales (up to the Kolmogorov one, as done in DNS). The filtered velocity will
be then defined (as in normal filtering processes) as the convolution between the
velocity and the kernel function G (often a Gaussian) (Ferzinger and Perić 1999,
[4]):
Z
ũi (x) = G(x, x0 )ui (x0 )dx0 (4.21)

In the equation above, x0 is the variable moving in the points surrounding x, that is
instead the vector coordinate of the position. The velocity will be now decomposed
into two functions (McDonough, 2007 [8]) :
Ui (x) = ũi (x) + u0i (x) (4.22)
Every filter is associated to a correspondent length scale ∆ which determines the
threshold under which the equations are simulated. This ∆ is typically defined
as the dimension of the cell, so that what is modelled are actually the turbulent
scales that have a length scale lower then the grid length scale itself. Even if
the formalism is similar to the one of the RANS decomposition, there is a big
difference in the two approaches, demonstrated by the fact that with RANS a
certain amount of information is definitely lost, while with LES it depends on the
size of the filter length scale ∆. In fact, as ∆ tends to Kolmogorov length scale the
LES converges to DNS, so that the filtered Navier-Stokes equations converge to the
normal Navier-Stokes equations themselves.4 (McDonough, 2007 [8])

4.3.1 LES filtered Navier Stokes equations


In this section continuity and momentum equations for incompressible flows
are presented. Thanks to their lower level of complexity they allow the reader to
4
This is true also because the turbulent stress of the sub-grid scale models is typically
constructed so that it converges to zero as the mesh size is refined.
4.3. LES 25

concentrate on the main challenges linked to the LES filtering procedure.


The continuity equation for incompressible fluids is ∇ · U = 0, which leads to:
∂Ux ∂Uy ∂Uz
+ + =0 (4.23)
∂x ∂y ∂z
Applying the filter it will result in:

∂U
gx ∂U gy ∂U gz
+ + =0 (4.24)
∂x ∂y ∂z
For typical kernel functions (but not for all of them in general), the commutativity
between the spatial filter and the spatial differentiation holds. (McDonough, 2007
[8]) This means that
∂U
gi ∂ ũi
=
∂xi ∂xi
and
∂ ũx ∂ ũy ∂ ũz
+ + =0 (4.25)
∂x ∂y ∂z
Since equation 4.22 holds, it can be easily seen that also ∇ · u0 = 0, meaning
that divergence-free condition is true for both the large and the small scales.
(McDonough, 2007 [8])
The only term that is not straightforward in the filtering operations is the
convection term in the momentum equation:

∂e
u  
+ ∇ · UUg = −∇e p + ν∇2 u e (4.26)
∂x
Looking more into detail at the second term:
 
∇ · UUg = ∇ · ((e u+u^0 )(e
u + u0 ))

0 e + u 0 )) = u 0 0 0 0
∇ · ((uei + u^
i )(uj j
g
eiu
ej + ue
gi uj + ui u
g ej + ug
i uj

The first of these terms ue


giu
ej is part of the Leonard stress (see 4.27 ), and it can still
0 0
be computed directly. The second and the third terms ue gi uj + ui u
g ej are together the
cross stress, which in the RANS decomposition is equal to zero, and which instead
0 0
in LES has to be modelled. The final term ug i uj is equivalent to the Reynolds stress
of RANS, so the name is conserved also in this approach.

Lij ≡ ue
giuej − uei uej Leonard stress
0 0 (4.27)
Cij ≡ ue
gi uj + ui u
g ej Cross stress
0 0
Rij ≡ ug u
i j Reynolds stress
In the past each of these terms used to be modelled independently, but it was later
realized how modeling all them together under one term resulted to be actually
more convenient, since certain numerical properties were conserved (the sub-grid
scale stress is invariant to Galilean transformation, which means that it remanis
constant even if the frame of reference changes its velocity (Meneveau, 2010 [9])).
26 Chapter 4. Turbulence Models

 
Looking at equation 4.26 it can be seen that the term ∇ · UU has to be
g
written in the form ∇ · (e uue ), otherwise the system cannot be linearized and solved.
In order to do this, a correction term has to be introduced to keep the equation
valid, which is the difference between the two mentioned terms and takes the name
of sub-grid scale stress 5 :
∇ · τSGS = ∇ · (UU)
g − ∇ · (e
uue) (4.28)
where the sub-grid stress is defined as the sum of Leonard, Cross and Reynolds
stresses:
τSGS ij = Lij + Cij + Rij (4.29)
It should now be clear why the second term of the Leonard stress was added,
remembering that Lij ≡ ueg ej − uei uej . The final resulting filtered momentum
iu
equation will then be:

∂eu
+ ∇ · (e
uue ) = −∇ep + ν∇2 u
e − ∇ · τSGS (4.30)
∂x
where the sub-grid stress term has to be properly modelled (the name stress is only
linked to how it is treated, not to its physical meaning).

4.3.2 The Smagorinsky model


The Smagorinsky model is an eddy viscosity model based on the principle that
the sub-grid scale stress affects the equations mainly by increasing transport and
dissipation. Since this two phenomena are caused by viscosity in the laminar flow
case it makes sense to exploit the Boussinesq hypothesis.

τij =U i Uj − u
ei u
] ej
(4.31)
 
1 1
= τkk δij + τij − τkk δij
3 3
In the equation above, τ is decomposed in its isotropic and anisotropic part, with
τkk indicating the diagonal components of the stress tensor. In a matrix approach
this results in the trace of the tensor, where for a generic matrix A:
n
X
tr(A) = aii = a11 + a22 + ... + ann
i=1

Just like in the RANS approach, the Boussinesq hypothesis can be introduced in
order to model the deviatoric part of the sub-grid stress tensor. In this way the
turbulent stresses are believed to behave formally as the viscous stresses.

 
1 1
τkk δij + τij − τkk δij
3 3 (4.32)
1
' τkk δij − 2νsgs dev(D)
e ij
3
5
In this chapter the tensors are not represented with a double over-line for the sake of simplicity
4.3. LES 27

In the equation above νsgs is the sub-grid eddy viscosity and D


e ij is the resolved
-scale strain rate tensor:  
1 ∂e
ui ∂e
uj
De ij = + (4.33)
2 ∂xj ∂xi
Where dev() is the operator that takes the deviatoric part of a tensor: if applied to
a generic tensor A this gives:

1
dev(A) = A − tr(A)I (4.34)
3
The viscosity term has to be modelled here as well, and it is done through a
formulation that is in principle similar to the one of the mixing length concept used
in RANS:
νSGS = (CS ∆)2 |D|
e (4.35)
where ∆ is, as seen before, the filter width, while Cs is the Smagorinsky constant
and p
|De |= 2D e :D
e (4.36)
As it can be assessed from equation 4.35 the Smagorinsky model is completely
dissipative, that is why it is not appropriate for wall bounded flows. In fact, in
these cases as much as one third of the turbulent energy that reaches the sub-grid
scales is then returned to the larger ones (back-scatter phenomenon).

Smagorinsky in OpenFOAM
In this section the implementation of the Smagorinsy model in OpenFOAM
according to Nozaki’s CFD blog [12] is shown.6
In analogy with the RANS approach, where the turbulent kinetic energy is
defined as
1
k = − tr(r) (4.37)

(with r=Reynolds stress) the sub-grid scale kinetic energy is defined as:

1 1 ] 
ksgs = τkk = Uk Uk − u
ek uek (4.38)
2 2
Substituting this definition inside equation 4.32 the following result is obtained:
1
τkk δij − 2νsgs dev(D)
e ij
3 (4.39)
2
= ksgs δij − 2νsgs dev(D) e ij
3
The ksgs is computed from a local equilibrium hypothesis, so that the production
and the dissipation of it are balanced:
1.5
e : τ + Cε ksgs
D =0 (4.40)

6
τSGS is here referred as only τ for the sake of simplicity.
28 Chapter 4. Turbulence Models

The turbulent viscosity is then computed from the following equation, that follows
the principle already adopted in RANS where the viscosity scales with a length
scale and velocity p
νsgs = Ck ∆ ksgs (4.41)
where Ck =0.094 as default value. Given these definitions equation 4.40 can be
reformulated as follows:

ksgs 1.5
 
2
D:
e ksgs I − 2νsgs dev(D) + Cε
e =0
3 ∆
ksgs 1.5
 
2 p
⇒D :
e ksgs I − 2Ck ∆ ksgs dev(D) + Cε
e =0
3 ∆
 
p Cε 2 e p 
(4.42)
⇒ ksgs ksgs + tr(D) ksgs − 2Ck ∆ dev(D) : D e e =0
∆ 3
p
⇒aksgs + b ksgs − c = 0
√ !2
2
−b + b + 4ac
⇒ksgs =
2a

where: 

 a= ∆


b = 23 tr(D)
e
  (4.43)

 c = 2Ck ∆ dev(D)
 e :D
e

In order to return to the formulation of 4.35 a simplification is introduced, consid-


ering the flow incompressible. In this way the following equations can be written:

C
 a = ∆ε


b = 32 tr(D)
e =0
  (4.44)
 2
 c = 2Ck ∆ dev(D)
 e :D e = Ck ∆|D| e

where p
|D|
e = 2D
e :D
e (4.45)
by substituting in equation 4.42 the following relation is found:

c Ck ∆2 |D|
e2
ksgs = = (4.46)
a Cε
Introducing now this result into equation 4.41 a formulation for sub-grid scale eddy
viscosity of incompressible flows can be written as:
r
Ck 2 e
νsgs = Ck ∆ |D| (4.47)

Comparing with equation 4.35 a final formulation for the Smagorinsky constant Cs
is now available: r
2 Ck
Cs = Ck (4.48)

4.3. LES 29

Figure 4.1: Second filter in dynamic models (McDonough, 2007 [8])

4.3.3 Dynamic models


Dynamic models are those models proposed at first by Germano et al. in 1991.
These models conserve the Smagorinsky structure, the Smagorinsky constant is
now computed as function of time and space. The idea that stands behind it is that
the resolved scales close to the filter will have characteristics similar to the ones
of the scales just underneath the filter (scale similarity model). This is exploited
through another filtering operation: it is typical for the filter width of the new filter
to be twice as big as the first one, as shown in figure 4.1. (McDonough, 2007 [8])
Since these models were not part of this study, the detailed explanation of their
function is here omitted.

4.3.4 WALE model


The Wall-Adapting Local Eddy-viscosity sub-grid scale model was developed by
Nicoud and Ducros. The authors presented this new model in [11], published in
April 1999. Here follows a summary of their work.
All the eddy viscosity-based SGS models can be rewritten in the form of 4.32,
with νsgs defined as follows:

νsgs = Cm ∆2 OP
g (x, t) (4.49)

In the equation above OP is an operator in space and time and defined from
the resolved fields: in the previously described Smagorinsky model this operator
corresponds for example to |D|.
e Nicoud and Ducros proposed a new operator in order
to upgrade the Smagorinsky model and overcome some of its main disadvantages.
The main problem of classical models are:
30 Chapter 4. Turbulence Models

1. Energy is concentrated in the streams7 and energy dissipation in eddies and


convergence zones8 : Smagorinsky model does not take into account the former,
where the vorticity dominates over the irrotational strain. (Nicoud and Ducros
1999, [11])

2. Near wall behavior: with Smagorinsky model a non-zero value of the sub-
grid scale viscosity is present near the wall, even though physically all the
turbulence is damped and the νsgs should be null.

Several different models have been proposed in order to deal with these two main
issues. Resulting solutions are several, the most diffused of which are probably
the dynamic models, described in the previous subsection, where the Smagorinsky
constant becomes a function of both time and space. However, defining a test
filter in complex geometries as it is required for dynamic models may lead to issues
(Nicoud and Ducros 1999, [11]).
As a result of these considerations, the WALE model was proposed in order to
guarantee better performances and also an easy implementation on more complicated
meshes. The WALE model presents the operator OP discussed above with the
following properties:

1. It is invariant to any coordinate translation o rotation;

2. It is easy to determine on any kind of computational grid;

3. It is function of both strain and rotation rates;

4. No-slip condition at wall is reproduced without the need of neither dynamic


methods or damping function (e.g. Van Driest).

In the WALE model, the OP


g is defined as follows:

d 3/2
d

Dij Dij
OP
g= 5/2 (4.50)
d 5/4
d

D
e ij D
e ij + Dij Dij

resulting in a formulation of the sub-grid scale viscosity as:

d 3/2
d

D ij Dij
νsgs = (Cw ∆)2  5/2 (4.51)
d 5/4
d

Dij Dij
e e + Dij Dij

In the equations above D fij corresponds to the deformation tensor of the resolved
d
field, as defined in equation 4.33, while Dij is defined as:

d 1 2 2 1 2
Dij = (e
gij + geji ) − δij gekk (4.52)
2 3
7
Stream regions are regions where the flow is relatively fast, the flow lines are not much curved
and not significantly converging (Hunt et a., 1988 [5]).
8
Convergence zones are characterized by irrotational straining motion and convergence of the
stream lines, like in stagnation points (Hunt et a., 1988 [5])
4.3. LES 31

with geij = ∂e
ui /∂xj the velocity gradient tensor. Finally Cw is a constant of the
model and ∆ is the filter length scale (in practice usually corresponding to the
mesh size).
The reasoning of how such an operator was chosen from the authors of the
WALE method is now introduced. Considering the near-wall behaviour of the flow
in a case of a flat plate, placed at y = 0, with a homogeneous incompressible flow,
the following conclusion can be drawn:

1. ∇ · u = 0

2. u(y = 0) = 0

3. Because of point 1, the first invariant of both the velocity gradient tensor ge
and the strain rate one De are zero. Please note that the first invariant of a
tensor is nothing else but its trace.

4. The second and third invariant of D e are not zero. In particular the second
invariant, since the first one is zero, is reduced to − 12 D
e D e . This term is
q ij ij
strongly related to the Smagorinsky operator OP g = 2D e ij D
e ij

The idea behind the WALE method is to change the reference tensor D e to
extrapolate an invariant, since as explained in point 4 both the second and third
invariant remain consistently different from zero approaching the wall. In order to
do this , an additional tensor has to be introduced:
 
1 ∂e ui ∂e
uj
Ωij =
e − (4.53)
2 ∂xj ∂xi

This is equivalent to half of (e g − geT ), also known as the rotation rate of the flow.
In fact its six non-zero components (the three on the diagonal are equal to zero)
represent the three components of the rotor of the velocity field and their opposites.
Once that this tensor is defined, the equation 4.52 can be rewritten as :

e kj − 1 δij D
h i
d e mn − Ω
Dij =D e ik D
e kj + Ωe ik Ω e mn D e mn Ω
e mn (4.54)
3
Since this tensor is defined as the deviatoric part of the square of the velocity
gradient tensor, by definition its first invariant (or trace) is null. Its second
d d
invariant instead is finite and found to be proportional to Dij Dij . Assuming the
case of an incompressible flow, this quantity can be written as :
 
d d 1 2 2 2 2 2 2 2
Dij Dij = D D + Ω Ω + D Ω + 2IVSΩ (4.55)
6 3

where
D2 = D e ij Ω2 = Ω
e ij D e ij Ω
e ij IVAΩ = D
e ik D
e kj Ω
e jl Ω
e li

In this way it can be well recognized how both the influences of the strain rate
tensor and of the rotation rate tensor are both represented. In the case of pure
shear, if for example g12 is the only non-zero component of the velocity gradient
32 Chapter 4. Turbulence Models

tensor, then D2 = Ω2 = 4D e 12 and IVDΩ = − 1 D2 D2 , resulting in an invariant equal


2
to zero. This in accordance with what stated before regarding the stream zones:
dissipation is concentrated in the eddies and in the convergence zones, while it
is way less relevant in the stream ones. In case of wall-bounded laminar flow no
eddy-viscosity is produced. This would permit to describe the laminar to turbulent
transition, thanks to the fact that small instabilities will not be dissipated by the
model, as in the case of Smagorinsky model.
In order to get to the final operator OP that characterizes ultimately the WALE
method, two further steps are still needed. First, in order to reproduce the law of
the wall with a third order function (∼ y 3 ), the tensor Dijd d
Dij has to be elevated to
3 d d
the 2 power. In fact, without this operation the behaviour of Dij Dij would be only
2
of the second order (∼ y ). The second step is to bring the operator to the needed
dimensions, dividing it by:
 5/2
d d 5/4

D
e ij D
e ij + Dij Dij
 5/2
This choice looks quite more complicated than a simple division for D e ij D
e ij ,
but it is necessary in order to avoid the determinant to have eventually a zero-value.
Finally, in order to evaluate the constant Cw , a similitude with the classical
Smagorinsky model is assessed imposing the ensemble-average h...i sub-grid kinetic
energy dissipation to be equal. As a consequence:
√  3/2
h 2 De ij D
e ij i
Cw2 = Cs2 (4.56)
hD
e ij D gi
e ij OP

WALE in OpenFOAM
As for the case of Smagorinsky model, also for the the WALE one OpenFOAM
does not compute directly the νsgs : instead it first derives the value of the sub-grid
scale turbulent kinetic energy ksgs . Once this quantity is known, equation 4.41
leads then to νsgs . It must be noted that it might be interesting to compare this
modelled kinetic energy with the resolved one, in order to check how much of the
total kinetic energy is solved and how much is hidden under the grid scale, and so
modelled. In order to do this, the standard OpenFOAM solver has to be modified,
otherwise the code computes ksgs without giving it as output.
As explained by Nozaki’s CFD blog [12], OpenFOAM computes the sub-grid
scale turbulent kinetic energy as follows:
 2 2 d 3
d

Cw ∆ Dij Dij
ksgs =  2 (4.57)
Ck
 5/2 d d 5/4
Dij Dij + Dij Dij
p
Substituing this formulation in νsgs = Ck ∆ ksgs it can be noted that this corre-
sponds exactly to the definition given earlier in this chapter (see equation 4.51).
d d 3/2

2
Dij Sij
νsgs = (Cw ∆)  5/2
d 5/4
d

D
e ij D
e ij + Dij Dij
4.3. LES 33

4.3.5 k-Equation model


The k-equation model, ore one-equation model, is a sub-grid scale model that
also applies the formalism of Boussinesq hypothesis, so that up to the formulation
of 4.32 it corresponds to all the previously described sub-grid scale models. The
difference is in how the ksgs is computed. Instead of setting the hypothesis that
k is in equilibrium between the smaller and resolved scales, a complete transport
equation is resolved:

 
∂(ρksgs ) ∂(ρe
uj ksgs ) ∂ ∂ksgs
+ − ρ (ν + νsgs ) (4.58)
∂t ∂xj ∂xj ∂xj
3/2
e ij − Cε ρksgs
= −ρτij : D (4.59)

In the equation above the terms are representing, from left to right: temporal
derivative, convective, diffusion, production and dissipation of the sub-grid scale
turbulent kinetic energy. The last two terms are the only one considered in the
balance for the Smagorinsky model, as seenp in 4.40. (Nozaki’s CFD blog [12])
Once that ksgs is computed, νsgs = Ck ∆ ksgs leads to the computation of the
sub-grid scale eddy viscosity. In OpenFOAM, since a whole additional new equation
for the new field has to be solved, like in the RANS approach, boundary conditions
for k are to be set. The solver will compute and write k as output automatically.
Chapter 5

Numerical Results - RANS

The approach chosen for the first part of the study is based on the Reynolds
averaged Navier-Stokes equations. Thanks to the high level of modelling of this
method, a very much lower number of cells inside the discretization domain can
be used, resulting in a drastic reduction of computational time with respect to
both LES and DNS. Through the RANS simulations, a first understanding of the
problem was achieved, as well as some important information abut the domain size
and the boundary conditions that have been subsequently exploited for the LES
study.

5.1 First studies


During the first phases of the project several different issues arose and a large
amount of time was required in order to deal with them. The most relevant problem
was the generation of unexpected oscillations of the jet. Since the study was starting
from scratch, the domain size as well as the nozzle outlet conditions were not given,
resulting in a high number of free parameters to be set. The final set up is the
result of many different trials of setting these parameters as correct as possible.
The whole project was based on comparisons with results found in literature, in
which the domain dimensions as well as the nozzle exit flow characteristics were
found to be several different ones.

5.2 Domain
A big advantage of the RANS method is that it allows to solve a planar problem
without the need of solving the third direction (z in this project).1 This kind of
approach is allowed by the fact that the problem to be solved is the one of a planar
jet, which means that the problem is constant along the third direction (this is not
true anymore for the LES approach). Even if the problem studied is the one of a
planar jet, the nozzle will be described in this work by a parameter d (diameter)
1
This is achieved in OpenFOAM through the definition of the patches in z-direction as empty.
This option tells the solver to solve the momentum equation only in the x and y directions (x is
the axial direction, y is the transverse direction).

35
36 Chapter 5. Numerical Results - RANS

Figure 5.1: The final domain - RANS, L=length=60d W=width=10d.

which is not referring to a real diameter, but to the nozzle transverse dimension
(y-direction).
The obvious result of a 2D domain is that the number of cells in the third
direction is reduced to only one, so in this case the total number of cells is reduced
by one or two orders of magnitude. In picture 5.1 the 2D domain chosen is shown.
The final choice of the domain dimensions is the result of an independence test
both in x and y direction. This means that different similar domains were tested
in order to check the influence on the results as the length and the width of the
domain were varied.
As reference to evaluate the independence of the results on the domain, the flow
fields were sampled on a transverse line at x = 40d. In this region self similarity
of the fields should be reached, allowing comparisons among different experiments
carried out in different conditions. (Terashima et al., 2015 [14])
It must be stressed that the dimensions of the domain are to be chosen as
the result of a trade off between region of interest, influence of boundaries on the
solution and computational time. The problem of computational time is of course
widely increased as the turbulence model is switched to LES since the 3D domain
and the need of cell size to be inside the inertial sub-range of the energy cascade
makes the number of cells rise steeply.
The domain independence analysis was developed with a mesh that resulted
to be coarser than the final one, allowing the study to be less expansive from a
computational time point of view. This procedure is based on the hypothesis that
the error introduced by the coarser mesh does not influence the impact of the
domain width and length on the solution. The final results were found to be in
5.2. Domain 37

(a) normalized axial velocity (b) normalized transverse velocity

(c) normalized Temperature (d) normalized velocity fluctuations

Figure 5.2: Width independence test vs experiments, tranverse profiles at x = 40d


(exp:[14] in (a,d) and [7] in (c))
38 Chapter 5. Numerical Results - RANS

(a) normalized axial velocity (b) normalized transverse velocity

(c) normalized Temperature (d) normalized velocity fluctuations

Figure 5.3: Length independence test vs experiments, tranverse profiles at x = 40d


(exp:[14] in (a,d) and [7] in (c))
5.2. Domain 39

agreement with this hypothesis.


The domain was chosen to be inclined for two reasons:

1. In this way the cells were automatically shaped so that those closer to the
nozzle had a smaller size (in y direction) with respect to those closer to the
outlet.

2. Since the inclination of the lateral boundaries α was chosen so that they
remained parallel to the jet boundaries, all the domains generated with the
different lengths resulted to be similar, meaning that the distance between
the jet and the lateral boundaries remained constant.

The results of the width and length domain independence analysis are shown in
figures 5.2 and 5.3 respectively: the final choice selected the couple of parameters
(W = 10d, L = 60d). It should be noted that as the width was varied the length
was kept constant to L = 60d, while as the length was varied the width was kept
constant to W = 10d. In these diagrams four different plots for each independence
study are presented. All of them are transverse profiles sampled at x = 40d, plotted
over the normalized tranverse distance: the first one shows the normalized profile
of axial velocity, where the axial velocity is divided by the core axial velocity (at
y = 0). The lateral coordinate is divided by the half-width distance. In plot b the
normalized profile of the transverse velocity is shown, where the transverse velocity
is divided by the core axial velocity. Plot c represents the normalized temperature
profile over a different normilized lateral coordinate, where instead of the velocity
half-width distance the temperature half-width distance y0.5,T is used. This quantity
is defined as the lateral distance at which the normalized temperature profile equals
the value of 0.5. In plot d the normalized velocity oscillations are shown, this time
normalized with respect to the velocity oscillations in the core. This quantity is
calculated from the turbulent kinetic energy as in equation 5.1. The hypothesis
that hides behind this definition is that the turbulence is isotropic, meaning that
velocity fluctuations, once averaged over time, result to be equal in every direction.
Equation 5.1 can be then derived from the definition of turbulent kinetic energy
(5.2) simply by setting u0x = u0y = u0z . In fact, comparing the experimental results
from Terashima et al. (2015 [14]) with a so-computed velocity fluctuation involves
an error in itself, by definition, since the experiments are reported considering the
fluctuations only in axial direction. A better comparison could be for example
comparing directly the turbulent kinetic energies, which are representative of the
fluctuations in all the three directions.
r
2
u0 = k (5.1)
3
1 02 02 02

k= u + uy + uz (5.2)
2 x
Looking at the axial velocity profiles, differences are very hard to capture, so that
a much higher zoom would be needed to show a real convergence. With convergence
it is here meant a trend of the profiles that shows a higher independence from the
domain size, as the domain in enlarged. Since the scalar field is transported by
40 Chapter 5. Numerical Results - RANS

(a) whole domain

(b) zoom on inlet

Figure 5.4: Mesh 40.000 cells

all the components of the velocity field, a higher difference between the different
cases can be seen for the temperature field, in particular in the length independence
test. In fact, since the temperature is subjected to a very low gradient, it can be
considered as a passive scalar transported by the flow. In the case of the length
independence test on the transverse velocity profile, convergence can be seen also
from a larger scale plot: here it is clear how a domain of L = 40d or L = 45d is
not sufficient to describe the flow field at x = 40d. This makes sense since in the
outlet region velocities are still considerably high and the influence of the boundary
conditions on the fields is particularly strong. The final choice of a domain with
W = 10d and L = 60d was then believed to be sufficiently correct for the type of
study that this work was meant to carry out.
5.3. Mesh 41

5.3 Mesh
The mesh was generated through the OpenFOAM utility BlockMesh. This
utility allows to build a Hexahedra cell-shape mesh defining one or more blocks,
as well as the number of cells along their edges. The distribution of cell-size is
controlled by the simpleGrading option (see appendix A). A constraint that this
utility imposes is the correspondence one to one between different blocks, meaning
that if two different blocks share an edge, the number of cells as well as their
distribution will have to be equal for both blocks.
In order to be able to create different domains with different sizes but with similar
meshes, an Excel file was developed and used: in this way some of the characteristics
of the mesh were computed and monitored directly even before running BlockMesh.
For example, aspect ratios in most critical zones where checked, as well as the size
ratio between cells belonging to different blocks. The average cell length in every
block and for each direction was kept constant as the domain size changed, as well
as the inclination of the lateral boundaries. The same tool was then used in the
mesh independence test, in which every refinement step was accomplished through
a reduction of the average cell size, again in every block and for each direction.

5.3.1 The blocks


The domain was divided into four blocks as shown in figure 5.5, symmetrically
constructed with respect to the axis of the jet (x-axis). The two inner blocks cover
the region where the axial velocity of the jet is higher than zero. In this zone the
expansion ratio in y-direction is kept at one, so that the distribution of the cell size
is constant. In fact, the cells in this regions are already scaled in y-direction thanks
to the inclination of the edges of the blocks themselves. The outer blocks cover the
area of the entertainment air: in this region the transverse velocity Uy is opposite
in sign with respect to the one inside the jet. Here the distribution of cells in
y-direction is more complex, and it is achieved through the possibility in BlockMesh
OpenFOAM 4.1.0 of defining different expansion ratios for different parts of the
same edge. This arrangement was exploited in order to achieve a smoother cell size
transition from the inner to the outer blocks: in particular in the regions closer to
the inlet. This solution anyway was not sufficient to guarantee a smooth transition
at regions closer to the outlet. This issue was overcome through the definition of
the expansion ratios separately for each of the four vertical edges of the same block.

5.3.2 Mesh independence test


Since a truncation error is always introduced when a discretization is space in
present, which is the case of the CFD approach, an analysis on this error has to be
carried out in order to ensure that it is small enough to be considered negligible. If
a problem is well posed and consistency and stability of the method are ensured,
thanks to Lax theorem the solution can be defined as convergent. This means
that as the ∆x (as well as ∆t) are approaching zero, the solution of the numerical
problem is converging to the exact solution. If the Lax hypothesis are then satisfied,
as the mesh size decreases, the truncation error tends to zero.
42 Chapter 5. Numerical Results - RANS

Figure 5.5: Blocks definition

(a) normalized axial velocity (b) normalized transverse velocity

(c) normalized Temperature (d) normalized velocity fluctuations

Figure 5.6: Mesh independence test vs experiments, tranverse profiles at x = 40d


(exp:[14] in (a,d) and [7] in (c))
5.3. Mesh 43

Table 5.1: Mesh refinement: number of cells

Cells number [thousands]


ref1 40.0
ref2 78.4
ref3 129.6
ref4 160.0
ref5 193.6
ref6 230.4
ref7 270.4

Table 5.2: Mesh quality parameters - RANS

Mesh quality parameters ref4


max aspect ratio 19.82
max non orthogonality 15.57
average non orthogonality 11.34
max skewness 0.55

In order to assess the independence of the solution from the mesh size, a mesh
independence test was carried out. The mesh was refined linearly in every direction
(x,y) while the domain dimensions were fixed to the ones resulting from the domain
independence analysis (W = 10d, L = 60d): the results are reported in figure 5.6.
The graphs show the same quantities plotted before for the domain independence
test, this time for the cases of the different meshes. Good convergence is found for
a mesh with 160,000 cells (ref4). It can be noted that also in this case the plots
seem to converge very soon and to fall quite perfectly together. In reality with
a zoom on the low-velocity zones, i.e. the boundary of the jet, a more accurate
convergence study can be carried out, showing a better convergence only after ref4.
It was chosen anyway to report here the plots in their whole shape in order to show
to the reader how small actually the scale of this error is, in particular compared
to LES, as shown later in this work.
In tables 5.1 and 5.2 the cells number for each refinement case and the mesh
quality parameters for mesh ref4 are shown respectively. Because of how these
meshes were constructed, these parameters resulted in being very similar of all the
different mesh and domain sizes. The maximum aspect ratio of almost 20 is due
to the cells close to the corners between the lateral boundaries and the inlet walls.
Those cells were believed to have a very small contribution on the final solution, so
that a high aspect ratio was believed to be acceptable. The non orthogonality is
quite low, as well as the maximum skewness.
It must be noted that for this simulations the interpolations schemes for the
quantities from cells centers to face centers for all the divergence terms were set to
upwind. This means that the error decreases linearly with the cell size (first order
schemes) and that better combinations of schemes could be investigated in order
to increase accuracy and decrease the number of cells (e.g. TVD, linearLimited or
gamma schemes). However, as far as this project is concerned, results were believed
44 Chapter 5. Numerical Results - RANS

to be accurate enough. The objective of the study was in fact a deeper analysis on
Large Eddy Simulation turbulence models, in order to compare them with RANS
approach and experiments.

5.4 Boundary Conditions


Boundary conditions where found to be a very challenging issue through the
whole project. Typical outlet boundary conditions for subsonic flows are defined
through a fixedValue condition on pressure and a zeroGradient condition on velocity
and temperature. The first one is a Dirichlet condition, where the value of the field
(pressure in this case) is set to be exactly equal to the given value (e.g. ambient
pressure). For what concerns the zeroGradient condition, this is a Neumann
condition that sets to zero the gradient of the field quantity considered in direction
normal to the surface of the boundary. The problems arising in this test case come
from the fact that there is flow incoming not only from the inlet patch (i.e. nozzle
exit), but also from the lateral boundaries (entrainment mass flow). This air has
no given velocity and its distribution along the boundary is not known a priori.
This means that it has to be extrapolated from the inside, even though it is in
fact air coming from the outside. This problem brought to deal with different
issues of instability during the definition of the boundary conditions in the early
stages of the project. In the end, an ambient pressure fixedValue condition was
chosen for the lateral boundaries, while for the outlet a zeroGradient condition was
preferred. This approach resulted to be different from what was found in literature:
other CFD papers treating the same problem used typically a fixedValue boundary
condition on pressure also on the outlet patch. It must be noted that the patches
surrounding the inlet are no-slip walls.

5.4.1 Initial conditions


In order to start the simulation, the flow field has to be initialized to an
initial condition. This is the starting point of the first iteration of the simulation.
In this test case the initial condition is quite straightforward, since the flow is
initialized everywhere as ambient quiescent air. As a consequence the pressure
is 1 bar everywhere, temperature is ambient and velocity is set to zero for all the
components in the whole domain. The turbulence quantities are all set to zero,
except for the turbulent frequency ω which it is set to one.

5.4.2 Inlet boundary conditions


The inlet boundary conditions are very simple and introduce an amount of error
due to their non physicality. In fact the velocity profile is set to be uniform and
constant in time: both these two conditions are not true in a real problem. The flow
entering the modelled domain would have a velocity distribution along y-direction
depending on the type of nozzle and changing instantaneously in time. Since the
RANS approach is anyway built on a time-averaged set of fluid dynamics equations,
considering the profile constant in time is reasonable. Instead, if a deeper research
5.5. Solver 45

were to be done, an improvement would be the one of working on the Ux profile


at the inlet, either by simulating also the nozzle, or by defining the inlet profile
directly through a function. As already stated previously, this step was avoided in
order to proceed to the more important parts of the project (i.e. LES simulations).
Since in the chosen RANS model there are two additional conservation equations
on k and ω, it is required from the solver to have boundary conditions also on these
quantities.
3
k= (U I)2 (5.3)
2

− 14 k
ω = Cµ (5.4)
l
The formulas above show the way through which the boundary conditions for k and
ω were defined at the inlet patch. In these equations the term U is the inlet velocity
u0x
and I is the Turbulent Intensity, defined as Ux (if the flow were one dimensional).
In this case it was set to 0.1 (10%). The constant Cµ is a turbulence model constant
which was set equal to 0.09. l represents instead the turbulent length scale, the
scale of the largest eddy of the eddy cascade. This value was set to be equal to 7%
of the nozzle diameter.

5.5 Solver
After that four different solvers available in OpenFOAM and reasonable for this
type of problem were investigated, the final choice fell on rhoSimpleFoam. This is a
steady state solver (simple) for compressible flows (rho). Its incompressible version,
as well as the unsteady state solvers (pimpleFoam and rhoPimpleFoam ) were also
used. The choice for rhoSimpleFoam was actually not driven by deep theoretical
considerations, but simply from the fact that:

1. Temperature field was needed as output since required from the project
specifications, so also the energy equation had to be solved. Incompressible
solvers were also investigated in order to simplify the problem in the phase of
stabilization of the solution.

2. rhoPimpleFoam (compressible unsteady solver) presented crashing problems


with upwind schemes on divergence terms. Since with the linear schemes
strong oscillations of the flow were found, it was thought to proceed simply
with the steady state solver, that instead seemed to work smoothly with the
first order schemes. A short study later in the project demonstrated that this
problem could be overcome by simply adopting higher order schemes, but
still ensuring a more bounded solution (e.g. TVD schemes).

5.6 Setup
In OpenFOAM cases, the information about the discretization methods are
listed in the file fvSchemes, inside the system directory. In the same folder it is also
46 Chapter 5. Numerical Results - RANS

present the fvSolution file, where information about the solution of algebraic linear
systems as well as the settings of the solver parameters are present.
The discretization in time was set to steady state, which resulted in a non
physical advancement of the solution. OpenFOAM still defines a timeStep, even
though time is not present in the equations at all. In reality, the output time is
actually corresponding to the number of iterations as the solution approaches the
steady state one, if the deltaT parameter inside the system/controlDict file is set
to 1.
The gradient terms schemes were set to Central Differencing (linear ) while, as
already mentioned before, all the divergence terms were set to upwind in order to
ensure stability of the solution.
The solvers for the linear system equations and their parameters are defined
inside the fvSolution file. All the equations were solved through GAMG2 method
using Gauss Seidel as solver of each single system that the GAMG builds. The only
different solver is used to solve ρ, which is solved through PCG3 . All the tolerances
are set to 10−9 . A normal choice is to set tolerances to 10−6 , but in the early studies
it was found that forcing the tolerances to lower values allowed to reach a more
stable solution.
The SIMPLE loop was solved with 2 non-orthogonal corrections and with the
consistency option activated. Relaxation factors had to be very low to ensure
convergence (order of 0.1) and it was necessary to decrease them as the mesh size
was decreased.

5.7 Post-processing
OpenFOAM offers a great number of libraries in order to directly write post-
processing quantities during the simulation time. In particular in this phase it was
exploited for sampling, calculating y + and writing the residuals. All these options
are specified in the file system/controlDict. The y + was checked in order to ensure
its appropriate value at the walls surrounding the inlet. As the refinement on the
meshes proceeded, the y + kept decreasing, forcing to solve the boundary layer.
Residuals were fundamental to monitor the convergence of the solution. Since a
a steady state solver was used, they resulted to be very much dependent on the
relaxation factors. Initially, in order to check convergence, pressure and velocity
were sampled at some specific points at every iteration. In a second moment the
convergence of the whole transverse profile of interest (at x = 40d) was sampled
and monitored through gnuplot application. In particular for each case the profiles
were plotted at specific iterations, i.e. the ones corresponding to a determined
value on the residuals. This means that for example the profiles were plotted when
pressure residuals (always presenting the highest values) were equal to 10−4 , 10−5 ,
10−6 , 10−7 .

2
Generalised Geometric-Algebraic Multi-Grid
3
Preconditioned Conjugate Gradient
5.8. Comparison with experiments 47

5.8 Comparison with experiments


Looking at figure 5.6 from the mesh independence test, the comparison with
the literature results is commented here. The normalized profiles seem to fall very
well together with the experimental ones, in particular for axial velocity Ux . Since
temperature is affected by all velocity components, temperature profiles result to be
actually more suitable to compare the strength of the numerical analysis methods.
For the axial velocity and the velocity oscillations profiles a very good agreement
with experiments of Terashima et al. (2015 [14]) is shown, while for the temperature
profiles, compared instead with Jenkins and Goldschmidt (1973 [7]) a difference in
the low velocity part of the profile is found. This is an important point, since LES
results seemed to match better in these regions.
In figure 5.7 the self-similarity of the flow field properties is investigated. For
this purpose the axial evolution of the transverse profiles for the quantities shown
before is represented. For all the four quantities (plots a, b, c, d) a good convergence
is to be found after x = 25d. In plot e the axial development of the normalized
velocity half-width is depicted. This quantity is defined considering at each axial
position the transverse profile of axial velocity. In this case, the half-width (y0.5 )
corresponds to the y-coordinate where the axial velocity assumes half of the value
of the core. Here it is shown the half-width in comparison with the experiments
of Deo et al. (2008 [3]). The two lines do not show full agreement: in fact, the
results of the present study show a higher inclination of the line (Ky ). The value
computed from this simulations is Ky = 0.109. In the last plot of this figure the
temperature half width length is represented: as for the velocity one, the points
are forming one line after x = 20d, showing that the self similar region in this zone
should be developed. The line has a similar inclination to the one found by Jenkins
and Goldschmidt (1973 [7]) for the far field regions. The problem is that these
two curves present a large offset, so that the RANS results show a delay in the
enlargement of the temperature half width.
This is in agreement with figure 5.8, where the axial profiles of axial velocity
and temperature are shown. In the first plot, more intuitive, the core axial velocity
is normalized with the inlet one, so that axial velocity decay is represented over
the normalized axial distance. In the same plot the normalized potential core
lengths are shown, both for the present case and for Deo et al. (2008, [3]). The
experimental data are for a Reynolds number of 16,500, very similar to the one of
this work (Re = 16, 130). The line in the plots corresponds to the potential core
length computed by Deo et al. (2008, [3]), which results in xp = 3d. Interpolating
the data extracted from the same paper, a potential core length of xp = 4.44d is
computed, which is closer to the one found in this work (xp = 5.82d). From this
diagram it can bee seen how the two curves do not match well in the near field
region, while after x = 20d they seem to collapse together. This difference could be
attributed to a low capability of the model to describe the near flow region or to a
difference in initial conditions. In plot b the same non-dimensional profile of plot a
is reported, this time in a logarithmic scale. It is in this scale that the data were
extrapolated from the plots of Deo et al. (2008, [3]). In the third plot of figure 5.8
core axial velocity is normalized in such a way to represent the property of plane
jets, already discussed in chapter 1. The so-normalized axial velocity assumes a
48 Chapter 5. Numerical Results - RANS

linear behaviour over the non-dimensional axial velocity. The two curves show a
very similar inclination, up to the region close to the boundaries (x = 60d), where
the influence of boundary conditions is stronger. The inclination of this line is what
was introduced as Ku earlier in this work. It was computed here as the inclination of
the line passing through two points (x = 20d and x = 40d), resulting in Ku = 0.16,
which coincides with the one from Deo et al. (2008, [3]). Finally, the temperature
axial decay and its relative potential core are shown. It is here presented in the
more intuitive form in plot d and in its normalized form of chapter 1 in plot e. The
potential core calculated on the temperature field results to be xp,T = 6.4. The
experimental data available in the work of Jenkins and Goldschmidt (1973 [7]) was
referred only to the far field region, where the CFD results show a profile with a
big offset from the experiments. The points do not align so well, also after x = 20d,
this probably because of boundary conditions. In fact, also from the contour plots
a non physical behaviour in the core region close to the boundaries was observed.
The offset of this diagram together with the half-width profiles one show that the
temperature field is developing with a delay with respect to experiments. With
this, it is meant that the cone of the jet is starting spreading after a larger axial
distance because of a lower mixing and so a lower diffusion of the temperature field.
5.8. Comparison with experiments 49

(a) normalized axial velocity (exp a=[14], (b) normalized transverse velocity
exp b=[3])

(c) normalized Temperature (exp: [7]) (d) normalized velocity fluctuations (exp:
[14])

(e) normalized velocity half-width (exp: [3])(f ) normalized temperature half-width (exp:
[7])

Figure 5.7: Axial evolution of transverse normalized profiles


50 Chapter 5. Numerical Results - RANS

(a) normalized axial velocity and potential (b) normalized axial velocity and potential
core length (exp: [3]) core length in Log scale (exp: [3])

(c) normalized axial velocity (exp: [3]) (d) normalized temperature and tempera-
ture potential core length

(e) normalized temperature (exp: [7])

Figure 5.8: Axial profiles: RANS vs experiments


Chapter 6

Numerical Results - LES

6.1 First Attempts

After the RANS simulations, the first approach was simply to take the same
setup of the RANS cases and change the method to LES, WALE. The choice of
investigating WALE as first sub-grid scale model was given by the fact that it
had resulted to be the best choice for the Backward Facing Step case analyzed in
previous works by other colleagues in the company. Of course, from the RANS
setup some modifications were in the first place needed. First of all the mesh was
extruded in the third direction with a depth of 8d and a number of 53 cells. The
choice of 8d seemed reasonable in comparison with other works found in literature.
No kind of wall function was used anymore on the walls, so that the boundary layer
was solved directly. In LES simulations the interpolation schemes on the divergence
terms were upgraded from first to second order accuracy, i.e. linear schemes were
this time employed. First order schemes coupled with LES modeling techniques are
in fact known to be not sufficiently accurate at all, such that the diffusion of these
methods can bring to highly nonphysical results, especially for a turbulent free jet
case, a phenomenon completely dominated by turbulence. These upwind schemes
were anyhow eventually also employed, confirming the predictions here explained.

The very first trials were carried out with a domain including a very simple-
geometry nozzle, i.e. the one representing a 2D pipe so to maintain the plane jet
geometry. Probably because a very insufficient level of refinement inside the pipe,
the first results were showing high temperature and pressure waves inside the nozzle,
bringing to the conclusion of letting the nozzle out from the geometry in order to
gain in simplicity and quickness. Simulating also the flow inside the nozzle means
reconstructing the turbulence and the boundary layer profiles at the nozzle outlet.
Since in Mi et al. (2000, [10]) was shown that for a round jet the characteristics of
the flow, also in the self-similar state, are influenced by the nozzle geometry, the
simulation of the nozzle was believed of a certain importance. However, because of
the subsequent problems encountered during the further studies, unfortunately the
domain remained in its simplified version: no nozzle was anymore introduced.

51
52 Chapter 6. Numerical Results - LES

6.2 Crashing problems: BCs and schemes

LES modelling allows to solve numerically turbulence up to a certain length


scale: this is a filter length under which eddies are no more simulated, but only
their effects on the resolved scales are modeled and taken into account. This is
an advantage when it comes to describing the flow and its development from an
accuracy point of view, but it turns out to be a big disadvantage as far as boundary
conditions are concerned. In particular, the most challenging problems arise at
the definition of outlet or open boundary conditions. A quite trivial-geometry
problem such as the one of a turbulent free jet can become quite cumbersome
when it comes to the setup of the boundary conditions. In fact, if only physical
boundary conditions were to be applied on the domain (i.e. walls) the dimensions
of the domain would definitely be not affordable from the cell number point of
view (for example, in order to reproduce a real experiment domain, the geometry
would need to have the dimensions of a room). For this reason, the domain was
chosen to be much smaller than the dimensions of a room, increasing the impact
of numerical errors at BCs on the flow region of interest. Problems that were
found to be overcome in the RANS simulations turned out to be still present in
the case of LES turbulence models. In fact, the problems arise when the eddies of
the jet reach the boundaries and have to pass through them. Eddies means high
gradients of velocity in all the directions, while typical boundary conditions force
the gradient normal to the boundary to be fixed and equal to zero. This problem is
only worsened when linear schemes on the divergence terms are applied, allowing
the solution to become easily unstable and divergent.

6.2.1 New temperature BCs

For the first LES simulations described above, as the flow reached the boundaries,
the simulations were diverging and rapidly crashing. After a different number of
trials with different schemes, sub-grid scale models and boundary conditions, it was
found that a new boundary condition on the temperature field would have been more
physical and appropriate. In fact, on the lateral boundaries the temperature was
changed from a fixedValue at Tamb to a inletOutlet one. In this way the temperature
was fixed to ambient if the flow was coming inside the domain while a zeroGradient
condition was imposed otherwise. As expained before, zeroGradient refers to a
Neumann condition, with the gradient normal to the boundary set to zero. This
solution was found to be more appropriate: in fact, fixing the temperature also
as the flow exits the domain means fixing too many variables of the equations
system. This upgrade of boundary conditions had as result that the crashing error
reported by the software was not anymore a floating point exception on temperature,
demonstrating that this was an improvement of the setup. It must be noted that
this expedient turned out to be necessary only for the LES simulations because in
the RANS ones the flow never encountered the lateral boundaries.
6.2. Crashing problems: BCs and schemes 53

6.2.2 Diverging backflow


Once that temperature boundaries conditions were set to inletOutlet, crashing
problems were still occurring. The casue of these problems was found to be still
at the lateral boundaries. In particular, looking at the transverse velocity field
(Uy ), non-physical stripes where shown close to the lateral edges of the domain.
These non-physical features resulted into a diverging region which developed a huge
amount of back-flow just before the crash of the simulation. This behavior was
found to be absent instead with the usage of less accurate schemes on the divergence
term of velocity. In such a way a higher simulation time was achieved, even though
the flow resulted developing larger and larger instabilities, eventually leading to the
complete break up of the jet itself. In particular linearUpwind and vanDeer (TVD)
schemes were adopted, finding the second one to be more stable and ensuring a
longer simulating time (but still eventually diverging). The linearUpwind scheme is
similar the CD schemes, with the difference that the two cell centers used for the
linear interpolation are the ones of the two cells upstream of the considered face.
The TVD schemes (total variation diminuishing) are more complicated schemes
and, since their usage was not relevant for this study, a complete explenation is
here omitted.
After different trials with lower accuracy schemes, different boundary conditions
were investigated. The most common boundary condition in literature for LES
outlets was found to be the convective boundary condition (or, as implemented in
OpenFOAM, the advective boundary condition). According to Nozaki’s CFD blog
[12] the advective and WaveTransmissive boundary conditions are implemented in
OpenFOAM in the following form:
Dϕ ∂ϕ
= + U · ∇ϕ = 0 (6.1)
Dt ∂t
D
In the equation above the term Dt stands for the total (or material) derivative while
ϕ is a generic quantity. In order to refer to the advective BC as the convective
BC, the ϕ term was set to be equal to the mass flux (phi in OpenFOAM). U
corresponds instead to the advection velocity, that is assumed to be parallel to the
normal of the boundary. This brings to the following form:
Dϕ ∂ϕ ∂ϕ
≈ + Un · =0 (6.2)
Dt ∂t ∂n
Both advective and WaveTransmissive BC are written in this form, with the
only difference lying in the Un term. In the advection boundary condition it simply
corresponds to:
Un = un (6.3)
while for the waveTransmissive BC:
p
U n = un + c = un + γ/ψ (6.4)
Where γ is the ratio between the specific heats, while ψ is the compressibility
(ψ = RT −1 ), where R is the gas constant and T is temperature.
The convective boundary condition, accordingly to Gohil et al., cited by [1],
should allow the vortices generated from the field to pass through the boundaries
54 Chapter 6. Numerical Results - LES

without having an impact on the upstream flow. The waveTransmissive boundary


condition is instead mostly used in the cases of supersonic flows. Both these
boundary conditions were tried on the outlet and in several different combinations.
In particular, in order to be able to make a relative higher number of simulations
and investigating these possibilities, the mesh size was firstly brought to a 2D
case, then to a 3D and very coarse one. The 2D seemed to be too non-physical to
understand the results of these new boundary conditions on the study. For this
reason a 3D very coarse mesh was employed. The advective condition resulted to
act like a wall in presence of open boundaries (the flow was not able to pass through
the boundaries at all, turning and flowing parallel to it). When only one outlet
was present (a case of co-flow with walls on the lateral faces was also investigated)
the advective condition seemed to work better. In the co-flow case, even though it
seemed to preserve the simulations from crashing, it introduced very strong pressure
waves, resulting in waves also visible in the temperature field.
The first set of boundary conditions that was found free of crashing-problems
was the one with totalPressure OpenFOAM boundary condition. This corresponds
to a inletOutlet BC, so that pressure is set to fixed static pressure as the flow is
exiting the domain and to fixed total pressure otherwise. This resulted in much
longer simulating times, but in the end it also brought to non-physical results. In
fact, after a longer time, the outlet patch behaved as a filtering device, slowing
down the flow and forcing the jet to turn in correspondence of the outlet patch
towards the sides.
A last approach on this mesh was the definition of a so-called entrainment
boundary condition (please note this is just a name used to refer to the BC set now
explained). In this case the lateral boundaries presented an inletOutlet boundary
condition also on velocity: zeroGradient if outflow, fixedValue if inflow. The value
at which the lateral boundaries velocity was set was the one resulting from RANS
simulations. Even though it might seem a very strong numerical condition, it was
found used also in literature. The results on the velocity field seemed to be good
and promising, but the resulting pressure waves were huge and strongly influencing
the temperature field as well.

6.3 A new mesh - snappyHexMesh


As crashing problems with linear schemes were not overcome, as well as non-
diverging solutions with lower accuracy schemes were not to be found, a new idea to
diffuse the eddies and enlarge the domain was developed. Through the exploitation
of the OpenFOAM utility snappyHexMesh, a new mesh was generated in order
to have buffer layer cells close to the boundaries. The idea behind it was the
one of smoothing the flow and damping the gradients in the regions close to the
boundaries, in order to avoid the vortexes to recirculate across them. Since with
the first attempts the damping seemed to be not sufficient, the dimensions of the
domain were enormously enlarged, so that the final dimensions resulted in a box
10 mx10 m large (note that d = 1 cm). In figure 6.2 b the first version of this new
mesh is shown.
SnappyHexMesh is an automatic mesh generator already available with the
6.3. A new mesh - snappyHexMesh 55

(a) STL surface (b) blockMesh

(c) castellated mesh (d) snapped mesh

(e) mesh with layers

Figure 6.1: SnappyHexMesh utility [13]

(a) refinement region - example (b) new mesh, first version

Figure 6.2: SnappyHexMesh - refinement regions


56 Chapter 6. Numerical Results - LES

OpenFOAM package. This utility starts from a blockMesh mesh grid (figure 6.1
b) and refines the cells size depending on the specifications inside the snappy-
HexMeshDict file. It is mostly used to mesh around geometries, building firstly
a castellatedMesh, refining the mesh size towards the specified surface (figure 6.1
c). Every refinement level contains cells half as large as the one in the previous
level. In the present study, even though no surfaces to mesh were present, the
snappyHexMesh utility resulted very handy thanks to its possibility of refining not
only around given surfaces, but also in specified regions. For instance, one could
define a box inside the domain where the cell size is wanted to be finer, so that a
castellated mesh is then built around that region (see figure 6.2 a). SnappyHexMesh
has also the possibility, once the castellated mesh is built, to snap the cells around
the surface, so that the final domain boundary matches up to a certain tolerance
the given inserted surface (see figure 6.1 d). As a third step, this utility can also
build regular shaped layers of cells attached to the surface, in order to increase
the mesh quality and decrease the mesh size inside the boundary layer (see figure
6.1 e). In the present project the first step was sufficient (castellated mesh). The
two main parameters controlling the castellated mesh are the refinement level and
number of layers. The first one sets the number of refinement steps (levels) from
the coarser (blockMesh) to the refinement region. The latter defines instead the
number of layers between each refinement level. In the example of figure 6.2 a,
the result of a castellated mesh with a simple box refinement region is shown (the
dimensions of the refinement regions are defined directly in the snappyHexMeshDict
as a searchableBox type). In order to spare cells and reconstruct a region similar to
the one seen before in the RANS section, a mesh like the one in figure 6.2 b was
achieved through the definition in the snappyHexMeshDict of 120 refinement boxes
with a length of only 0.005 m and a height varying linearly with the axial distance.
In order to speed up the process and make it more automatic, the boxes were first
defined in an Excel sheet and then simply copied in the snappyHexMeshDict file.
One problem that arose from this approach was the definition of the inlet patch,
that if defined directly inside the block mesh brought to a mesh size distribution
different from the one researched. For this reason, the inlet patch was defined by a
searchable box outside the domain, but still sharing a surface with the domain (the
inlet one). In this way this new searchableBox was defined as refinement surface so
that the patch inlet was introduced. It must be noted that the snap control was
deactivated in order to avoid bad shaping of the cells near the inlet patch. With
this approach the resulting size of the inlet was slightly changing from case to case,
depending on the cell size of the cells close to the inlet.
The final mesh (6.3) was obtained with snappyHexMesh working this time from
a non-regular shaped blockMesh. In this way the distribution of cell size in x
direction was such that the ones closer to the inlet were about two times smaller
than the ones closer to the outlet (inside the refinement region) . The y-direction
cell size was such that the cells closer to the outlet were almost four times larger
than the one closer to the inlet (for more details the table 6.1 can be consulted).
This expedient allowed to have a smaller number of cells with a more efficient
distribution. A disadvantage of this choice was that the automatic meshing utility
snappyHexMesh seemed not to be able to build a proper number of refinement
layers in between each refinement step, resulting in a steeper gradient of cell size in
6.4. The setup 57

(a) (b)

Figure 6.3: Final mesh - fine case

the mesh. Finally, the third direction (z) dimensions were reduced from 8d to 6d in
order to gain in computational speed. Even though a real independence test on
this value was not carried out, the choice seemed reasonable for two reasons:
1. A simulation case with z = 4d was tested, bringing the flow to evident
instabilities: such instabilities were not to be seen in the case of z = 6d
2. In reference [1] z = 5d was used.

6.4 The setup


6.4.1 Boundary conditions
Some of the boundary conditions were already discussed in the previous sections.
For the sake of completeness a more detailed description is reported here. The
starting point was set to be the one resulting from the previous studies with the
RANS approach. In this way, velocity was set to zeroGradient on both the outlet
and lateral boundaries, while at the inlet patch a uniform profile of axial velocity
was imposed. An axial velocity of 25 m/s was chosen in order to have realistic
quantities comparable with experiments. In this way the Reynolds number at the
nozzle resulted to be around 16,000, close to the ones used in the experimental
references. The flow velocity was also chosen in order to stay in a subsonic field
(M ach ≈ 0.07), which is again the case of most results available in literature. It
must be noted that many papers found in literature simulating with LES models the
case of a turbulent free jet typically used more realistic inlet velocity conditions. In
fact, they reproduced determined profiles and eventually added random components
in time. In such a way turbulent characteristics were better reproduced. In this
study it was anyway believed to be a detail of secondary importance, so that a
uniform constant profile was adopted. In fact, as shown in figure 6.4 from Mi
et al. (2000,[10]), a top-hat profile is what is found to develop in the case of a
smooth contraction nozzle. It can be noted that the profile results to be quite flat
and similar to a uniform one. The other profile in the picture is the one resulting
from a jet issuing from a long pipe, which is characterized by a higher boundary
58 Chapter 6. Numerical Results - LES

Figure 6.4: Transverse profiles of the mean axial velocity at the nozzle exit for the cases
of smooth contraction nozzle and long pipe in a round jet [10].

layer thickness due to the developed turbulence inside the boundary layer. Finally,
velocity on the wall was set to slip, allowing in this way the cells near the walls to
be coarser because of the absence of the need of solving any boundary layer.
Pressure was set to ambient (1 bar) at the lateral boundaries and to zeroGradient
at the outlet patch. This choice was done in the RANS approach part and kept as
well for this second part of the project. In fact, it was found that substituting the
classical fixedValue BC on pressure at the outlet patch brought to improvements in
the phase of stabilization of the solution. A zeroGradient boundary condition was
also set on the walls and on the inlet patch, as done in the RANS case.
Temperature boundary conditions were already discussed earlier in this section.
Outlet, inlet, and walls patches were all set to zeroGradient (like for RANS), while
a inletOutlet condition was chosen for the lateral ones (inlet value equal to ambient
temperature). The difference in temperature between the inlet flow and the ambient
one was chosen to be very small (∆T = 3K) in order to be sure that no buoyancy
effects would arise. To double check this hypothesis, a supplementary simulation on
the mesh coarse was carried out with ∆T = 50K. No particular differences on the
results were found. It can be noted that with numerical simulations the difference
in temperature can be really small and yet well appreciable, so that the results do
not lose in accuracy, as instead in the case of experiments, where the resolution of
the transducers can be an issue.
Since the case of a planar jet was to be reproduced, the patches with normal in
the third direction (z) were set to periodic, with period length equals to the one of
the domain depth (6d in the final meshes).

6.4.2 fvSchemes and fvSolution


The discretization schemes of the convection terms were already subject of
discussion earlier in this chapter. The final choice was the one of setting on all
of these terms a central differencing-type second order scheme (linear ) in order
to ensure a higher accuracy also for the smallest scales. For what concerns time
dicretization, a first order implicit scheme was used (Euler implicit was adopted).
6.5. Results 59

This might seem a non-coherent choice with the discretization in space. In fact,
it is known that because of the high instabilities of the eddies, normally in LES
simulations a second order scheme is needed, also on time. However, since a Euler
implicit scheme is known to be more stable than for example a CrankNicolson one,
the choice was kept on the former, since the most problems encountered were about
crashing and diverging solutions. A simulation with a CrankNicolson scheme was
anyhow carried out, in order to assess the order of magnitude of the error. For this
reason, results from a simulation with mesh coarse were compared to the one with
Euler scheme on the same mesh. No significant difference was to be found in the
profiles, while a higher intensity of pressure waves was registered.
Inside the fvSolution file, the solvers on pressure and density equations were
GAMG type with Gauss Seidel as solver. All the other equations were instead
directly solved with a simple symGaussSeidel one. The tolerances were left to the
standard value of 1e-6: the choice of not using the RANS tolerances value 1e-9 was
given by the fact that a lower computational time was in this way allowed. The
PIMPLE options were set in a first moment with a number of nOuterCorrectors
equals to 50, imposing a residual control of 1e-6 on all the properties. This means
that the SIMPLE outer-loop looked for a converging solution inside each time
step up to maximmum 50 iterations. This resulted for basically all the cases in a
convergence in only 4 outer iterations. As a consequence, in order to gain in speed,
a number of 4 nOuterCorrectors was set, so that no computational time for the
residuals check was to be lost. nNonOrthogoanlCorrectors was set to zero: this
choice was done since the mesh in the fine region resulted to be quite orthogonal
and because the orthogonal corrections are known to be unbounded.

6.5 Results
6.5.1 Convergence in time
For LES simulations a common practice is to analyze the results averaged in
time: in fact, these are the ones that really describe the jet shape and are also
the profiles to which in this project the company is more interested into. In fact,
heat transfer processes are affected by a thermal inertia such that the system is not
able to see the instantaneous variations, but only the average heat transfer in time.
OpenFOAM offers already a postProcessing tool for averaging, so that the selected
quantity is returned as the sum of its value in all the instants and divided by the
number of instants. This tool was found to be very useful and appropriate for this
study, even though it is limited in the choice of the starting point of averaging
and in the ∆t on which the quantities are averaged. For this reason, in a first
moment a python script was developed in order to be able to post process after the
simulations were run, changing the initial time of averaging and its ∆t as pleased.
Once the simulations were then believed to be steady state, the OpenFOAM tool
for averaging was exploited, since it required a much less amount of memory. In
particular mesh fine was initialized with a LES simulation run on a mesh of the
type of figure 6.2 b. After 0.8 seconds the results were used to initialize all the
other simulations. In this way, the averaging was started at 0.8 seconds. In any
60 Chapter 6. Numerical Results - LES

(a) normalized axial velocity (b) normalized transverse velocity

(c) normalized Temperature (d) normalized axial velocity fluctuations

(e) normalized Reynolds Stresses

Figure 6.5: Convergence in time of mesh medium, tranverse profiles at x = 20d


(exp:[14])
6.5. Results 61

case the first transient was believed to be completed.


In figure 6.5 transverse profiles of different quantities at the axial distance of
x = 20d are shown. The choice of showing these results and not the ones for
x = 40d as for the RANS cases was simply given by the fact that those profiles did
not show a real convergence, even after 10 seconds of simulation. The experimental
profiles shown are actually taken for x = 40d but, as shown in the references [7]
and [14] the profiles seem to collapse quite well already at x = 25d and x = 20d
respectively.
For the axial velocity profiles the values converge very quickly, while for all the
other quantities an almost complete convergence is reached for t = 4s. In particular
it can be noted that the slowest convergence is the one of the normalized transverse
velocity profile.

6.5.2 Mesh independence test


For the mesh independence test, four different meshes were generated. In order
to generate them the snappyHexMesh meshing tool was exploited: mesh coarse
and mesh fine were in fact generated from the same blockMesh and only changing
the refinement parameter inside the snappyHexMeshDict file. In this way the cell
size (in the refined region) of mesh coarse resulted being exactly twice as big as the
one of mesh fine. In order to generate a mesh with a cell size intermediate between
the two, the mesh medium was instead generated from a different blockMesh 1 .
Finally, mesh extra-coarse was simply generated from the same blockMesh of
mesh medium but with a lower level of refinement in the snappyHexMeshDict. In
this way the cell size of mesh extra-coarse resulted to be exactly twice as big as
the one of mesh medium.
In tables 6.1 and 6.2 characteristics of the four different meshes are shown, as
well as the values of the mesh sizes in x-y direction for the 6 different points shown
in figure 6.6. In table 6.1 the voice cell size scaling factor represents the average
ratio between the cell size of the considered mesh and the one of mesh fine. In
fact, this value confirms what explained before about the mesh generation: cell size
of mesh coarse is twice as large as the one of mesh fine. The same ratio holds
in between mesh extra-coarse and mesh medium. In the same table the mesh
quality parameters given from the OpenFOAM utility checkMesh are reported:
aspect ratios values are found to be very high (around 40), while the average
non-orthogonality as well as the skweness factors are very low. These quantities
reflect the mesh shape built by the snappyHexMesh utility: the high maximum non
orthogonality values are due to the transition between the mesh refinement steps
while the high aspect ratios are due to the coarsest cells near the boundaries, so the
mesh quality inside the refinement region (which is the one of interest) was believed
to be sufficiently good. In figure 6.8 the four different meshes are shown: the inlet
patches are highlighted in red. In table 6.2 the dimensions of the cells in positions A
to F of picture 6.6 are shown. An interesting graphic is the one of figure 6.7. Here
a linear behavior of computational time against mesh number is found, with a very
1
inside the blockMeshDict file the number of cells in every direction was multiplied by a factor
of 1.5
62 Chapter 6. Numerical Results - LES

steep inclination of the line that leads to a very consistent computational time for
mesh fine. In fact, the simulation was stopped after 4 seconds of simulated time,
meaning around 20 days of total computational time. It must be noted that the
simulations were carried out on the cluster of the company, with 96 CPUs working
in parallel for each LES simulation with OpenFOAM 3.0.1.2
In figure 6.9 results of this mesh independence study are shown. In particular,
the normalized axial velocity profile seems to be well described in all the cases,
even for the case of mesh extra-coarse. For the normalized transverse velocity
profile and the normalized temperature profile a real convergence seems not to be
found. Nevertheless, oscillations from one case to the other seem to be limited.
For the normalized axial velocity fluctuations the difference in the profiles is quite
imperceptible, if the case of mesh extra coarse is excepted, so that a convergence
seems to be reached. The best convergence trend is seen for the last plot in figure 6.9:
here the transverse profiles of the normalized Reynolds stresses (in x-y direction)
show a good convergence (decreasing) trend. Please remember, as specified before,
that the profiles shown here are not the ones for x = 40d but for x = 20d.
In figure 6.10 the half width lengths of both axial velocity and temperature for
the different meshes are shown. Velocity results seem to be quite well in agreement
with RANS results, even if the curves do not show to align perfectly on a line.
For the temperature field the half width could be probably well matching the
experiments up to x = 20d, but this is only a supposition because results are
available only from this distance on. This would be an improvement over the RANS
curve, that seem to show a delayed diffusion of the temperature field with respect
to the experiments. For the far field region the LES results are for finer meshes very
far away from experiments, showing a way too high enlargement of the jet shape.
In figure 6.11 results of the mesh independence test for transverse profiles at
x = 6d are shown. The same trend described for the profiles at x = 20d is to
be found also in this case. In particular, the convergence for the axial velocity
profile and for the turbulent quantities is much more visible. An absence of a
real convergence is instead depicted for the temperature and normalized velocity
profiles. This higher convergence trend is attributed to the fact that most of the
turbulence is found in the region of the jet where the shear layers collapse, i.e where
the potential core zone finishes. For this reason, a smaller mesh size is needed to
correctly predict the higher gradients of the flow properties.
In figure 6.12 the axial decay of axial velocity and temperature are reported,
as well as the percentage of sub-grid scale turbulent kinetic energy along the
symmetry plane of the jet. As the mesh size is decreased both axial velocity and
temperature decrease more rapidly. This is reasonable because it means that the
higher capability of the mesh to solve turbulence in the near region zone allows the
Kelvin-Helmoltz instabilities to develop sooner. The LES results seem to converge
to the experimental ones, particularly in the near-field region. In plot c it can be
noted that from x = 40d the behavior of the curves does not follow a line anymore.
This effect is believed to be the result of a non-complete convergence in time of the
averaged quantities, particularly for the finer meshes. A similar reasoning can be
done for the temperaure profile of plot d. Plot e shows the percentage of modelled
2
RANS simulations where launched on 16 cores with OpenFOAM 4.1.0.
6.5. Results 63

Figure 6.6: Points referring to table 6.2

Table 6.1: mesh properties

extra-coarse coarse medium fine


cell number 0.47 0.79 2.6 6.04
z-dir cells 24 32 48 64
cells in nozzle 8 10 14 20
time to simulate 1sec [h] 3.3 6.4 42 116
cell size scaling factor 2.66 2 1.33 1
max aspect ratio 38.6 37.9 38.6 37.9
max non orthogonality 46.8 44.7 46.8 44.7
average non orthogonality 6.0 5.2 4.8 4.5
max skewness 0.62 0.63 0.62 0.63

turbulent kinetic energy: as expected, this value is very dependent on the mesh size.
The peak present at low axial distances is due to the fact that the turbulent intensity
is close to zero at this point. In fact, the velocity field is uniform and constant at
the nozzle exit, so that the turbulence needs some axial distance to develop. In the
final plot of figure 6.12 the dependence of the velocity and temperature potential
core lengths on mesh size is shown. The scaling factor was introduced before and it
is the averaged ratio between the cell size of a mesh with respect to the fine one.
An almost linear behavior is found for both curves, so that no real convergence is
shown. A finer mesh is needed to find the right potential core length.

6.5.3 Axial development


In figure 6.13 the transverse profiles shown before are now reported for several
axial positions. From the first diagram it can be seen that the axial velocity profile
turns out to be more and more non-symmetrical as the axial distance increases.
This is considered a result coming from a numerical error: in fact, the profiles
should converge and collapse together as the axial distance is increased. Please
notice that even though the experimental results shown are referring to a axial
distance of x = 40d, these profiles are shown both in Terashima et al. (2015, [14])
and in Jenkins and Goldschmidt (1973, [7]) to converge together after x = 20d and
x = 25d respectively. As a consequence, also in this study all the profiles would
64 Chapter 6. Numerical Results - LES

Table 6.2: cell sizes [mm]

extra-coarse coarse medium fine


x-dir y-dir x-dir y-dir x-dir y-dir x-dir y-dir
A 1.41 1.39 1.04 1.05 0.710 0.67 0.520 0.523
B 2.11 3.14 1.55 2.39 1.05 1.60 0.778 1.19
C 2.79 4.93 2.07 3.73 1.40 2.49 1.03 1.87
D 1.41 1.40 1.05 1.05 0.710 .67 0.527 0.522
E 2.13 3.13 1.57 2.36 1.06 1.59 0.784 1.19
F 2.85 4.96 2.09 3.73 1.42 2.49 1.04 1.87

Figure 6.7: Time to simulate 1 second against mesh size


6.5. Results 65

(a) extra-coarse (b) coarse

(c) medium (d) fine

Figure 6.8: Mesh Independence test: 3D mesh with inlet patch

be expected to collapse from this axial distance on. Looking at the normalized
transverse velocity profiles no convergence is to be found, as well as in the case
of temperature profiles. A slightly more converging trend is instead to be seen in
the cases of the turbulent quantities profiles. Please note that in the region after
x=20d is not shown any sufficient convergence also in time.

6.5.4 SGS models comparison

Since the time required to make comparisons for the mesh medium was higher
than the available one, the investigation on three different SGS-models was con-
ducted on mesh coarse. The results of the normalized profiles are shown in figure
6.14, but a better idea of the problem can probably be captured from the contour
plot of figure 6.16. Here it can be seen how the WALE model, with the same mesh
available, is able to capture much better the turbulence in the near field zones of
the jet. In particular, the laminar to turbulent transition is found much closer to
the nozzle exit. This result can also be seen from the transverse profiles, where for
example for the normalized stresses the WALE model results to have much higher
values than the other two. This considerations are very well represented in the
average temperature and velocity fields of figure 6.15.
66 Chapter 6. Numerical Results - LES

(a) normalized axial velocity (b) normalized transversal velocity

(c) normalized Temperature (d) normalized axial velocity fluctuations

(e) normalized Reynolds Stresses

Figure 6.9: Mesh independence test vs experiments: transverse profiles at x=20d


(exp:[14] in (a,d,e) and [7] in (c))
6.6. Blending schemes 67

(a) velocity half width (b) temperature half width

Figure 6.10: Velocity and temperature half widths compared to [3] in a and to [7] in b

6.6 Blending schemes


At the very end of this project, a new way of overcoming convergence problems
was found. It was developed a mesh with the OpenFOAM utility BlockMesh, very
similar to the ones used for the RANS simulations. This time it was 3D and with
very coarse cells before the outlet.3 The key point of this last attempt was the
exploitation of some different schemes on the divergence terms of velocity and
temperature. In particular, blending schemes were used, so that the schemes were
set to first order (upwind ) close to the lateral and outlet boundaries, while they
were kept to second order (linear ) in the central region. This seemed to work very
well and to present no crashing problems anymore. Since the mesh close to the inlet
was finer than the mesh fine treated in the previous sections, the axial profiles in
the near field region were found to be more in agreement with the experiments, as
shown in figure 6.17. The far field region had instead too large cells: that is why
the results are very far away from experiments. This final set-up was believed to
be an important result, since in the end the convergence problems where believed
to be definitely solved.

3
This was accomplished generating separately with BlockMesh two different meshes, the real
mesh and the one containing the buffer cells, and then merging and unifying them together as
one single mesh.
68 Chapter 6. Numerical Results - LES

(a) normalized axial velocity (b) normalized transversal velocity

(c) normalized Temperature (d) normalized axial velocity fluctuations

(e) normalized Reynolds Stresses

Figure 6.11: Mesh independence test vs experiments: transverse profiles at x = 6d


6.6. Blending schemes 69

(a) normalized axial velocity and potential (b) normalized temperature and tempera-
core length ture potential core length

(c) normalized axial velocity (d) normalized temperature

(e) Simulated turbulent kinetic energy (%) (f ) potential core length vs mesh refinement
(scaling factor=1 corresponds to mesh
fine)

Figure 6.12: Axial profiles for the different meshes: comparison with RANS results and
experiments of [3] in plot a,c and of [7] in b,d.
70 Chapter 6. Numerical Results - LES

(a) normalized axial velocity (b) normalized transverse velocity

(c) normalized Temperature (d) normalized axial velocity fluctuations

(e) normalized Reynolds Stresses

Figure 6.13: Axial development of transverse profiles (mesh medium) (exp:[14] in (a,d,e)
and [7] in (c,f))
6.6. Blending schemes 71

(a) normalized axial velocity (b) normalized transverse velocity

(c) normalized Temperature (d) normalized axial velocity fluctuations

(e) normalized Reynolds Stresses

Figure 6.14: SGS models comparison: transverse profiles at x = 20d (exp:[14] in (a,d,e)
and [7] in (c))
72 Chapter 6. Numerical Results - LES

(a) WALE (b) Smagorinsky (c) k-Equation

(d) WALE (e) Smagorinsky (f ) k-Equation

Figure 6.15: Velocity magnitude (a,b,c) and temperature averaged fields (d,e,f), with
mesh coarse

(a) WALE coarse (b) Smagorinsky coarse

(c) kEqn coarse

Figure 6.16: Instantaneous contour plots of temperature for different sub-grid scale
models
6.6. Blending schemes 73

(a) normalized axial velocity and potential(b) normalized temperature and tempera-
core length ture potential core length

(c) normalized axial velocity (d) normalized temperature and tempera-


ture potential core length

Figure 6.17: Axial profiles for the case with blending schemes, experiments of [3] in
plot a, c and of [7] in plot d
Conclusions

This master thesis, developed inside the company MTU Aero Engines, had the
goal of testing the accuracy of RANS and LES methods for numerical simulations
of a turbulent plane jet. This test case was chosen because it is very dependent
on turbulent events and, in addition, it is largely studied in literature. The final
objective was to extract information useful for the company for their numerical
studies in the field of cooling systems of turbomachines.
The RANS approach was the first one investigated, where a 2D mesh was
employed and a steady state solver was used. Independence studies on both domain
and mesh size were carried out, showing very small differences for the different
cases. From all the quantities monitored in this study, i.e. normalized transverse
profiles, axial decay and half width distances, the self similar region was found to
start around x = 25d. Good agreement with experiments was found for all the
transverse profiles, also for the turbulent oscillations of velocity. Only in the low
velocity region of the jet the temperature transverse profiles showed less agreement
with the experiments. This region was found to be better described in the LES
approach. For the velocity axial decay and for the velocity half width profiles a
good agreement was found with the experimental ones. The same profiles for the
temperature field showed instead that RANS underestimated the temperature half
width while it overestimated the temperature field in the core region. This can be
explained by a low capability of the numerics to depict the turbulence in the near
field region, so that the diffusion of the temperature field is underestimated.
With the LES method, many problems to stabilize the solution were encountered.
A work around led to the development of a mesh with a refined zone in the region of
interest and very coarse cells all around it, so to enlarge drastically the dimensions
of the domain. A mesh independence study was carried out on this new mesh type,
as well as a variation of the sub-grid scale models was applied. The former led to
the conclusion that for the near field region the mesh was not fine enough, so that
no real convergence was to be found for the potential core length. For the far field
region a good convergence was found for the non-dimensional transverse profiles,
but only until x = 20d. After this axial distance no real convergence was found
even for the simulated physical time. In fact, all the profiles were monitored as the
time on which the fields were averaged was increased. In this way a convergence
was found for the profiles only up to x = 20d. A larger averaging time could have
maybe led to better results. The axial decay of both temperature and velocity
was found to be better described for LES than for RANS. A better agreement of
LES with experiments was also showed for the axial decay profiles in the far field
region, where instead the temperature half width length was found to be definitely

75
76 Conclusions

overestimated. As far as the sub-grid scale model investigation is concerned, the


WALE model showed better capabilities of describing the laminar to turbulent
transition, as expected from theory. The WALE and k-equation models produced
similar non-dimensional transverse profiles, while the ones given by the Smagorinsky
model were not matching the other two. Finally, a new setup was employed with
a new mesh and new schemes, that allowed to eliminate the crashing problems
and at the same time a much easier mesh generation procedure. Because of time
limitations, this last setup was not entirely studied. Nevertheless the mesh in the
near field region was much finer than the one used in the previous cases, so that
the axial profiles of velocity were found to be much better fitting the experimental
ones.
Appendix A

Setup

The mesh was generated through the OpenFOAM utility BlockMesh. This
utility allows to build a Hexahedra cell-shape mesh defining one or more blocks,
as well as the number of cells along their edges. The distribution of cell-sizes is
controlled by the simpleGrading option. This allows to give as input to the meshing
code a parameter (expansionRatio) which corresponds to the ratio between the
biggest and smallest cell of the edge (the first and the last one).
The expansion ratio is defined in OpenFOAM [13] as the ratio between the
biggest and the smallest cell of an edge of a refinement block. Through this
information, completed by the length of the edge and the number of cells, the
distribution of cells can be calculated, yielding to the dimension of each cell, in
particular to the smallest (first) and largest (last) ones.
cmax cN
expansionRatio = = (A.1)
cmin c1
In equation A.1 c is the size of one cell (in the considered direction) and N is the
number of cells belonging to the specific edge. If the expansion ratio between each
cell and the following one is called k, then:
ci+1
k= (A.2)
ci
ci+1 = kci = k (kci−1 ) (A.3)
From this consideration it can be noticed that:

cN = k N −1 c1 (A.4)

From this relation the expansion ratio between each cell and the following one (k)
is easily derived. An equation to compute the smallest cell size is now available:
N
X −1
cmin ∗ ki = L (A.5)
k=1

with L the length of the whole edge. From this last relation the smallest cell size
can be computed, and consequently also the maximum one.

77
/*--------------------------------*- C++ -*----------------------------------*\
| ========= | |
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
| \\ / O peration | Version: 4.x |
| \\ / A nd | Web: www.OpenFOAM.org |
| \\/ M anipulation | |
\*---------------------------------------------------------------------------*/
FoamFile
{
version 2.0;
format ascii;
class dictionary;
object blockMeshDict;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //

convertToMeters 0.01;

vertices
(
( 0 0 0 )
( 60 0 0 )
( 60 13.688 0 )
( 0 0.5 0 )
( 0 0 0.1 )
( 60 0 0.1 )
( 60 13.688 0.1 )
( 0 0.5 0.1 )
( 0 -0.5 0 )
( 60 -13.688 0 )
( 0 -0.5 0.1 )
( 60 -13.688 0.1 )
( 60 23.688 0 )
( 0 10.5 0 )
( 60 23.688 0.1 )
( 0 10.5 0.1 )
( 0 -10.5 0 )
( 60 -23.688 0 )
( 0 -10.5 0.1 )
( 60 -23.688 0.1 )
);

blocks
(
hex (0 1 2 3 4 5 6 7)(800 50 1)simpleGrading(10 1 1)
hex (8 9 1 0 10 11 5 4 )(800 50 1) simpleGrading(10 1 1)
hex (3 2 12 13 7 6 14 15)(800 50 1)
simpleGrading
(
10 10 10 10
(
(0.4 0.7 20)
(0.6 0.3 1)
)
(
1
)
(
1
)

( (0.4 0.7 20)


(0.6 0.3 1)
)
1 1 1 1
)
hex( 16 17 9 8 18 19 11 10 )(800 50 1)
simpleGrading

(
10 10 10 10

(
(0.6 0.3 1)
(0.4 0.7 0.05)
)
( 1
)
( 1
)
( (0.6 0.3 1)
( 0.4 0.7 0.05 )
)
1 1 1 1
)
);
edges
(
);
boundary
(
inlet
{
type patch;
faces
(
(7 3 0 4 )
(4 0 8 10)

);
}
outlet
{
type patch;
faces
(
(14 6 2 12)
(6 5 1 2 )
(5 11 9 1)
(11 19 17 9)
);
}
upAndDown
{
type patch;
faces
(
(14 12 13 15)
(16 17 19 18)
);
}
inletWalls
{
type wall;
faces
(

(13 3 7 15)
(10 8 16 18)
);
}
);
RANS SETUP

/*--------------------------------*- C++ -*------------------------------


----*\
| ========= |
|
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
| \\ / O peration | Version: 4.1.0
|
| \\ / A nd | Web: www.OpenFOAM.org
|
| \\/ M anipulation |
|
\*-----------------------------------------------------------------------
----*/
FoamFile
{
version 2.0;
format ascii;
class dictionary;
location "system";
object controlDict;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
* * //

application rhoSimpleFoam;

startFrom latestTime;

startTime 0;

stopAt endTime;

endTime 500000;

deltaT 1;

writeControl timeStep;

writeInterval $t;

purgeWrite 0;

writeFormat ascii;

writePrecision 6;

writeCompression off;

timeFormat general;

timePrecision 6;

runTimeModifiable true;
/*--------------------------------*- C++ -*------------------------------
----*\
| ========= |
|
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
| \\ / O peration | Version: 4.1.0
|
| \\ / A nd | Web: www.OpenFOAM.org
|
| \\/ M anipulation |
|
\*-----------------------------------------------------------------------
----*/
FoamFile
{
version 2.0;
format ascii;
class dictionary;
location "system";
object fvSchemes;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
* * //

ddtSchemes
{
default steadyState;
}

gradSchemes
{
default Gauss linear;
}

divSchemes
{
default none;
div(phi,U) bounded Gauss upwind;
div(phi,e) bounded Gauss upwind;
div(phi,k) bounded Gauss upwind;
div(phid,p) bounded Gauss upwind;
div(phi,Ekp) bounded Gauss upwind;
div(phi,K) bounded Gauss upwind;
div(phi,h) bounded Gauss upwind;
div(phi,omega) bounded Gauss upwind;
div((phi|interpolate(rho)),p) bounded Gauss upwind;
div(((rho*nuEff)*dev2(T(grad(U))))) Gauss linear;

laplacianSchemes
{
default Gauss linear corrected;
}
interpolationSchemes
{
default linear;
}

snGradSchemes
{
default corrected;
}
wallDist
{
method meshWave;
}

//
*************************************************************************
//

/*--------------------------------*- C++ -*------------------------------


----*\
| ========= |
|
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
| \\ / O peration | Version: 2.4.0
|
| \\ / A nd | Web: www.OpenFOAM.org
|
| \\/ M anipulation |
|
\*-----------------------------------------------------------------------
----*/
FoamFile
{
version 2.0;
format ascii;
class dictionary;
location "system";
object fvSolution;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
* * //

solvers
{
p
{
solver GAMG;
preconditioner FDIC;
smoother GaussSeidel;
nCellsInCoarsestLevel 10;
tolerance 1e-09;
relTol 0.01;
}

pFinal
{
$p;
tolerance 1e-09;
relTol 0;
}

rho
{
solver PCG;
preconditioner FDIC;
tolerance 1e-09;
relTol 0.01;
}
rhoFinal
{
$rho;
tolerance 1e-09;
relTol 0;
}

"(U|h|k|epsilon|omega)"
{
solver GAMG;
preconditioner DILU;
smoother symGaussSeidel;
nCellsInCoarsestLevel 10;
tolerance 1e-09;
relTol 0.01;
}

"(U|h|k|epsilon|omega)Final"
{
$U;
tolerance 1e-09;
relTol 0;
}

Phi
{
solver GAMG;
smoother DIC;
cacheAgglomeration on;
agglomerator faceAreaPair;
nCellsInCoarsestLevel 10;
mergeLevels 1;

tolerance 1e-09;
relTol 0.01;
}

SIMPLE
{
nNonOrthogonalCorrectors 2;
rhoMin rhoMin [ 1 -3 0 0 0 ] 0.5;
rhoMax rhoMax [ 1 -3 0 0 0 ] 5;
consistent yes;

residualControl
{
p 1e-7;
U 1e-7;
omega 1e-7;
k 1e-7;
}
}
relaxationFactors
{
fields
{
p 0.05;
}
equations
{
U 0.1;
h 0.1;
k 0.1;
omega 0.1;
}
}
//
*************************************************************************
//

/*--------------------------------*- C++ -*------------------------------


----*\
| ========= |
|
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
| \\ / O peration | Version: 2.4.0
|
| \\ / A nd | Web: www.OpenFOAM.org
|
| \\/ M anipulation |
|
\*-----------------------------------------------------------------------
----*/
FoamFile
{
version 2.0;
format ascii;
class dictionary;
location "constant";
object thermophysicalProperties;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
* * //

thermoType
{
type hePsiThermo;
mixture pureMixture;
transport sutherland;
thermo hConst;
equationOfState perfectGas;
specie specie;
energy sensibleEnthalpy;
}

mixture
{
specie
{
nMoles 1;
molWeight 28.96;
}
thermodynamics
{
Cp 1004.4;
Hf 0;
}
transport
{
As 1.4587e-06;
Ts 110.556;
}
}

//
*************************************************************************
//
LES SETUP

/*--------------------------------*- C++ -*------------------------------


----*\
| ========= |
|
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
| \\ / O peration | Version: 3.0.1
|
| \\ / A nd | Web: www.OpenFOAM.org
|
| \\/ M anipulation |
|
\*-----------------------------------------------------------------------
----*/
FoamFile
{
version 2.0;
format ascii;
class dictionary;
location "system";
object controlDict;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
* * //

t 0.1; //time interval of writing avarageFields

application rhoPimpleFoam;

startFrom latestTime;

startTime 0;

stopAt endTime;

endTime 10;

deltaT 1e-08;

writeControl runTime;

writeFrequency 0.1;

purgeWrite 0;

writeFormat ascii;

writePrecision 7;

writeCompression off;

timeFormat general;
timePrecision 6;

runTimeModifiable true;

adjustTimeStep true;

maxCo 0.3;

functions
{
fieldAverage
{
type fieldAverage;
functionObjectLibs ("libfieldFunctionObjects.so");
enabled true;
resetOnRestart no;
outputControl runTime;
writeInterval $t;
timeStart 0.1;
fields
(
U
{
mean on;
prime2Mean on;
base time;
}

p
{
mean on;
prime2Mean on;
base time;
}

T
{
mean on;
prime2Mean on;
base time;
}

ksgs
{
mean on;
prime2Mean off;
base time;
}

nut
{
mean on;
prime2Mean off;
base time;
}
);
}
samplingPlane_avaragedFields
{
type surfaces;
functionObjectLibs ("libsampling.so");
enabled true;
outputControl runTime;
writeInterval $t;
startTime 0.1;
interpolationScheme cellPoint; //or cell, cellPointFace,
pointMVC, etc
surfaceFormat vtk; //or xmgr, jplot, gnuplot, raw, ensight,
csv

fields
(
UMean pMean TMean ksgsMean nutMean UPrime2Mean
pPrime2Mean TPrime2Mean
);

surfaces
(
constantPlane
{
type plane;
basePoint (0 0 0);
normalVector (0 0 1);
interpolate true; //smooth the results
triangulate false;
}
);
}
lineSampling_avarage
{
type sets;
functionObjectLibs ("libsampling.so");
enabled true;
outputControl runTime;
writeInterval $t;
setFormat raw;
interpolationScheme cellPoint;
startTime 0.0;
fields (UMean pMean TMean ksgsMean nutMean UPrime2Mean
pPrime2Mean TPrime2Mean);
sets
(

axial
{
type uniform;
axis xyz;
start (0.0 0.0 0.0);
end (0.6 0.0 0.0);
nPoints 1000;
}
radial_3
{
type uniform;
axis xyz;
start (0.03 -0.111594 0);
end (0.03 0.111594 0);
nPoints 260;
}
// (…)
radial_60
{
type uniform;
axis xyz;
start (0.60 -0.23688 0);
end (0.60 0.23688 0);
nPoints 260;
}

);
}
}

//
*************************************************************************
//

/*--------------------------------*- C++ -*------------------------------


----*\
| ========= |
|
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
| \\ / O peration | Version: 3.0.1
|
| \\ / A nd | Web: www.OpenFOAM.org
|
| \\/ M anipulation |
|
\*-----------------------------------------------------------------------
----*/
FoamFile
{
version 2.0;
format ascii;
class dictionary;
location "system";
object fvSchemes;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
* * //

ddtSchemes
{
default Euler;
}

gradSchemes
{
default Gauss linear;
}

divSchemes
{

default none;
div(phi,U) Gauss linear;
div(phi,h) Gauss linear;
div(phi,K) Gauss linear;
div(phiv,p) Gauss linear;
div(phi,k) Gauss linear;
div(phi,B) Gauss linear;
div(phi,muTilda) Gauss linear;
div(B) Gauss linear;

div(((rho*nuEff)*dev2(T(grad(U))))) Gauss linear;

laplacianSchemes
{
default Gauss linear corrected ;
}

interpolationSchemes
{
default linear;
}

snGradSchemes
{
default corrected;
}

//
*************************************************************************
//

/*--------------------------------*- C++ -*------------------------------


----*\
| ========= |
|
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
| \\ / O peration | Version: 3.0.1
|
| \\ / A nd | Web: www.OpenFOAM.org
|
| \\/ M anipulation |
|
\*-----------------------------------------------------------------------
----*/
FoamFile
{
version 2.0;
format ascii;
class dictionary;
location "system";
object fvSolution;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
* * //

solvers
{
"(p|rho)"
{
solver GAMG;
tolerance 1e-6;
relTol 0.1;
smoother GaussSeidel;
}

"(pFinal|rhoFinal)"
{
$p;
tolerance 1e-06;
relTol 0;
}

"(U|k|omega|h)"
{
solver smoothSolver;
smoother symGaussSeidel;
tolerance 1e-06;
relTol 0.1;
}

"(U|k|omega|h)Final"
{
$U;
tolerance 1e-06;
relTol 0;
}
}

PIMPLE
{
nOuterCorrectors 4;
nCorrectors 3;
nNonOrthogonalCorrectors 0;
pRefCell 0;
pRefValue 0;

//
*************************************************************************
//
/*--------------------------------*- C++ -*------------------------------
----*\
| ========= |
|
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
| \\ / O peration | Version: 3.0.1
|
| \\ / A nd | Web: www.OpenFOAM.org
|
| \\/ M anipulation |
|
\*-----------------------------------------------------------------------
----*/
FoamFile
{
version 2.0;
format ascii;
class dictionary;
location "constant";
object thermophysicalProperties;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
* * //

thermoType
{
type hePsiThermo;
mixture pureMixture;
transport const;
thermo hConst;
equationOfState perfectGas;
specie specie;
energy sensibleEnthalpy;
}

mixture
{
specie
{
nMoles 1;
molWeight 28.9;
}
thermodynamics
{
Cp 1007;
Hf 0;
}
transport
{
mu 1.84e-05;
Pr 0.7;
}
}
/*--------------------------------*- C++ -*------------------------------
----*\
| ========= |
|
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
| \\ / O peration | Version: 3.0.1
|
| \\ / A nd | Web: www.OpenFOAM.org
|
| \\/ M anipulation |
|
\*-----------------------------------------------------------------------
----*/
FoamFile
{
version 2.0;
format ascii;
class dictionary;
location "constant";
object turbulenceProperties;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
* * //

simulationType LES;

LES
{
LESModel WALE;

turbulence on;

printCoeffs on;

delta cubeRootVol;

cubeRootVolCoeffs
{
deltaCoeff 1;
}

PrandtlCoeffs
{
delta cubeRootVol;
cubeRootVolCoeffs
{
deltaCoeff 1;
}

smoothCoeffs
{
delta cubeRootVol;
cubeRootVolCoeffs
{
deltaCoeff 1;
}

maxDeltaRatio 1.1;
}
Cdelta 0.158;
}

vanDriestCoeffs
{
delta cubeRootVol;
cubeRootVolCoeffs
{
deltaCoeff 1;
}

smoothCoeffs
{
delta cubeRootVol;
cubeRootVolCoeffs
{
deltaCoeff 1;
}

maxDeltaRatio 1.1;
}

Aplus 26;
Cdelta 0.158;
}

smoothCoeffs
{
delta cubeRootVol;
cubeRootVolCoeffs
{
deltaCoeff 1;
}

maxDeltaRatio 1.1;
}
}

//
*************************************************************************
//
Bibliography

[1] Mukul Bisoi, Manab Kumar Das, Subhransu Roy, Devendra Kumar Patel Large
eddy simulation of three-dimensional plane turbulent free jet flow. European
Journal of Mechanics B/Fluids (2017).

[2] R. C. Deo, J. Mi, and G. J. Nathan, The influence of nozzle aspect ratio on a
plane jet Exp. Therm. Fluid Sci. 31, 825,2007.

[3] R. C. Deo, J. Mi, and G. J. Nathan, The influence of Reynolds number on a


plane jet Phys.Fluids. 20, 075108,2008.

[4] Joel H.Ferzinger,Milovan Perić Computational Methods for Fluid Dynamics.


Springer, second edition (1999).

[5] J.C.R. Hunt, A.A. Wray, and P.Moin Eddies, Streams, and Convergence Zones
in Turbulent Flows. Center of Turbulence Research, Proceedings of the Summer
Program (1988).

[6] Hrvoje Jasak, Error Analysis and Estimation for the Finite Volume Method
with Applications to Fluid Flows Thesis submitted for the Degree of Doctor of
Philosophy of the University of London and Diploma of Imperial College (1996).

[7] P. E. Jenkins and V. W. Goldschmidt, Mean temperature and velocity measure-


ments in a plane turbulent jet ASME Trans. J. Fluids Eng. 95,581 (1973).

[8] J. M. McDonough, Introductory lectures on Turbolence. Departments of Me-


chanical Engineering and Mathematics University of Kentucky (2007).

[9] Prof. Charles Meneveau, John Hopkins University, Maryland (USA), Turbulence:
Subgrid-Scale Modeling www.scholarpedia.org (2010).

[10] J.Mi, D.S.Nobes and G.J.Nathan, Influence of jet exit conditions on the passive
scalar field of an axisymmetric free jet J. Fluid Mech. vol.432, pp91-125 (2001).

[11] F.Nicoud and F.Ducros, Subgrid-scale stress modelling based on the square of
the velocity gradient tensor. CERFACS-Centre Européen de Recherche et de
Formation Avancée en Calcul Scientifique, Toulouse cedex, France (1999).

[12] Fumiya Nozaki , Fumiya Nozaki’s CFD Blog caefn.com.

[13] www.openfoam.com OpenFOAM user guide.

95
96 BIBLIOGRAPHY

[14] Osamu Terashima, Yasuhiko Sakai, Yusuke Goto, Kazuhiro Onishi, Kouji
Nagata, Yasumasa Ito On turbulent energy transport related to the coherent
structures in a planar jet. Experimental Thermal and Fluid Science 68 697–710
(2015).

You might also like