Professional Documents
Culture Documents
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.
iii
Contents
Introduction 1
1 Theory of jets 3
1.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
1.2 Structure of the Jet . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
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
Conclusions 75
A Setup 77
List of Figures
vii
viii LIST OF FIGURES
ix
Nomenclature
Acronyms
BC Boundary Conditions
CD Central Differencing
P ISO Pressure-Implicit-Split-Operator
UD Upwind Differencing
Greek letters
∆ filer length
Γ diffusion coefficient
µ dynamic viscosity
µT turbulent viscosity
ν kinematic viscosity
ω turbulent frequency
ψ compressibility
xi
xii LIST OF TABLES
ρ density
Latin letters
I identity tensor
F surface forces
f volume forces
g acceleration of gravity
S surface vector
U velocity vector
F flux
P pressure
Re Reynolds number
Sϕ source term
LIST OF TABLES xiii
t time
Uc core velocity
uT turbulent velocity
V control volume
x axial coordinate
y transverse coordinate
z third direction
Sommario
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
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. 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.
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.
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
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.
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
dρ
+ ρ∇ · 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:
dρ
+ ρ∇ · 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
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
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
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
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]).
∂ρϕ
+ ∇ · (ρ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
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 γ:
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
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:
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:
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
" #
∆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:
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:
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
ap UP = H(U)∇P (3.30)
2. The pressure equation is solved, using as H(U) operator the one updated
with the new velocity field calculated at step 1.
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.
Turbulence Models
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
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.
µ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).
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.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])
∂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
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).
τ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
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)
2ρ
(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:
Cε
a= ∆
b = 23 tr(D)
e
(4.43)
c = 2Ck ∆ dev(D)
e :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)
Cε
Comparing with equation 4.35 a final formulation for the Smagorinsky constant Cs
is now available: r
2 Ck
Cs = Ck (4.48)
Cε
4.3. LES 29
ν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
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:
d 3/2
d
Dij Dij
OP
g= 5/2 (4.50)
d 5/4
d
D
e ij D
e ij + Dij Dij
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
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
∂(ρ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
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.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
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
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
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.
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.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.
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
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])
(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
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
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
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)
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.
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).
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
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
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.
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.
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
Figure 6.10: Velocity and temperature half widths compared to [3] in a and to [7] in b
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 and potential (b) normalized temperature and tempera-
core length ture potential core length
(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
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
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
Figure 6.15: Velocity magnitude (a,b,c) and temperature averaged fields (d,e,f), with
mesh 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
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
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
)
(
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
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;
}
//
*************************************************************************
//
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;
}
}
//
*************************************************************************
//
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
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;
}
);
}
}
//
*************************************************************************
//
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;
laplacianSchemes
{
default Gauss linear corrected ;
}
interpolationSchemes
{
default linear;
}
snGradSchemes
{
default corrected;
}
//
*************************************************************************
//
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.
[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).
[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).
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).