0% found this document useful (0 votes)
21 views148 pages

2020 04 Spirito

Uploaded by

Ashraf
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
21 views148 pages

2020 04 Spirito

Uploaded by

Ashraf
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 148

POLITECNICO DI MILANO

Scuola di Ingegneria Industriale e dell’Informazione


Corso di Laurea Magistrale in Ingegneria Meccanica

An Appraisal of the Application of the Overset Method


to the CFD Simulation of Fluid Machines

Relatore: Augusto DELLA TORRE

Tesi di Laurea Magistrale di:


Graziano SPIRITO Matr. 899419

Anno Accademico 2018-2019


Ringraziamenti

Il primo enorme ringraziamento è rivolto al mio tutor, Augusto Della Torre, che,
negli ultimi mesi, ha costantemente trovato il tempo e la pazienza di trasmettermi
le Sue preziose conoscenze, fondamentali per la finalizzazione di questo lavoro.

Un sincero grazie a tutta la mia famiglia, in particolar modo a mia sorella, mia
mamma e mio papà, da sempre le mie certezze di vita. La loro inossidabile pre-
senza mi ha regalato rari momenti di gioia e mi ha permesso di superare le difficoltà.

Grazie alla mia ragazza, che, per quasi due anni, ha avuto la capacità di sop-
portare uno studente di ingegneria meccanica e il dono di rendere più leggere le
situazioni più gravose.

Grazie, infine, a tutte le altre persone che mi hanno sempre sostenuto e accompa-
gnato in questo percorso di crescita. Innanzitutto i miei amici, i miei compagni
di avventura e di barca, ma anche coloro che, per un motivo o per l’altro, sento
meno frequentemente, non per questo meno importanti. Senza dimenticare i miei
compagni di studi, che nel corso degli anni trascorsi al Politecnico sono diventati
sempre più numerosi, e con i quali ho condiviso un’ampia gamma di emozioni, dalle
risate all’ansia per gli esami, dalle partite a briscola a chiamata agli sforzi per
apprendere i concetti spiegati a lezione.

Inoltre, un doveroso pensiero è dedicato a tutti i medici, infermieri e volontari che


stanno combattendo contro l’emergenza sanitaria che sta affliggendo il nostro Paese
e il resto del mondo, con la speranza che tutto si risolva nel minor tempo possibile.

Milano, Aprile 2020 Graziano Spirito

iii
Contents

Ringraziamenti iii

Sommario xiii

Abstract xv

Extended abstract xvii

Introduction 1

1 Basics of CFD 5
1.1 Fluid dynamics governing equations . . . . . . . . . . . . . . . . . . 5
1.2 Turbulence modeling . . . . . . . . . . . . . . . . . . . . . . . . . . 10
1.2.1 RANS turbulence models . . . . . . . . . . . . . . . . . . . . 13
1.3 The Finite Volume Method . . . . . . . . . . . . . . . . . . . . . . 15
1.3.1 Numerical solution and pressure-velocity coupling . . . . . . 19
1.4 OpenFOAM structure . . . . . . . . . . . . . . . . . . . . . . . . . 22

2 Overset Mesh 25
2.1 Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
2.2 How it works . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
2.3 Fundamental overset algorithms . . . . . . . . . . . . . . . . . . . . 32
2.3.1 Chimera Hole-Cutting . . . . . . . . . . . . . . . . . . . . . 32
2.3.2 Donor Grid Identification . . . . . . . . . . . . . . . . . . . 37
2.3.3 Donor Element Identification . . . . . . . . . . . . . . . . . 38
2.3.4 Implicit Hole Cutting . . . . . . . . . . . . . . . . . . . . . . 42
2.4 Best Practice . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47
2.5 Peculiarities . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48
2.5.1 Setup . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48
2.5.2 Post-processing . . . . . . . . . . . . . . . . . . . . . . . . . 50

3 First case study: Vortex shedding behind a cylinder 53


3.1 Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53
3.2 Mesh generation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56
3.2.1 Cylinder overset . . . . . . . . . . . . . . . . . . . . . . . . . 57
3.2.2 Cylinder snappy . . . . . . . . . . . . . . . . . . . . . . . . . 62
3.3 Setup of the case . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64
3.3.1 Boundary conditions . . . . . . . . . . . . . . . . . . . . . . 64

v
CONTENTS

3.3.2 Mesh zones assignment . . . . . . . . . . . . . . . . . . . . . 64


3.3.3 Main dictionaries . . . . . . . . . . . . . . . . . . . . . . . . 65
3.4 cellTypes assignment . . . . . . . . . . . . . . . . . . . . . . . . . . 67
3.5 Results . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67
3.6 Closure . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73

4 Second case study: MRL Tidal Turbine 75


4.1 Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75
4.2 Mesh generation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77
4.2.1 AMI approach . . . . . . . . . . . . . . . . . . . . . . . . . . 77
4.2.2 Overset approach . . . . . . . . . . . . . . . . . . . . . . . . 81
4.3 Setup of the case . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82
4.3.1 Boundary conditions . . . . . . . . . . . . . . . . . . . . . . 83
4.3.2 Mesh zones assignment . . . . . . . . . . . . . . . . . . . . . 85
4.3.3 Main dictionaries . . . . . . . . . . . . . . . . . . . . . . . . 85
4.4 cellTypes assignment . . . . . . . . . . . . . . . . . . . . . . . . . . 87
4.5 Results . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 88
4.5.1 BSR variation . . . . . . . . . . . . . . . . . . . . . . . . . . 91
4.6 Closure . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 92

5 Third case study: application of the overset approach on a basic


ICE cylinder configuration 95
5.1 Steady flow tests on a basic ICE cylinder-valve . . . . . . . . . . . . 96
5.1.1 Mesh generation . . . . . . . . . . . . . . . . . . . . . . . . 96
5.1.2 Setup of the case . . . . . . . . . . . . . . . . . . . . . . . . 99
5.1.3 cellTypes assignment . . . . . . . . . . . . . . . . . . . . . . 103
5.1.4 Results . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 104
5.2 Intake flow induced by piston motion during valve opening . . . . . 106
5.2.1 Setup of the case . . . . . . . . . . . . . . . . . . . . . . . . 110
5.2.2 cellTypes assignment . . . . . . . . . . . . . . . . . . . . . . 111
5.2.3 Results . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 112
5.3 Closure . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 116

Conclusions 117

Future works 119

Bibliography 123

vi
List of Figures

1.1 Notation used for writing conservation laws referred to a generic


control volume . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
1.2 Turbulent velocity fluctuations and eddies length scales . . . . . . . 11
1.3 The figure shows the inverse proportionality between spectral energy
E(k) and wavenumber k and the level of approximation of modeling
methods . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
1.4 Generic CV with cell centroid denoted with P, sharing an internal
face with a neighboring cell whose centroid is labeled with N. . . . 16
1.5 OpenFOAM structure . . . . . . . . . . . . . . . . . . . . . . . . . 22
1.6 OpenFOAM case directory structure . . . . . . . . . . . . . . . . . 23

2.1 FSI example of a flow interacting with a skyscraper . . . . . . . . . 26


2.2 An immersed boundary method example of a body moving in a
stationary non-deforming Cartesian grid . . . . . . . . . . . . . . . 27
2.3 Typical grids adopted for a proper solution of the boundary layer . 27
2.4 Example of merge procedure of two component meshes . . . . . . . 28
2.5 Intermediate steps of the overset approach concerning the assignment
of the overset patch and zoneID . . . . . . . . . . . . . . . . . . . . 29
2.6 cellTypes visualization of the final mesh and its component meshes,
each of them identified by a specific zoneID . . . . . . . . . . . . . 31
2.7 Detailed view of an overlapping zone for the overset technique, as
reported by Hadzic [11] . . . . . . . . . . . . . . . . . . . . . . . . . 32
2.8 Concavity issues in a surface normal vector test . . . . . . . . . . . 34
2.9 Intersection vector or ray-casting test . . . . . . . . . . . . . . . . . 35
2.10 Hole-map test . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36
2.11 X-ray method . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
2.12 Example of hole fringe point and outer boundary point in the overset
technique. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
2.13 Iteration scheme to solve Equation 2.6 for the computational space
of a potential donor element evaluated in point P . . . . . . . . . . 39
2.14 Computational space of a candidate donor cell for P . . . . . . . . . 39
2.15 Gradient search for the element that bounds P, starting from cell "a"
and terminated in "c". . . . . . . . . . . . . . . . . . . . . . . . . . 41
2.16 Partition boundaries, or "buckets", associated to a spatial partitioning
of a curvilinear grid component. . . . . . . . . . . . . . . . . . . . . 42
2.17 Example of overlap matrix considering four blocks. The overlap of
different blocks is identified by x symbol. . . . . . . . . . . . . . . . 44

vii
LIST OF FIGURES

2.18 ADT process applied on a 2D case: the domain is bisected along x


and y directions in alternating order and the new intervals are stored
in the tree data structured. . . . . . . . . . . . . . . . . . . . . . . . 45
2.19 Iterative procedure representing the core of IHC . . . . . . . . . . . 47
2.20 Cylinder: dynamicMeshDict for static overset cases . . . . . . . . . 49

3.1 Cylinder: vortex shedding . . . . . . . . . . . . . . . . . . . . . . . 53


3.2 Cylinder: vortex shedding of a smooth circular cylinder at different
Re numbers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55
3.3 Cylinder: Strouhal number for a smooth circular cylinder . . . . . . 56
3.4 Cylinder: effect of refineMesh command . . . . . . . . . . . . . . . 58
3.5 Cylinder: coarse and fine cylinder meshes . . . . . . . . . . . . . . . 59
3.6 Cylinder: background mesh . . . . . . . . . . . . . . . . . . . . . . 61
3.7 Cylinder: zoom on the "global" overset mesh . . . . . . . . . . . . . 62
3.8 Cylinder: zoom on the cylinder with cellTypes . . . . . . . . . . . . 67
3.9 Cylinder: velocity field comparison between overset and snappy
approaches . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69
3.10 Cylinder: temporal history of drag and lift coefficients . . . . . . . . 70
3.11 Cylinder: Single-Sided Spectrum of lift coefficient . . . . . . . . . . 71
3.12 Cylinder: Single-Sided Spectrum of lift coefficient . . . . . . . . . . 72

4.1 MRL Tidal Turbine: real machine and 2D scheme representation . . 76


4.2 MRL Tidal Turbine: AMI and blades STL files . . . . . . . . . . . 77
4.3 MRL Tidal Turbine: cellZone visualisation for AMI approach . . . 78
4.4 MRL Tidal Turbine: blade layers for the AMI approach . . . . . . . 79
4.5 MRL Tidal Turbine: master and slave patches for AMI approach . . 80
4.6 MRL Tidal Turbine: baffles generation scheme for AMI approach . 80
4.7 MRL Tidal Turbine: AMI approach final mesh . . . . . . . . . . . . 81
4.8 MRL Tidal Turbine: detail of one blade mesh for the overset approach 82
4.9 MRL Tidal Turbine: overset approach final mesh . . . . . . . . . . 83
4.10 MRL Tidal Turbine: zoneID visualisation . . . . . . . . . . . . . . 85
4.11 MRL Tidal Turbine: cellTypes visualisation . . . . . . . . . . . . . 87
4.12 MRL Tidal Turbine: detail of cell size at the overset patch . . . . . 88
4.13 MRL Tidal Turbine: velocity field . . . . . . . . . . . . . . . . . . . 89
4.14 MRL Tidal Turbine: turbulent viscosity field . . . . . . . . . . . . . 89
4.15 MRL Tidal Turbine: time evolution of forces . . . . . . . . . . . . . 90
4.16 MRL Tidal Turbine: Cp vs BSR variation . . . . . . . . . . . . . . 92

5.1 ICE cylinder: cylinder and valve FreeCAD sketches . . . . . . . . . 96


5.2 ICE cylinder: cylinder and valve STL files . . . . . . . . . . . . . . 97
5.3 ICE cylinder: zoom on the valve mesh . . . . . . . . . . . . . . . . 98
5.4 ICE cylinder: meshes for overset and snappy approaches . . . . . . 98
5.5 ICE cylinder: cylinder-valve zoneIDs . . . . . . . . . . . . . . . . . 101
5.6 ICE cylinder: cylinder-valve cellTypes visualisation . . . . . . . . . 103
5.7 ICE cylinder: cylinder-valve overset patch detail with cellTypes
visualisation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 104
5.8 ICE cylinder: flow test velocity field comparison . . . . . . . . . . . 104

viii
LIST OF FIGURES

5.9 ICE cylinder: diffusivity effect on the valve mesh . . . . . . . . . . 105


5.10 ICE cylinder: steady-state mass flow rate evolution until β = 1.2 . . 106
5.11 ICE cylinder: average steady-state mass flow rate trend versus β . . 107
5.12 ICE cylinder: limits of a diffusion-based mesh deformation . . . . . 108
5.13 ICE cylinder: piston mesh and piston crevice detail . . . . . . . . . 109
5.14 ICE cylinder: Final assembly of cylinder, valve and piston meshes . 110
5.15 ICE cylinder: zoneID assignment with the introduction of the piston 111
5.16 ICE cylinder: cellTypes assignment with the introduction of the piston112
5.17 ICE cylinder: evolution of the velocity field during piston motion
and valve opening . . . . . . . . . . . . . . . . . . . . . . . . . . . . 113
5.18 ICE cylinder: detail of the initial valve opening . . . . . . . . . . . 114
5.19 ICE cylinder: trend of main flow quantities with respect to the same
piston stroke but different velocity . . . . . . . . . . . . . . . . . . . 115

ix
List of Tables

3.1 Cylinder:cylinderMesh extrusion parameters . . . . . . . . . . . . . 57


3.2 Cylinder: cylinderMesh patches . . . . . . . . . . . . . . . . . . . . 59
3.3 Cylinder: Total number of cells for the two cylinder meshes . . . . . 59
3.4 Cylinder: boundary file of the global mesh . . . . . . . . . . . . . . 63
3.5 Cylinder:snappyHexMeshDict layer addition settings . . . . . . . . . 63
3.6 Cylinder: total number of cells comparison . . . . . . . . . . . . . . 64
3.7 Cylinder: list of boundary conditions . . . . . . . . . . . . . . . . . 65
3.8 Cylinder: clock time comparison between snappy and overset ap-
proaches . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68
3.9 Cylinder: main parameters of interest . . . . . . . . . . . . . . . . . 72
3.10 Cylinder: average volumetric flow rate with the overset approach . . 73

4.1 MRL Tidal Turbine: boundary patches . . . . . . . . . . . . . . . . 78


4.2 MRL Tidal Turbine: layer addition settings for AMI approach . . . 79
4.3 MRL Tidal Turbine: layer addition settings for blades meshes with
the overset approach. . . . . . . . . . . . . . . . . . . . . . . . . . . 82
4.4 MRL Tidal Turbine boundary conditions . . . . . . . . . . . . . . . 84
4.5 MRL Tidal Turbine: mean forces for U=1 m/s . . . . . . . . . . . . 91
4.6 MRL Tidal Turbine: mass conservation results for U=1 m/s . . . . 91
4.7 MRL Tidal Turbine: flow velocity and power coefficient with respect
to BSR variation . . . . . . . . . . . . . . . . . . . . . . . . . . . . 93

5.1 ICE cylinder: boundary patches of the final cylinder-valve overset


mesh . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 99
5.2 ICE cylinder: main parameters for cylinder and valve meshes . . . . 99
5.3 ICE cylinder: cylinder-valve boundary conditions . . . . . . . . . . 100
5.4 ICE cylinder: thermoPhysicalProperties settings . . . . . . . . . . . 102
5.5 ICE cylinder: turbulenceProperties settings . . . . . . . . . . . . . . 102
5.6 ICE cylinder: list of solvers . . . . . . . . . . . . . . . . . . . . . . 103
5.7 ICE cylinder: flow tests mass flow rates results . . . . . . . . . . . . 105
5.8 ICE cylinder: main blockMeshDict parameters for the piston mesh . 109
5.9 ICE cylinder: main numerical results of the intake flow for different
piston velocities . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 114

xi
Sommario

Il presente elaborato analizza le prestazioni dell’approccio overset, implementato


nel codice open-source OpenFOAM, sviluppato per condurre simulazioni di flu-
idodinamica computazionale. Lo scopo della tesi è di valutare l’applicabilità del
metodo overset per lo studio delle macchine a fluido, sia nel contesto di ricerca
che in quello industriale. Tre diversi casi studio, caratterizzati da un crescente
livello di complessità, sono stati analizzati e, ad eccezione dell’ultimo, la validazione
del metodo overset è stata condotta tramite il confronto con dati sperimentali,
oltre che con i risultati ottenuti da altre strategie di simulazione. La natura non
conservativa dell’ approccio overset è stata responsabile di una perdita di massa
attorno all’ 1% nel caso di un problema comprimibile senza movimento della mesh,
mentre quella misurata per i casi incomprimibili, con e senza movimento della
mesh, è risultata, rispettivamente, uno e due ordini di grandezza inferiori. In
termini di risultati numerici, non ci sono stati vantaggi significativi nella creazione
di una mesh apposita per uno specifico componente statico, anche considerando
l’incremento del tempo computazionale e i problemi di conservazione della massa
derivanti dall’approccio overset. D’altro canto, sempre ragionando su casi statici,
la strategia overset potrebbe ancora rivelarsi una soluzione adatta per studi di
ottimizzazione del design, grazie alla sua estrema flessibilità nella creazione di mesh
specifiche per i componenti, che possono essere sovrapposte in maniera arbitraria.
Tuttavia, le vere potenzialità dell’ approccio overset sono sfruttate in caso di ges-
tione dinamica della mesh, poichè il movimento di un corpo può essere definito in
maniera semplice, senza le complesse strategie di movimentazione della mesh, che
coinvolgono deformazione di griglia e cambiamenti topologici, necessari in caso di
singola mesh. L’applicazione dell’approccio overset è particolarmente promettente,
perchè è l’unico metodo che permette di simulare condizioni di dominio disconnesso,
come nel caso di una valvola che si chiude completamente, con distanza nulla dalla
sua sede.

Parole chiave: approccio overset, OpenFOAM, conservazione della massa, ges-


tione dinamica della mesh

xiii
Abstract

The present work analyses the performances of the overset approach, implemented
in the open-source code OpenFOAM, developed for conducting computational fluid
dynamics simulations. The scope of the thesis is to assess the applicability of the
overset method for the study of fluid-machines, in both research and industrial
context. Three different case studies, characterized by an increasing level of
complexity, were analysed and, except for the last one, the validation of the overset
method was conducted by means of the comparison with experimental data, as
well as results coming from other simulation strategies. The non-conservative
nature of the overset approach was responsible for a deficit of mass around 1% in
case of a compressible problem without mesh motion, while the one measured for
incompressible cases, with and without mesh motion, was, respectively, one and
two orders of magnitude smaller. In terms of numerical results, there were not
significant advantages in creating a dedicated mesh for a specific steady component,
also considering the increase of computational time and the mass conservation
issues that derived from the overset approach. On the other hand, still focusing on
static cases, the overset strategy could be a suitable solution for design optimization
studies, thanks to its extreme flexibility in creating specific mesh components
that can be overlapped in an arbitrary manner. However, the full potentialities
of the overset approach are exploited in case of dynamic mesh handling, since
body motion can be described in a straightforward way, without the complex mesh
motion strategies, involving grid deformation and topological changes, required
in case of a single mesh. The application of the overset approach is particularly
promising, since it is the only method that allows to simulate conditions of domain
disconnection, as in the case of a valve which completely closes, with zero gap from
its seat.

Keywords: overset approach, OpenFOAM, mass conservation, dynamic mesh


handling

xv
Extended abstract

Introduction vation deficit, accuracy of the results and also to


the computational time, since they are all key
Grid generation is a critical and time consum- factors for the assessment of the applicability of
ing procedure characterizing the field of CFD the overset method to the common industrial
and can become a really challenging task in field.
case of complex geometries and body motion.
In most practical applications, more structured
meshes are combined together in an unstruc- State of the art
tured manner, through a multi-block method,
The actual methodology, followed by the ma-
to better reconstruct complex regions, while re-
jority of existing industrial applications, for the
taining a relatively high computational efficiency.
simulation of fluid-machines relies on very ef-
Nonetheless, the time spent for the mesh gener-
ficient single mesh strategies, typically based
ation step could be very expensive and there is
on a multi-block grid to exploit, at the same
no guarantee about the final mesh quality.
time, the efficiency of structured mesh solvers
In the context of mesh generation strategies, and the flexibility in shape reconstruction of
the overset mesh or Chimera grid [1] greatly unstructured grids. However, approaches based
simplifies the mesh generation process, being a on a single mesh are strongly limited in case of
particular type of block structured matrix based body motion and complex mesh motion strate-
on the superposition of two or more independent gies are introduced: mesh deformation based
grids that communicate by means of interpola- on diffusion of internal points, addition/removal
tion. This simple idea has immediate benefits of layers of cells based on layering techniques,
in terms of high quality meshes generation and, mesh sliding interface for stator-rotor interac-
especially, their eventual dynamic handling in tion, GGI/AMI strategy based on interpolation
presence of body motion. However, the need techniques, automatic mesh generation or other
of establishing a robust and computationally topological changes. Sometimes, these dynamic
efficient domain connectivity between the over- mesh handling strategies require some simplifi-
lapping meshes is still a challenging aspect under cations, either geometrical and conceptual, to
investigation. Another drawback to be consid- perform a specific simulation, but it is easy to
ered is the violation of the mass conservation of understand that results are not representing the
finite-volume methods, which cannot be guar- real conditions of the problem. Moreover, the
anteed by an interpolation-based grid coupling manual effort to obtain a sufficiently high mesh
and must be limited by dedicated corrections. quality could be significant.
The aim of this thesis was to validate the The main issues concerning the dynamic
overset approach when applied to the simulation mesh handling are almost eliminated by the ex-
of fluid-machines, in the OpenFOAM environ- ploitation of the overset approach, which, how-
ment, reasoning in terms of its possible future ever, is still considered an open topic of research.
implementation in the industrial context, as well The main reasons are the continuous search for
as in the research field. Three different case more robust and efficient domain connectivity
studies, characterized by an increasing level of algorithms, able to assemble the information
complexity, were analysed and results obtained coming from disconnected mesh regions, and
by the overset approach were compared with the development of correction schemes for the
the ones coming from other simulation strate- minimization of the deficit of mass due to the
gies and also exploiting the experimental liter- overset interpolation. Moreover, despite the idea
ature, whenever possible. Particular attention of overset mesh was conceived around the 80’s,
was given to the evaluation of the mass conser- its support in OpenFOAM is very recent [2].

xvii
Extended Abstract

Overset mesh A detailed view of the overlapping zone for the


overset mesh technique is proposed in Figure I.
In the overset grid approach, the computational
domain is made of at least two different grids or
sub-domains, which are meshed independently,
using any meshing utility, and then overlapped Present contribution
with each other in an arbitrary manner. The
steady mesh component is called background The present work contributed to the continuous
mesh and is the only component grid which is search for alternative dynamic mesh handling
not characterized by the presence of the over- strategies in the field of CFD simulations for
set patch, the user-defined interpolation fringe, fluid-machines, by testing the more recent devel-
used to provide, via interpolation, a boundary opments of the overset approach implemented
condition for the considered component mesh. in the free-source OpenFOAM software. Three
Two major steps are used to establish mesh to different case studies, characterized by an in-
mesh communication: creasing level of complexity, were built up from
scratch and analysed in detail, in order to have a
• Chimera Hole-Cutting: it involves the full comprehension of nowadays overset method
identification of so-called hole cells, those capabilities, from the mesh generation to the
cells which do not belong to the computa- setup and final run of the simulation.
tional domain and so must not be taken
into account in the solution of discretized
governing equations.
First case study
• Donor search procedure: it’s involved
in the interpolation process that allows This preliminary case study analysed the well-
the establishment of domain connectiv- known phenomenon of vortex shedding behind
ity among the disconnected mesh compo- a static cylinder, under the hypothesis of incom-
nents. Based on the concept of acceptor pressible and two-dimensional flow. It is a typi-
and donor cells, solution is interpolated cal example of flow interaction with a bluff body,
at the overset patch and at the interpo- which was deeply studied during the years to
lation fringe around hole cells, which is increase knowledge of vortex-induced vibrations
automatically created by the overset algo- structural problems, with many experimental
rithm. After all donors have been deter- results available.
mined, the general interpolation formula, A laminar flow condition was considered to anal-
linking acceptor cells with the respective yse the Von Karman vortex street, considering a
donors, has the following form: Reynolds number equal to 100, calculated with
respect to a unitary cylinder diameter; no tur-
ND
X bulence models were used.
φ pi = αwk φDk (1) Simulations were performed following two differ-
k=1 ent strategies, namely the overset and snappy
approaches, and a preliminary mesh sensitivity
expressing the interpolated function value analysis was made, by considering two different
at acceptor node Pi , called φpi , in terms levels of refinement at the near-wall region.
of the function values at donor points Dk , The parameters of interest are drag and lift force
named φDk , with αwk the interpolation coefficients, vortex shedding frequency and the
weights. In order to increase the efficiency associated Strouhal number.
of the interpolation process, it is impor-
A similar near-wall mesh resolution was pre-
tant to have a similar cell size, at the
served among the two different strategies to
overset patch, between the overlapping
make a consistent comparison of numerical re-
component meshes, since the accuracy of
sults. Particular attention was given to the
the transfer of flow variable information
radial increase of cell size of the cylinder compo-
is maximum when the geometric proper-
nent mesh, which was limited by the exploitation
ties of donor and receptor elements are
of refineMesh utility, such that it was possible
similar.
to respect the condition of similar cell size at
Three different types of cells are so characteriz- the overset patch, as well as to keep a sufficient
ing the overset method: hole/passive cells, in- distance from the wall to avoid discontinuity of
terpolated cells and calculated/active cells, the flow quantities from mesh to mesh. The fine
only ones for which solution is computed. cylinder mesh is shown in Figure II.

xviii
Extended Abstract

Figure I

of a Momentum Reversal Lift (MRL) tidal tur-


bine, under the hypothesis of incompressible two-
dimensional flow. The machine is made of three
blades with symmetrical profile and exploits
drag and lift forces to extract fluid power from
blades rotating motion, developing about both
their own axis and the machine rotor. When
the turbine blade is in the upper part there is
only drag contribution, while in the other angu-
lar positions there is a combination of lift and
drag forces. A k-ωSST turbulence model was
selected, to properly solve the blades bound-
ary layer (condition of y + < 1), without losing
accuracy in the wake free-stream region,
Figure II The setup and simulation of this case study
was already performed, using an Arbitrary Mesh
The mesh quality resulting from the merge Interface (AMI) approach, for the final project
of cylinder and background component meshes of the course “Modeling Techniques for Fluid
was clearly higher than the one obtained by Machines”. The same task was then repeated
the snappy method, which is affected by mesh for the scope of this thesis, hence exploiting the
deformation. overset method.
The fact that AMI patches cannot overlap led to
Dealing with a laminar incompressible prob-
a necessary decrease of the real blades chord and
lem, the setup of the case was straightforward:
it was deemed as one of the main causes of some
a unitary flow velocity was imposed at the inlet
discrepancies between numerical and experi-
patch, pressure was fixed to ambient value at
mental results. Although the overset method
the outlet patch and the kinematic viscosity of
does not have problems in terms of overlapping
the fluid was set according to the Re.
patches, the reduced blades chord was kept, in
order to make a consistent comparison between
Second case study results coming from the two approaches.
The rotational speed of the shaft was 100 rpm,
The second case study dealt with a more com- twice that of the counter-rotating turbine blades
plex problem,the simulation of the dynamics around their own axis.

xix
Extended Abstract

Figure III

Figure IV

The advantages of the overset method were compared to the overset one, as can be seen by
immediately evident from the mesh generation Figure III, representing the whole meshes, and
process, where it was easy to realise proper Figure IV, showing a detail of the mesh of a
meshes for each blade, that were subsequently single blade.
merged with the steady background mesh, and The work was carried out in two steps: first,
to assign the motion laws through the dynam- an operating condition characterized by a flow
icMeshDict. On the contrary, the mesh gen- speed of 1 m/s was considered and simulation
eration for the AMI approach was much more results were compared; in the second part, in-
expensive, due to the contemporary meshing of stead, it was analysed the effect of the variation
all blades and the four additional AMI patches of the blade to speed ratio BSR on the power
(three for the blades and one for the turbine coefficient Cp , trying to reproduce the trend of
shaft) used to decouple the rotating mesh re- the machine experimental curve proposed by
gions from the stationary domain. Moreover, M. Berry and G.R. Tabor scientific paper [3].
the resulting AMI mesh was of inferior quality Obviously, due to the reduced blades chord, an

xx
Extended Abstract

underestimation of experimental values was ex- basic mesh deformation based on diffusion of
pected. internal points would easily fail due to mesh
deterioration. On the other hand, the extreme
flexibility of both mesh generation and multi-
Third case study ple body motion, proper of the overset method,
The last case study consisted in a preliminary allowed to easily handle such a problem, pre-
application of the overset approach to the impor- serving a sufficiently high mesh quality.
tant field of internal combustion engines (ICEs) Last but not least, it is important to under-
simulations, where the correct handling of multi- line that the valve was set up to start from a
body motion is a fundamental aspect for which condition of zero gap from the valve seat, to un-
specific CFD packages were developed during derstand if the overset approach could manage a
the years. In this perspective, as long as mass condition of domain disconnection, that cannot
conservation issues are minimum, the overset be handled by any other meshing strategy.
approach should represent a very interesting so-
lution to easily handle mesh motion, although
it was rarely applied to ICEs simulations.
The overset method was applied on a basic
ICE cylinder with flat head and a single valve
and the work was divided into two different sub-
cases: preliminary steady-state flow tests for
different pressure expansion ratios and intake
flow due to piston motion during valve opening.
Again, a two-dimensional grid was chosen, to
lighten the computational burden, but the com-
pressible nature of the working fluid (a pure
mixture of air) was considered.
A k-ωSST turbulence model was selected.
The simplified cylinder and valve geometries
were drawn in the FreeCAD environment and
exported as STL files to be subsequently meshed
via snappyHexMesh utility.
The same component meshes were used for the Figure V
two sub-cases, such that the last one was simply
provided with an additional component mesh for
the piston, created by means of blockMesh and Results and discussion
topoSet utilities. The final assembly of cylinder, The first case study, about vortex shedding be-
valve and piston component meshes is shown in hind a circular cylinder, showed that the per-
Figure V. centage deficit of mass was limited in the order
The first half of the work focused on steady- of 10−2 and that a cylinder mesh refinement had
state flow tests, at the condition of maximum an overall beneficial effect on results, due to the
valve lift, for different pressure expansion ratios. reduced weight of both mesh and interpolation
The overset approach was compared to a single effects when adopting a fine mesh. The com-
mesh strategy based on snappyHexMesh utility parison with the grid based on snappyHexMesh
and particular attention was given to the evalu- utility showed that a vortex shedding frequency
ation of the mass deficit, in case of the overset of 0.175 Hz was uniquely captured by both meth-
method, to make a preliminary estimation of its ods and was in good agreement with the typical
possible applicability to the simulation of ICEs. experimental value of about 0.17 Hz [4]. Compa-
The second part of the work was, instead, rable numerical results were also obtained from
dedicated to the analysis of the intake flow, gen- the analysis of force coefficients, but the overset
erated by a moving piston, starting from the approach paid a higher number of employed cells
critical condition of valve closed. and a more expensive computational time.
Unlike previous case studies, the complexity of The simulation of a MRL Tidal Turbine
the dynamic mesh handling characterizing this offered the opportunity to analyse the real ad-
problem prevented the possibility of developing vantages of the overset approach: the extreme
an alternative strategy to the overset approach. easiness and flexibility in the creation of optimal
In fact, large body motion was involved and component meshes and their successive dynamic

xxi
Extended Abstract

handling. observed for the dynamic case, where the full


Positive outcomes were obtained from the com- potentialities of the overset approach, combined
parison of the mean calculated forces with re- with a slight modification of the CVW overset
spect to an inlet flow velocity of 1 m/s: 0.7% of interpolation algorithm, allowed to rather easily
error for the horizontal force component, 8% for simulate a complex problem characterized by
the vertical one and just 0.48% for the torque, large body motion and domain disconnection,
directly related to the power, the useful effect due to the initial valve closed.
of the machine. Moreover, the overset deficit of An intermediate phase of the intake flow process
mass for such dynamic incompressible problem is shown in Figure VII, where flow recirculation
was equal to 0.13%, still quite limited for a free is visible.
stream problem, but it increased of about one
order of magnitude from the previous case study
because of dynamic mesh motion.
Regarding the sensitivity analysis on non-
dimensional parameters, BSR vs Cp , both nu-
merical methods were able to reproduce the
trend of the machine experimental curve, as
shown in Figure VI. According to the reduced
blades chord, simulations underestimated the
real power coefficient, but were characterized by
similar results for intermediate values of BSR,
the region of maximum power extraction, while
higher discrepancy was observed for extreme
BSR values. Figure VII
Reasonable results were obtained in terms of
Cp vs BSR

overset
both in-cylinder pressure and inlet mass flow
0.5 AMI
exp
rate evolution, for increasing piston velocities.
Simulation time was strongly influenced by the
0.4
efficiency of the interpolation method adopted
to transfer information between background and
0.3
foreground meshes: for example, the adoption
Cp

0.2
of efficient AABBTree method allowed to reduce
the computational time by a factor of 10 with
0.1
respect to the standard method.

0
0 0.2 0.4 0.6 0.8 1 Conclusions
BSR

This work highlighted the significant potential-


Figure VI ities of the overset approach, exhibiting excep-
tional advantages for both mesh generation and
The exploitation of the overset approach had complex multi-body motion, advantages that
also beneficial effects from the computational may find a place in a real industrial context,
time point of view, since, in average, it was especially if the overset approach proves to be
about two times faster than the AMI method, a suitable alternative solution with respect to
limited in the time step by the interpolation at standard methods based on multiple meshes and
the cellZones interfaces. mesh-to-mesh interpolation.
The preliminary application of the overset The principal drawback of the method relies in
method to ICEs immediately evidenced the in- the mass conservation, critical for the simulation
creasing mass conservation issues when a com- of closed domain problems, like ICEs, but not so
pressible problem is considered. In fact, the relevant for incompressible cases. Moreover, the
deficit of mass that was observed in simple overset method could still represent a suitable
steady-state flow states, for increasing expansion solution for external aerodynamics applications
ratios, exceeded, in average, the usual maximum and for preliminary design optimization studies.
value of acceptability for the simulation of an For counteracting the strong increase of com-
ICE, set to 1%. putational time associated to compressible dy-
On the other hand, very promising results were namic cases, it should be always recommended

xxii
Extended Abstract

a parallelization of simulations and the adoption overset interpolation algorithms, or on the mod-
of more efficient interpolation algorithms. ification of the already existing ones, with the
Future works should focus on the test of other aim to minimize mass conservation issues.

xxiii
Introduction

Fluid mechanics is the branch of science concerning the study of fluids and their
motion. At the beginning, this field of study was limited to aeronautics and
astronautics, however, it has rapidly become more and more widespread among
other important fields like automotive and infrastructure, where the study and
prediction of fluids behaviour play a key role in the design optimization. This effect
was mainly driven by the growing importance of CFD simulations in industrial
applications. In fact, favored by the continuous increase of computational resources
and the development of more efficient mathematical models and simulation strategies,
CFD has experienced a strong evolution in the last forty years and now represents a
powerful tool for the simulation of different problems (fluid dynamics, combustion,
electromagnetics, solid mechanics, etc...) that, if addressed with an experimental
approach, would typically result in a much higher expense, considering both time
and money invested. The most relevant improvements in the history of CFD mainly
focused on the meshing strategy, since it is well known that results are extremely
dependent on the mesh quality, not only in terms of number of cells used to replace
the continuity of the real space, but also their shape, which has issues related to
the numerics. For these reasons, grid generation is a critical and time consuming
step in the CFD analysis, which can become a really challenging task for complex
geometries, especially in case of body motion.

There are different meshing strategies available, each type of mesh having some
advantages and drawbacks with respect to features like structure of the solution
matrix, flexibility in shape reconstruction, total number of cells needed and their
acceptable level of deformation. As written by Hirsch [5], the simplest kind of
mesh is the structured grid, which also allows to obtain a regular structure of the
solution matrix; on the other hand, an unstructured grid strategy is characterized
by a higher flexibility in shape reconstruction, but the solution matrix is no longer
regular. Hence, structured mesh solvers are inherently faster than unstructured
ones but, often, a single structured mesh cannot adequately define the geometry of
interest. That is why, usually, more structured meshes are combined together in an
unstructured manner, following a multi-block method, to better reconstruct complex
regions, while maintaining a relatively high computational efficiency. Nonetheless,
the time spent for the mesh generation could be huge if the geometry becomes more
complex or mesh motion is involved; moreover, there is no assurance that the final
mesh would be of sufficient high quality with respect to the analysed problem.

1
Introduction

Scope of the thesis


The present work deals with an alternative approach, called overset mesh technique,
that could result in an interesting, practical solution towards the main issues
concerning the mesh generation step. This method, in fact, relies on a meshing
strategy which greatly simplifies the mesh generation process, by overlapping
different grids in an arbitrary manner. This simple idea has immediate benefits in
terms of high quality meshes generation and, especially, their eventual dynamic
handling in presence of body motion, as will be better explained in Chapter 2.
Despite these advantages, the need of establishing a robust and computationally
efficient domain connectivity between meshes is still a challenging aspect under
investigation, which can be threatened by complex multi-body motion.
The aim of this thesis was to validate the overset approach when performing
fluid dynamics simulations, reasoning in terms of its possible future implementation
in industrial applications. The validation of the overset method was performed
by comparing the results of simulations obtained, respectively, with classical and
overset methods and by exploiting the experimental literature, whenever possible. In
this context, classical or standard methods refer to all the other meshing strategies
working on a single mesh domain, which can be either structured, unstructured or
created in a multi-block way. In particular, the validation process was conceived to
be carried out step by step, starting from simple cases and, then, moving towards
more complex case studies, of a more practical interest. Each case study was started
from scratch, to have a full comprehension of both mesh generation and setup of
the overset method. Since the different component meshes interact with each other
through interpolation, mass is not conserved, so the deficit of mass was always
checked and deemed to be acceptable or not.
The task was carried out using OpenFOAM (Open Field Operation and Ma-
nipulation), which is a free open source CFD software, based on FVM and C++
libraries, that is able to simulate anything from complex fluid flows involving chemi-
cal reactions, turbulence and heat transfer, to solid dynamics and electromagnetics.
Despite the idea of overset mesh was conceived around the 80’s, its support in
OpenFOAM is very recent1 . In order to keep up with the most important improve-
ments about this approach, an updated version of OpenFOAM was installed and
used for running simulations.

Thesis structure
The work is structured into five chapters:

• Chapter 1 introduces the foundations of CFD: Navier-Stokes equations, tur-


bulence models, FVM discretization. The main structure of OpenFOAM is
also presented.

• Chapter 2 opens with an introduction of the overset approach and its novelties
with respect to other existing methods; then, it is followed by an in-depth pre-
1
Boger et al.(2010) [2] first developed the FoamedOver library to implement the overset
capability in OpenFOAM.

2
Introduction

sentation of the fundamental algorithms and the main rules and peculiarities
in the setup required by this method.

• Chapter 3 deals with the first case study: the simulation of vortex shedding
behind a circular cylinder in regime of Von Karman street. It was chosen as
first case study because it is a static case, with incompressible, two-dimensional
flow assumptions. The overset method was compared with a single mesh
strategy based on snappyHexMesh utility and with experimental results found
in the literature.

• Chapter 4 introduces the second case study: the simulation of a MRL Tidal
Turbine. The assumptions of incompressible, two-dimensional flow are still
valid but the problem is now dynamic, due to the rotating turbine blades. The
overset mesh was compared with the AMI strategy and with the experimental
results of Berry and Tabor’s report [3].

• Chapter 5 deals with the final case study, a preliminary application of the
overset method to ICEs. In this case, the compressible nature of the working
fluid (a pure mixture of air) was considered. The work was subdivided into
two steps: first, it was performed an introductory steady-state analysis about
flow tests on a basic ICE cylinder-valve configuration, for different pressure
expansion ratios, in the condition of maximum valve opening; after that, an
unsteady problem was investigated, which can be described as the intake flow
due to the piston motion during valve opening. The last sub-case represents
the most relevant application of the overset approach which was tested in
this work, since large, multiple body motion is involved; moreover, a very
critical condition, that would make all other meshing strategies fail, was rather
easily simulated by the overset method: the valve opening starting from the
condition of zero gap with the valve seat.

3
Chapter 1

Basics of CFD

Computational Fluid Dynamics (CFD) is the numerically-based branch of fluid


mechanics which analyses and solves problems involving fluid flows. It is an al-
ternative, usually cheaper, solution to the experimental branch which introduces
mathematical models and numerical methods to simulate fluid dynamic phenomena,
struggling with their complex non-linear properties (turbulence, flow unsteadiness,
shock waves and compressibility effects).
There is always a constant communication between experimental and numerical
approach, in order to, for example, tune coefficients or install instruments for
performing better measurements; as consequence, CFD models are always char-
acterized by a certain level of empiricism, coming from real world observations.
Both mathematical models and numerical schemes play a key role for the correct
description of the flow evolution and all its physical properties, such as velocity,
pressure, temperature, density and viscosity.
In this chapter, a brief recall of fluid mechanics governing equations, turbu-
lence modeling and finite volume method is proposed. The details about these
fundamental topics are voluntarily neglected and can be easily found in any book
of computational fluid dynamics. The main reference book is represented by the
Versteeg-Malalasekera [6].
A section is also dedicated to a general description of the OpenFOAM structure,
according to the OpenFOAM User Guide [7].

1.1 Fluid dynamics governing equations


CFD is based on the formulation of conservation laws. Conservation equations are
written according to a Eulerian approach, which, unlike the Lagrangian point of
view, does not track the motion of the single fluid particle, but develops balances
for a stationary fluid element. Hence, properties are not expressed per unit of mass
(Lagrangian approach), but per unit of volume; this is particularly convenient when
dealing with CFD codes, which are based on the finite volume method.
Conservation equations are built according to the fundamental concept of flux:

"The variation of the total amount of a quantity inside a given


domain is equal to the balance between the amount of that quantity

5
Chapter 1

Figure 1.1: Notation used for writing conservation laws referred to a generic control
volume

entering and leaving the considered domain, plus the contribution from
eventual sources generating that quantity".
With reference to the notation used in Figure 1.1, the integral formulation of the
general conservation equation for a generic scalar per unit volume φ is:
∂ Z I Z I
φdΩ = − F · dS + Qv dΩ + Q
~ ~ ~ s · dS
~ (1.1)
∂t Ω S Ω S

The previous general conservation equation can be read in this way: the unsteady
variation of a given quantity φ is equal to the variation of flux terms plus the
contribution of volume and surface source terms.
Surface integrals of Equation 1.1 can be transformed into volume integrals by
applying the Gauss theorem. After that, since the balance is valid for an arbitrary
volume Ω, it must be valid in any point of the flow. It is thus possible to write the
so-called convection-diffusion differential form of conservation equation:
∂φ ~ ~
+ ∇ · F = Qv + ∇ ~ ·Q ~s (1.2)
∂t
The convection-diffusion equation takes the name from the two contributions to
the flux, which can be either convective or diffusive.
• The convective flux represents the amount of φ that is carried away or
transported by the fluid flow: F~C = φU ~ . It appears as a first order partial
derivative term and represents a non linear term, as the velocity field depends
on transported variables.
• The diffusive flux represents the amount of φ that is carried away or trans-
ported by the presence of its gradient: F~D = −kρ∇φ.
~ Diffusion appears as a
second order partial derivative term, called Laplace operator.
The form of previous equations does not change when the conserved property is a
~ = (φx , φy , φz ); in this case the flux becomes a tensor, as well as the surface
vector φ
source term (stress tensor), whereas the volume source term is a vector.
The conservation equations that completely determine the behaviour of the fluid
system, without the need of any additional dynamic law, are presented hereafter:

6
Basics of CFD

• Continuity equation
Considering an infinitesimal control volume, in absence of nuclear reactions,
the variation of mass is equal to the variation of entering and leaving convective
flux through the element surfaces. In integral form:

∂ Z Z
ρdΩ + ρU ~=0
~ · dS (1.3)
∂t V S

In differential form:
∂ρ ~
+ ∇ · (ρU
~) = 0 (1.4)
∂t
• Momentum equation
It derives from Newton’s law, as the balance between the variation of momen-
tum of a fluid element and the forces exerted on it. Forces can be divided
into surface and volume forces:

– Assuming a Newtonian fluid, surface forces are described by the stress


tensor σ, which expresses the deformability of the fluid. It is characterized
by an isotropic pressure component pI and by the viscous shear stress
tensor τ , representing the internal friction force of fluid layers against
each other.
σ = −pI + τ (1.5)

– Volume forces like gravity, Coriolis acceleration and other applied forces
are represented by a specific source term.

The integral momentum conservation equation, written in vectorial form, is:

∂ Z ~ I Z I
ρU dΩ + (ρU
~U~ ) · dS
~= ρf~e dΩ + σ · dS
~ (1.6)
∂t V S V S

And in differential form:


~)
∂(ρU
+∇
~ · (ρU
~U~ + pI − τ )dΩ = ρf~e (1.7)
∂t

• Energy equation
The energy equation derives from the first principle of thermodynamics,
stating that the total variation of the energy of a fluid particle is equal to the
thermal power introduced plus the mechanical power acting on the surface of
the particle.
The conserved quantity is the total energy, defined as the sum of fluid internal
energy plus its kinetic energy per unit mass:

1~2
E =e+ U
2
According to this definition, the gravitational potential energy contribution is
regarded as a body force, which does work on the fluid element as it moves

7
Chapter 1

through the gravity field.


For energy, there are both types of fluxes: convective
F~C = ρE U
~

and diffusive (k being the thermal conductivity of the fluid)

F~D = −k ∇T
~

The volume source terms are the work of the volume forces fe and the heat
sources (radiation, reactions or electrical resistance):

Qv = ρf~e · U
~ + qH

The surface sources Q~S are the result of the work done on the fluid by the
internal shear stress acting on the surface of the control volume:
Q~S = σ · U
~ = −pU
~ +τ ·U
~

Grouping all the contributions, the energy equation in integral form becomes:
∂ Z I I Z
~
I
ρEdΩ + ρE U · dS = k ∇T dS + (ρfe · U + qH )dΩ + (σ · U
~ ~ ~ ~ ~ ~ ) · dS
~
∂t V S S V S
(1.8)
Which becomes in differential form:
∂ρE ~ ~ ) + ρf~e · U
+ ∇ · (ρE U
~) = ∇
~ · (k ∇T
~ )+∇
~ · (σ · U ~ + qH (1.9)
∂t
By expressing the stress tensor in its isotropic and viscous shear stress
p
component and by introducing the specific enthalpy h = e + , it is possible
ρ
to rewrite the energy balance in terms of total enthalpy, which is particularly
suitable when dealing with combustion processes:
∂ρH ~ ~ ) = ∂p + ρf~e · U
+ ∇ · (ρH U
~ − k ∇T
~ −τ ·U ~ + qH (1.10)
∂t ∂t
To provide a closure to the system of equations, a set of constitutive relations for
compressible Newtonian fluids are necessary:
• Equation of state:
Except for flows with shock-waves, the fluid can be considered in local equi-
librium, so its state can be described by means of two equations of state, in
the form:
p = p(ρ, T ) and e = e(ρ, T ) (1.11)
They enable to link the energy equation to mass and momentum conservation
for compressible flows; in fact, the distribution of mass is affected by density
variation caused by local changes of pressure and temperature in the flow
field. In case of perfect gas: p = ρRT and e = cv T .

8
Basics of CFD

• Newton’s law of viscosity:


The nine components of the viscous stress tensor τ can be expressed as
functions of the strain rate (or local deformation rate), given by the sum of
two contributes:
the linear deformation rate
1 ∂ui ∂uj
!
ij = + (1.12)
2 ∂xj ∂xi
and the volumetric deformation rate
∂u ∂v ∂w
+ + =∇·U
~ (1.13)
∂x ∂y ∂z
With the addition of two constants of proportionality, the first (dynamic)
viscosity µ and the second viscosity λ, the viscous stress components are
expressed as:
τ ij = 2µij + λ(∇ · U
~ )δij (1.14)
where δij being the Kronecker delta. For gases it is a good approximation to
consider λ = − 32 µ (Schlichting, 1979).
The dynamic viscosity µ can be calculated according to Sutherland’s formula:
3
1.45T 2 −6
µ= 10 (1.15)
T + 110

Specific heat capacity is usually expressed as a fifth order or higher polynomial.

• Fourier’s law
The heat flux is related to the gradient of the temperature field by Fourier’s
law:
q = −k∇T (1.16)

The fluid mechanics governing equations for an unsteady, compressible, three-


dimensional flow, are called Navier-Stokes equations and can be summarized here-
after, in differential form:
∂ρ ~

Continuity + ∇ · (ρU
~) = 0




 ∂t


∂(ρU~)
~ + pI − τ )dΩ = ρf~e
Momentum +∇ ~ · (ρU
~U




∂t

∂ρE ~ ~ ) + ρf~e · U
Energy + ∇ · (ρE U~) = ∇
~ · (k ∇T
~ )+∇ ~ · (σ · U ~ + qH







 ∂t

Eq. of state p = p(ρ, T ) and e = e(ρ, T )



(1.17)
Unfortunately, there’s still no general analytical solution in closed form for such
equations, except for very simple cases of limited practical interest, where non-linear
terms can be neglected under the main hypothesis of steady, laminar flow and
simple geometry. Due to mathematical limitations and the huge costs related

9
Chapter 1

to the experimental branch, great focus was given to the numerical approach, in
order to properly simulate fluids behaviour, based on the solution of discretized
Navier-Stokes algebraic equations. The discretization of such equations, and so
their implementation in CFD softwares, will be described in Section 1.3.
The general set of Navier-Stokes equations can, sometimes, be simplified by,
mainly: reducing the dimensions of the problem, assuming incompressible or steady
flow, neglecting viscosity (Euler equations).
Under the hypothesis of incompressible flow, the density is constant and, hence
not linked to the pressure by the equation of state. In this case, a pressure-velocity
coupling issue arises, since pressure must adapt to the evolving velocity field. Mass
conservation becomes a constraint for the velocity field and, if combined with the
momentum, can be used to derive an equation for the pressure, called Poisson
equation:
1 ~ · f~e
∆p = −∇ ~ · (U
~ · ∇)
~ U~ +∇ (1.18)
ρ

1.2 Turbulence modeling


Turbulence is a highly complex phenomenon whose physical origin lies in the non-
linearity of the flow governing equations. Main non-linearity is provided by the
convective term of momentum conservation and by compressibility effects (e.g.
shock waves).
One of the most effective definitions of turbulence states that:
"Turbulence is a three-dimensional, unsteady, rotational fluid motion
with broad-banded fluctuations of flow quantities (velocity, pressure,
temperature, etc...) occurring in both time and space."
Experience has shown that turbulence is the final state of a process composed by a
succession of non-linear instabilities, called transition, occurring above a certain
critical Reynolds number, defined as:
UL
Recrit = (1.19)
ν
where U is the flow velocity, L a suitable length scale and ν is the kinematic viscosity
of the fluid.
Turbulent flows show an opposite behaviour to the laminar regime, since they are
characterized by: chaotic, stochastic property changes, high momentum convection
and rapid variation of pressure and velocity in space and time, even in presence of
time-invariant boundary conditions.
The random nature of turbulent flows makes them almost impossible to be predicted
in detail. On the other hand, nearly all flows of practical engineering applications are
turbulent (e.g. turbomachinery and ICEs), because they greatly enhance the rates
of momentum, heat and mass transfer. This is the reason why it is of fundamental
importance to be able to mimic and predict, as accurately as possible, turbulent
effects, by means of modeling techniques.
From the modeling perspective, a statistical approach resulted to be most
effective and an exhaustive description can be found in the Kundu [8]. Without

10
Basics of CFD

entering into details, a dimensional analysis highlighted that turbulent flows are
constituted by highly unstable vortical structures of different scales, called eddies.
The length scale of eddies is connected to the fluctuating component of a given
quantity, obtained by the subtraction of its steady mean value. An example of the
different eddies length scales is shown Figure 1.2.

Figure 1.2: Turbulent velocity fluctuations and eddies length scales

In the first half of the XX century, an interesting thory was developed by Richardson
and Kolmogorov, named as Energy Cascade, which was experimentally validated
some years later. This theory states that momentum is transferred from larger
to smaller eddies in inviscid way, until viscous dissipation occurs at the level of
the smallest scale. This fact is of paramount importance because, in order to
numerically solve turbulent flows, it is necessary to have a grid resolution which is,
at least, equal to the smallest eddies length scale, otherwise viscous dissipation is
neglected.
l
Eddies are characterized by a size l, a velocity u(l) and a time scale τ (l) = .
u(l)
Largest eddies have a so-called integral length scale lI , which is comparable to
the flow length scale L. The same is valid for the corresponding Reynolds number,
uI lI
ReI = , which is large enough that viscosity is negligible with respect to inertia.
µ
Large eddies extract energy from the mean flow by means of shear stresses caused
by velocity gradients. This process is named vortex stretching and is responsible
of the energy transfer from larger to smaller eddies. Since angular momentum
is conserved, smaller eddies have a higher rotation rate, increasing the velocity
gradients and the viscous shear stresses; this enhance a break-up process of the
eddies into smaller ones, which are stretched in turn. Finally, at the smallest scales,
called Kolmogorov microscale, the Reynolds number is sufficiently small that the
kinetic energy of turbulence is converted into thermal energy by viscous dissipation.
The energy content of different eddies is function of their fluctuation frequency
f , which is typically expressed in terms of wavenumber, k:

2πf
k= (1.20)
U

11
Chapter 1

Smaller eddies spin faster (higher wavenumber) but have lower spectral energy E(k)1
than larger ones. In fact, the latter directly interact with the mean flow, while
the former have a higher dissipation rate, because inertial and viscous effects have
similar importance. This concept is illustrated in Figure 1.3.
The highest wavenumbers belong to the eddies in the Kolmogorov scale. These
vortexes have characteristic lengths, times and velocities (respectively lk ,τk and uk )
whose magnitude can be estimated by means of dimensional analysis, comparing
them with the integral scales (lI , τI and uI ):

lk

−3/4


 Length-scale ratio ≈ ReI



 lI
τk


−1/2
Time-scale ratio ≈ ReI (1.21)


 τI
uk


−1/4
Velocity-scale ratio

≈ ReI


uI
The above relations show that the higher the Reynolds number, the higher the
difference between macro and micro scales. This is a very bad result from a
computational point of view, because, to properly solve turbulence and capture
flow variations, extremely small time and space intervals are necessary, even for
simple cases of engineering interest.
There are three macro approaches to deal with turbulence modeling, presented
hereafter in ascending order of level of approximation:

• Direct Numerical Simulation (DNS)


No turbulence model is used. Navier-Stokes equations are entirely computed
from the largest to the smallest scales of turbulence. It requires prohibitive
computational power and time, due to the very small time step and cell size of
the mesh. It is employed in a limited number of research studies with limited
Reynolds number.

• Large Eddy Simulation (LES)


It simulates directly the largest scales of turbulence and models the small
scale vortexes. In this way, it is possible to accurately predict the evolution of
large scale eddies, characterized by a higher energy content, while decreasing
the computational demand required by a DNS method.

• Reynolds Averaged Navier-Stokes equations (RANS)


It is the most popular strategy to deal with turbulence, but it also introduces
the highest level of approximation. It models all scales of turbulence, by
solving time averaged equations obtained using statistic operators (Reynolds
Averaged Navier-Stokes equations). Thanks to its reduced computational
time, it is suitable for industrial applications.

The level of approximation of the different turbulence modeling methods, with


reference to the energy cascade, is shown in Figure 1.3.
1
The spectral energy E(k) is the kinetic energy per unit mass and per unit wavenumber of
fluctuations around the wavenumber k [6]

12
Basics of CFD

Figure 1.3: The figure shows the inverse proportionality between spectral energy E(k)
and wavenumber k and the level of approximation of modeling methods

In the present work, RANS simulation types are treated, adopting a k-ωSST
turbulence model. Hence, a brief description of the general idea behind the RANS
approach is given, together with the development of the k-ωSST turbulence model.
A detailed mathematical description of the RANS method and of all other turbulence
models can be found in reference [8].

1.2.1 RANS turbulence models


RANS equations are obtained by so-called Reynolds averaging procedure. It is a
linear operator which is applied on every governing equation, in which flow quanti-
ties are written as the sum of their mean and fluctuating components (φ = φ + φ0 ).
According to the Reynolds averaging properties, the equation’s linear terms are
replaced by the corresponding mean terms, while the non-linear advective term is
given by a mean component and a non-linear combination of fluctuating components,
that do not vanish. These fluctuating non-linear components, appearing in diver-
gence form in the momentum equation, act like additional stresses to the molecular
one and are known as Reynolds stresses. They physically enhance diffusivity and
mixing rate in turbulent flows and belong to the symmetric Reynolds stress tensor:

r = −ρu~0 u~0 (1.22)

In a similar way to the Reynolds stresses, the non-linear convective term in the
energy equation causes the presence of a combined fluctuating term, called turbulent
heat flux:
− ρcT 0 u~0 (1.23)

Since both Reynolds stresses and turbulent heat flux are additional unknowns,
introduced by Reynolds decomposition, a closure problem arises.

13
Chapter 1

A remarkable step of the modeling effort was represented by Boussinesq’s


hypothesis, that expressed the Reynolds stress tensor as sum of an isotropic and a
deviatoric anisotropic component:
2
r = −ρ k − 2µT D (1.24)
3

where D = sym(∇U ~ ) is the mean strain rate tensor, meaning that the deviatoric
component was modeled with the Newton’s stress-strain rate law.
In this way the original six unknows introduced by the Reynolds stress tensor are
reduced to just one scalar coefficient, called turbulent viscosity µT .
A similar strategy was adopted also for the turbulent heat flux, introducing the
turbulent diffusivity kT :
− ρcT 0 u~0 = kT ∇T (1.25)

Boussinesq’s hypothesis drastically reduced the closure problem to the evaluation


of the turbulent viscosity only2 , which, by dimensional analysis, was found to be
proportional to the product between a turbulent length scale lT and a turbulent
velocity uT :
µT ∝ lT · uT (1.26)
The problem was so translated into an appropriate modeling of the turbulent length
scale lT , through the so-called mixing length concept, providing very good results
for the boundary layer problem (shear flows). Some empirical formulations of the
turbulent length scale were proposed (e.g. Van Driest model) to provide a closure
to RANS equations.
The mixing length concept was then replaced by equation models, introducing
transport equations for modeling quantities which are related to the turbulent
viscosity by links of proportionality. The most popular equation models, also
selected for the present work, are the ones based on two balance equations: the
first one is dedicated to the turbulent kinetic energy k, for which Prandtl, in
1945, derived an equation in analytical closed form; the second transport equation,
instead, refers to either the turbulent dissipation rate ε or frequency ω and, in
both cases, it is entirely modeled, characterized by the presence of typical terms
appearing in balance equations (unsteady, production, dissipation and transport
terms). The names given to the couple of basic two equation models is rapidly
derived: k-ε and k-ω.
The main properties of these two models are summarized hereafter:

• k-ε
The model solves a modeled equation for the dissipation rate ε, defined as
ε = 2µ(D : D). This turbulence model is problematic at the wall due to
singularity issues, necessarily requiring the use of so-called wall functions, but
it provides good performance in the free-stream region.
Even though wall functions should represent a universal trend of velocity
2 µT
The turbulent diffusivity can be determined by a turbulent Prandtl number: P rT = c ≈1
kT

14
Basics of CFD

profile, they are not universal at all, since they do not consider pressure
gradients due to curved geometry or compressibility effects like shock waves.
They are applied when the resolution of the boundary layer is not needed,
reducing calculation burden, but they require a proper cell clustering near the
wall region: the mesh should be coarse enough to have y + > 30 (logarithmic
region of the boundary layer).
The y + is the dimensionless wall distance, defined as:
yUτ
y+ = (1.27)
ν
Where y is the distance to the nearest wall, ν is the local kinematic viscosity
of the fluid and Uτ is the friction velocity, which is proportional to the shear
stress at the wall and defined as:
s
τw
Uτ = (1.28)
ρ

When running simulations, it is important to keep in mind that it is not


possible to evaluate the y + value a priori, because it depends on the shear
stress at the wall τw , which is part of the solution itself.

• k-ω
This model solves a modeled equation for the turbulent frequency ω, expressed
k
as ω = . Contrary to k-ε, k-ω model is able to solve properly the boundary
ε
layer, given a sufficient mesh refinement, without the need of wall functions,
that can be used to save computational time. It also behaves better in presence
of pressure gradients and prediction of separation, but it is less accurate in
the far-wall region.

In order to overcome the principal drawbacks of the previous models, the k-ωSST
(Shear Stress Transport) turbulence model was introduced: it is a hybrid model that
combines positive aspects of k-ε and k-ω models, through a blending function that
varies according to the y + . To correctly describe the fluid-dynamics in the near-wall
region it is required a y + < 1, which means a strong mesh refinement at the wall.
It is probably the most used turbulence model for industrial turbomachinery flow
calculation, so it was selected also for this work.

1.3 The Finite Volume Method


The finite volume method (FVM) is the discretization strategy adopted by CFD
codes, included OpenFOAM, to translate mathematical models and Navier-Stokes
governing equations into numbers that can be managed by computers.
The first step consists in the discretization of the domain of interest into sub-
domains, called control volumes (CVs), by means of a computational grid or
mesh. Then, conservation equations in integral form are applied to all CVs and
global conservation of the method is guaranteed. In particular, variable values are
calculated at the CVs centroids and, by means of interpolation, they are referred to

15
Chapter 1

Figure 1.4: Generic CV with cell centroid denoted with P, sharing an internal face with
a neighboring cell whose centroid is labeled with N.

the surface variable of each CVs nodal point. An example of cell element is shown
in Figure 1.4.
Consider a scalar φ and its generic unsteady transport equation written in
differential form:
∂(ρφ) ~
+ ∇ · (ρφU
~) = ∇
~ · (Γ∇
~ φ ) + Qφ (1.29)
∂t
where the above terms are, respectively: unsteady term, transport convective flux,
transport diffusive flux and source term.
By integrating over the volume V of a generic CV, in a finite time step ∆T and
applying Gauss theorem on the transport terms, the equation becomes:
Z Z t+∆T Z t+∆T Z
∂(ρφ)
dt dV + (ρφU
~ ) · ~ndS dt =
V t ∂t t S
(1.30)
Z t+∆T Z Z t+∆T Z
= (Γ∇φ)
~ · ~ndS dt + Qφ dV dt
t S t V

The aim of the discretization process is to obtain a system of algebraic equations in


the form:
aP φnP + aN φnN = Qu (1.31)
X

N
In the left-hand side there are the unknown variables φ, at the new time step
n, both referred to the current cell center P and to neighboring cell centroids N .
The coefficients relative to the value of quantity φ is denoted with a, while the
right-hand side term represents the source term contribution of the previous time
step.
All the discretization schemes must satisfy some fundamental properties in order
to be physically realistic. The main ones are:
• Conservativeness: a scheme must be consistent. It means that the flux of a
general quantity φ exiting from the surface of a cell CV must have the same
value of the flux entering the adjacent cell.

16
Basics of CFD

• Boundedness: it is linked to convergence; if the matrix corresponding to an


algebraic system is not diagonally dominant, convergence of the iterative
method is not guaranteed. For this reason, the coefficients have to satisfy the
sufficient condition:

|aN | ≤ 1 for all nodes
P
N
(1.32)
a0P < 1 for at least one node

• Transportiveness: it represents the ratio between convective and diffusive


contribution of the face flux. This ratio is expressed by the Peclet number:
F ρU
Pe = = (1.33)
Γ
!
D
δx

where δx is the cell width, taken as characteristic length.

It is possible to evaluate each term of Equation 1.30 according to its topology.


The nomenclature adopted is the following: i refers to the i-th face cell (n, s, o, e
for 2D cases) and I refers to the I-th central node (N , S, O, E for 2D cases). The
expressions are referred to uniform grids.

1.3.0.1 Diffusion term


Gradient terms are usually discretized with central differencing scheme that is
second order accurate in estimating the first derivative of the face node:
!
∂φ φI − φP
= + O(∆x2P I ) (1.34)
∂x i
∆xP I

The last term is the truncation error, whose exponent indicates the order of accuracy
of the scheme. It is clear that a reduction of the cell size (finer mesh) is beneficial
for the accuracy of the scheme.
The overall surface integral of a grid control volume is then calculated as follows:
!
Z
φP − φI
(Γ∇φ)
~ · ~ndS ≈ Γ = Di (φp − φi ) (1.35)
X X
S i ∆xP I i i

where Di is the diffusion coefficient and diffusivity can be computed as a mean


value:
2ΓI ΓP
Γi = (1.36)
ΓI + ΓP

1.3.0.2 Convective term


Again, a surface integral has to be computed but, this time, there is no derivative
to estimate and just the value of φ has to be evaluated:
Z
(ρφU
~ ) · ~ndS ≈ (φF~ S)i (1.37)
X
S i

17
Chapter 1

The estimation of the value φi is carried out by the central differencing scheme:
φI − φP
φi = (1.38)
2
Since it does not take into account the effect of flow direction and it is valid for any
type of flow, transportiveness wouldn’t be satisfied for flows with |P e| > 2. This
induces instability problem in the simulation.
To solve this issue is common to use the Upwind Discretization Scheme (UDS):

φ
E if(U
~ · ~n)e < 0
φe = (1.39)
φP if(U
~ · ~n)e > 0

which assigns to the face node the value of the upstream center node depending on
flow direction but is first-order accurate. In order to evaluate the error made with
this approximation, a Taylor series expansion centered on P can be used:

(xe − xP )2 ∂ 2 φ
! !
∂φ
φe ≈ φP + (xe − xP ) + (1.40)
∂x e
2 ∂x2 e

The last term is the Laplacian term typical of a diffusion flux; in fact, it introduces
a phenomenon called numerical diffusion, that basically consists of a higher mo-
mentum distribution among the neighboring cell nodes, considering the flow as if
it had a higher viscosity. This is the principal drawback of this scheme, which is
increased by a poor flow-grid alignment. The macro effect is a smoothing action
of steep gradients, leading to an under estimation of results. However, simulation
stability is improved.

1.3.0.3 Source term


The volume integral is computed considering the source quantity constant across
the cell: Z
q dV ≈ qP V (1.41)
V
qP which may be a function of φP and so be written as:

q rhs >0
qP = qPrhs + qPlhs · φP P
(1.42)
q lhs
P <0

The signs are chosen in order to comply with principle of boundedness, with the
left-hand side term, qPlhs , added to the matrix of coefficients and the right-hand side
one, qPrhs , added to the known vector.

1.3.0.4 Unsteady term


Assuming the central node value of the scalar φ to be representative of the whole
CV, the unsteady term of the balance equation can be approximated as follows:
Z Z t+∆t

(ρφ)dt ≈ ρ(φP − φ0P )∆V (1.43)
V t ∂t

18
Basics of CFD

where φ0P is the value computed at the previous time step, t, while a weighted
parameter θ is used to describe the other terms:
Z t+∆t
φp dt ≈ [θφP + (1 − θ)φ0P ]∆t (1.44)
t

According to the value of θ, the scheme is different:

• θ = 0: the scheme is fully explicit, meaning that the value of φ calculated


at the new time step, φ(t + ∆t), is evaluated using the values coming from
the old time-step only. The scheme is called forward Euler method and it is
first-order accurate.

• θ = 1: the scheme is called backward Euler method and is, again, first-order
accurate, but fully implicit, meaning that it uses only the values calculated at
the new time step.

• θ = 0.5: the scheme is named Crank-Nicolson and is a blend between the


two previous methods, based on a central differencing scheme, second-order
accurate.

Implicit methods are computationally more expensive, but they also allow larger
time steps than explicit ones, which are strongly limited by the Courant-Friedrichs-
Lewy (CFL) condition, expressed by the Courant number parameter:
a
Co = ∆x
(1.45)
∆t

a being the advection velocity of the flow, ∆x the mesh spacing and ∆t the time
step. The denominator can be then seen as the velocity associated with mesh
spacing and time step chosen and to ensure stability it must be greater than the
advection velocity at the numerator (0 < Co < 1), otherwise there is not a proper
propagation of flow information.

1.3.1 Numerical solution and pressure-velocity coupling


The system of algebraic equations, in the form of Equation 1.31, can be solved in
two ways:

• Direct methods: the solver algorithm (e.g. matrix inversion or Gauss elimina-
tion) performs a finite number of operations, after which solution is obtained.
Despite being the most efficient, it is not usually feasible to use this approach,
since it is expensive in storage and computing.

• Iterative methods: an initial guess for the solution is used to start an iterative
cycle: at each time step, a residual is calculated and compared to a certain
tolerance, until the residual becomes small enough that the solution is taken
as exact and used as initial value for the iteration at the new time step.
Iterative solvers are typically less expensive than direct methods, that is why
they are commonly used in CFD codes.

19
Chapter 1

The solution of the Navier-Stokes equations is complicated by the lack of an


independent equation for pressure. This is particularly critical when dealing with
incompressible flows where a pressure-velocity coupling issue arises: pressure must
adapt to the evolving velocity field, which has always to satisfy continuity; however,
density is constant and not linked to pressure by the equation of state as for
compressible flows. Nonetheless, continuity and momentum equations provide a
closure to the problem with four equations in four unknowns. So-called pressure-
velocity based algorithms are used to derive equations for the pressure from the
momentum and continuity equations.
To correctly solve the pressure field, it is necessary to express the pressure
explicitly (in previous formulations was embedded in the source term), as shown in
Equation 1.46: Z
∂p Z
dV = pdS ≈ (pP − pI )Si (1.46)
X
V ∂x S

It is then possible to solve the momentum equations and evaluate the components
of the velocity field. Iterative methods must be implemented to predict velocity and
pressure, using the continuity equation to correct the pressure itself and making
the velocity conservative for the mass.
The starting equation is the algebraic generalised form of the momentum equation:

ai Ui = an Un + Ai (pP − pI ) + bi (1.47)
X

The unknowns are expressed by a sum of, respectively, guessed and corrected values:

U = U∗ + U0 (1.48)

p = p∗ + p0 (1.49)

1.3.1.1 SIMPLE: Semi-Implicit Method for Pressure-Linked Equations


The SIMPLE is the deafult scheme for steady-state problems in most CFD codes,
thanks to its robustness.
The first step of the procedure is called momentum predictor and consists in
solving the discretized momentum equations using a guessed pressure p∗ to compute
a first attempted velocity U ∗ :

ai Ui∗ = an Un∗ + Ai (p∗P − p∗I ) + bi (1.50)


X

The difference between Equation 1.47 and Equation 1.50 gives

ai Ui0 = a
n Un + Ai (pP − pI ) + bi
0 0 0
(1.51)
X 

where the influence of the neighboring nodes is neglected, that is the main approx-
imation of this method. Equation 1.51 can now be used as a velocity correction
formula.
The velocity field is expressed as:
Ai
Ui = Ui∗ + Ui0 = Ui∗ + (p0P − p0I ) (1.52)
ai

20
Basics of CFD

and it is also subject to the constraint that it should satisfy the continuity equation,
which is:
Fi Ui = 0 (1.53)
X

The pressure correction equation is then determined substituting the corrected


velocity in the continuity equation:

aP p0P = aN p0N + b (1.54)


X

It allows to evaluate the pressure correction p0 , which can be substituted in Equa-


tion 1.52 to recalculate the velocity U and in Equation 1.49 to find p.
At this point, the found values are not directly used as guess values for the next
iteration, but they are modified by means of under-relaxation coefficients, αP and
αU , in order to avoid instability and divergence. The coefficients are used to blend
the latest values with the older ones:

pnew = p∗ + αP p0 (1.55)

U new = αU U + (1 − αU )U old (1.56)


where U old is the velocity found at the previous iteration.

1.3.1.2 PISO: Pressure-Implicit with Splitting of Operators


The PISO is an extension of the SIMPLE algorithm, used in CFD to solve the
Navier-Stokes equations applied to unsteady problems. The procedure is similar to
the SIMPLE’s and, even if the amount of memory needed per iteration is higher, in
some cases it is faster and more efficient.
It is based on the SIMPLE scheme, consisting of one momentum predictor step
and two or more pressure corrections, instead of just one as for the SIMPLE.
The possibility of making multiple pressure corrections without updating the matrix
coefficients of momentum equation is due to the fact that the PISO algorithm can
neglect non-linearity effects, keeping a low Courant number by means of small time
steps. Unlike the SIMPLE, the PISO algorithm does not need relaxation factors to
prevent solution divergence.

1.3.1.3 PIMPLE
The PIMPLE is a hybrid scheme between SIMPLE and PISO algorithms that is
used for unsteady flows. It’s typically employed in thermal transient coupled to
fluid dynamic problems, where variation of BCs are slower than fluid dynamic
conditions. The main advantage with respect to the PISO is the possibility of using
larger time steps, without being constrained to the time step imposed by fluid
dynamic conditions.
It consists of a dual time marching: for each time step of the simulation, it solves
iteratively the problem by using so-called outer correctors based on the SIMPLE
procedure (fictitional time marching); at the same time, it limits the number of
internal correctors of the PISO for establishing the pressure-velocity coupling.
The steady-state solution of the fictional unsteadiness is then provided to the new
time step.

21
Chapter 1

1.4 OpenFOAM structure


OpenFoam (Open Source Field Operation and Manipulation) is a collection of open
source C++ library which provides executables, named applications, to deal with
problems of solid and molecular dynamics, fianancial mathematics, combustion,
electromagnetism, heat transfer and, above all, fluid dynamics.
Applications are divided into two categories:

• solvers: designed to solve specific numerical problems based on the FVM.

• utilities: designed to to perform tasks that involve data manipulation,


mesh generation and conversion, decomposition and parallelization, and
post-processing.

An overview of OpenFOAM structure is given in Figure 1.5

Figure 1.5: OpenFOAM structure

Being an open source software, it is possible for the user to freely access to
and customize any code, thus making OpenFOAM a very versatile and economic
solution with respect to other commercial codes.
As shown in Figure 1.6, a general case directory structure consists of three main
directories:

• system: it must contain at least the following fundamental dictionaries:

– controlDict: important parameters like duration of simulation, time step,


frequency at which results are saved and useful post-processing function
objects can defined.
– fvSchemes: it permits the definition of the discretization schemes used
for each term appearing in Navier-Stokes equations: unsteady, gradient,
convective, Laplacian, source terms.
– fvSolution: used to define which kind of solver, and the relative tolerance,
is applied in the resolution of the system of algebraic equations.

• constant: it basically contains the polyMesh sub-directory, in which the


information of the case mesh is stored and other files regarding physical
properties of the fluid.

22
Basics of CFD

• time directories: they contain initial conditions, boundary conditions and


fields data calculated during the simulation. Before running any case, it is
fundamental to set up the initial time directory, labelled with 0, with proper
boundary conditions. The definition of proper boundary conditions is a crucial
step, since at boundaries some flow quantities are imposed; this could also
threaten the "well-posedness3 " of the problem.

Figure 1.6: OpenFOAM case directory structure

3
A well-posed problem is a problem for which solution exists and it is unique. Sometimes a
not proper set of boundary conditions can not only lead to wrong results, but also prevent the
possibility of obtaining them.

23
Chapter 2

Overset Mesh

2.1 Overview
The overset mesh, also called Composite grid or Chimera grid 1 by Steger [1], is a
particular type of block structured matrix based on the superposition of two or
more independent meshes, that can be adopted for both static and dynamic cases.
In this logic, "overset structured grids are really unstructured globally, with arbitrary
overlapping connections, but structured locally - Lee and Baeder [9]" and cell-to-cell
mappings are employed to establish their connectivity, such that they behave like a
single grid.
The overlap of different component grids allows to create high quality meshes
and to handle complex mesh motions, without the limitations associated to other
dynamic meshing strategies [10] like mesh deformation based on diffusion of internal
points, addition/removal of layers of cells based on layering technique, mesh sliding
interface for stator-rotor interaction, GGI/AMI strategy based on interpolation
methods, automatic mesh generation, etc. All these approaches aim at solving dy-
namic problems, adopting different strategies (modification of equations, topological
changes, mesh deformation and remapping and so on), but they are strongly limited
by the exploitation of a single mesh domain; this common feature greatly reduces
the flexibility and, sometimes, even the applicability of the previous methods, which,
usually, require high manual effort to be set up, but there is no guarantee that the
resulting mesh will be of high quality.
The drawbacks associated to strategies developed for a single mesh domain
penalise also static cases, but they are maximized when dealing with dynamic ones,
for which a high quality mesh must be preserved at any time step, in particular:
sufficient number of cells and proper mesh clustering for solving the boundary
layer and respect of the quality requirements (mainly aspect ratio, skewness and
non-orthogonality).
In this perspective, the overset method is probably the simplest and most
versatile approach to deal with mesh generation step and its dynamic handling, also
1
A "Chimera" is a mythological creature made up of incongruent parts of other beasts. Steger
appropriately coined the term "Chimera overset grids" thinking of a smart way to exploit compu-
tational advantages of structured grids, while retaining the geometrical flexibility of unstructured
meshes.

25
Chapter 2

in case of more complex Fluid-Structure Interaction (FSI2 ) problems, because fluid


domain and the object under investigation can be meshed independently and then
simply overlapped. Figure 2.1 shows a typical case of fluid-structure interaction
problem, where the motion of boundaries is part of the solution itself.

Figure 2.1: FSI example of a flow interacting with a skyscraper

It is important to remark that the overset method always offer the possibility
to create an optimized front mesh for having a very nice representation of the
boundary layer, even when the body under investigation is moving, because no
mesh deformation is involved; in fact, the front mesh rigidly moves with the body,
gliding over the background mesh and the solution field in the overlapping region
is obtained by means of interpolation technique between front and background
meshes.
The opportunity of having a very nice mesh resolution around the boundary layer
represents the most important improvement with respect to the Immersed Boundary
(IB) method, that can be considered the father of the overset method. Also for the
IB method, shown in Figure 2.2, the grid generation in case of moving boundaries is
easy to handle: a body can freely move over a stationary non-deforming Cartesian
grid and the cells falling inside the body geometry are not involved in the PDE
discretization process, thus solution is not calculated; the boundary condition will
be imposed indirectly through an equivalent forcing function, added in the governing
equations. However, the lack of a second, optimized mesh for the body prevents
the possibility of having a nice boundary layer representation, as typically achieved
with an O-grid or C-grid solution, shown in Figure 2.3.
In short, the overset mesh approach shows its best performances in case of
multiple bodies, complex motion, large displacements, allowing moving parts to be
easily set up and simulated, while preserving mesh quality at each time step.
2
FSI is an example of solution-dependent motion: the shape of the computational domain is
unknown a priori, since it depends on the solution itself. In a simpler case of prescribed motion,
instead, it is possible to pre-define a sequence of mesh changes which accomodate the motion.

26
Overset Mesh

Figure 2.2: An immersed boundary method example of a body moving in a stationary


non-deforming Cartesian grid

Figure 2.3: Typical grids adopted for a proper solution of the boundary layer

It is also the unique method which does not fail in simulating overlapping mesh
regions. This is not a modest advantage, in fact, as we will see when dealing
with the MRL Tidal Turbine case study, in Chapter 4, sometimes, a reduction
of some components dimensions is required, in order to simulate the machine by
means of a sliding cutting technique, for example. This means that, in these cases,
standard approaches fail in simulating the real machine behaviour; the overset
method, instead, can always handle the overlapping regions through interpolation
techniques, so no geometrical simplification is needed.
Overset meshes are fine also for static cases but, in general, it is not a smart
solution, since a higher computational cost has to be paid due to communication and
interpolation algorithms between the overlapping component grids. However, the
flexibility of this method becomes very handy when conducting parametric studies
with fixed bodies, where changes of objects position or their addition/removal from
the domain are needed.
Another drawback to be considered is the violation of the mass conservation
of finite-volume methods, which cannot be guaranteed by an interpolation-based
grid coupling and which must be limited by dedicated corrections conceived by the
developers. Interpolation errors could also result in some loss in accuracy, which,

27
Chapter 2

hopefully, should be reduced by using finer grids and higher order interpolation
algorithms. These choices will further increase the computational time required by
the solver, already higher, in average, than standard approaches.
An automatic and efficient parallelization of the overset method should not only be
desirable but mandatory.
Often, in real industrial applications, quick results are preferred to more accurate
but slower ones, given a reasonable margin of error, that is why a key aspect of
the validation process will involve the analysis of computational times. It will play
a fundamental role when assessing if the overset approach is a feasible, practical
solution in an industrial context.

2.2 How it works


As already said, the overset approach is based on two or more overlapping meshes:
at least one front mesh, either in motion or at rest, over a steady background mesh.
The meshes can be either 2D or 3D and can be generated using any meshing utility.
The cell type can be any type of the cells supported by OpenFOAM.
In the present work, all meshes are hexahedral cells based, with a very small
percentage of prismatic and polyhedral elements, introduced by snappyHexMesh
automatic meshing utility.
The overset mesh workflow can be roughly summarized in this way:
1. Two regions are created: a background region, representing the overall fluid
domain, and a separate region, surrounding the body of interest (overset
body).
2. Both regions are meshed separately to obtain components meshes that can
be, then, overlapped, merged by the user, as shown in Figure 2.4.

Figure 2.4: Example of merge procedure of two component meshes

28
Overset Mesh

(a) overset patch (b) zoneID assignment

Figure 2.5: Intermediate steps of the overset approach concerning the assignment of
the overset patch and zoneID

3. The outer boundary of the body component mesh is given the name overset
patch and an overset mesh interface is created between the two regions. An
overset boundary condition will be given to this non-physical boundary. With
reference to the previous figure, the overset patch of the cylinder is highlighted,
in grey colour, in Figure 2.5a.
Note that the background mesh is the only component mesh which does not
have an overset patch.

4. A zone identification (zoneID) is assigned to each component mesh by the


user. It is simply a variable used in the overset solvers to identify to which
zone (or region) a cell belongs. An example of zoneID assignment is reported
in Figure 2.5b.

5. Setup of the case.

6. The overset solver is ready to be run.

At this point, it is important to make some considerations about what kind of


operations the overset solver performs in order to work and correctly capture fluid
dynamics phenomena, during simulations.
The overset approach functionaly relies on two main steps:

1. Chimera Hole-Cutting

2. Donor search procedure

The first step is the need of an algorithm that is able to identify the closed wall
boundary patch of the front mesh and, then, blank (remove) all cells falling into it,
from overlapping meshes. Those cells must not be involved in the solution of the
flow field.
The second step is involved in the need of establishing a connection between front
and background meshes, to allow a mutual exchange of informations; in fact, if
the front mesh needs to receive flow informations at the overset patch, through
the specific overset type boundary condition, also the background mesh must be
informed of the presence of the physical wall boundary patch. The exchange of such
informations relies on interpolation techniques: first, at the overset patch, which can
be addressed as a user defined interpolation fringe, from background to front mesh;

29
Chapter 2

second, close to the wall boundary patch of the front mesh, through an interpolation
fringe automatically computed by the solver, where the two meshes exchange their
previous roles. Things get complicated if more meshes are overlapping and in case
of body motion, because the previously mentioned phases must be repeated at any
time step.
Before going into detail on the hole cutting and donor search processes, discussed
in Section 2.3, it is important to define the different cell types characterizing the
overset approach.
The cell types are defined as follows:

• hole/passive cells: no equations are solved.


Hole cells are those cells which are contained inside the closed geometry
representing the profile under investigation, and which are automatically
blanked, by the overset solver, so that they are not involved in the solution of
discretized governing equations. The removal of these cells is handled by the
Chimera hole-cutting process, resulting in the creation of a Chimera hole in
the main grid.

• interpolated cells: solution is interpolated.


Interpolation technique is the answer to the need of establishing domain
connectivity for an overset grid. Domain connectivity is the communication
of dependent variable information between grid components, which are over-
lapping in this case. The transmission of this information is based on mesh
to mesh interpolation, according to the concept of acceptor and donor cells:

– acceptor cells: an acceptor or receptor cell of a certain grid is a cell-


center point which needs to receive flow information from the other
overlapping mesh to provide the boundary condition for its own grid.
From the computational point of view, equations are not discretized at
acceptor cells, they act as ghost cells for finite volume discretization of
the cells adjacent to them.
– donor cells: for any acceptor cell there will be one or more donor cells;
they are elements of a neighboring grid component used to supply values
of the dependent variables to the receptor boundary point.

After all donors have been determined, the general interpolation formula,
linking acceptor cells with the respective donors, has the following form:
ND
φpi = (2.1)
X
αwk φDk
k=1

expressing the interpolated function value at acceptor node Pi , called φpi , in


terms of the function values at donor points Dk , named φDk , with αwk the
interpolation weights.
OpenFOAM offers different interpolation algorithms: inverseDistance (ID),
cellVolumeWeight (CVW), trackingInverseDistance (tID), leastSquares.
The first two interpolation methods are the most common ones and they were
so used in this work. The idea behind these two algorithms can be guessed by

30
Overset Mesh

Figure 2.6: cellTypes visualization of the final mesh and its component meshes, each of
them identified by a specific zoneID

their names: the ID scheme assumes that donor cells which are closer to the
fringe cell have a larger influence on the predicted value than those farther
away, hence they are given a higher weight; the CVW, instead, is a volume
averaging algorithm, identifying the best donor cells as the ones sharing the
highest overlapping volume with a certain acceptor cell on the second grid.
Unfortunately, whatever the interpolation process is, this is not conservative
and care must be given to enforce mass conservation. Therefore, some
corrections, in terms of source term and flux, are introduced in the pressure
correction equation. Further information can be found in Hadzic’s study [11].
• calculated/active cells: discretized governing equations are solved.
The solution is computed; these cells also serve as donors.
The above mentioned cellTypes are represented in Figure 2.6.
A detailed view of the overlapping zone for the overset mesh technique is also
proposed in Figure 2.7.
Since the exchange of informations between front and background meshes takes
place in both directions, donor/acceptor cells do not belong to a specific mesh
component, but they are both present in a given component mesh.
With reference to Figure 2.6, a practical example is proposed, considering just two
component meshes, for the sake of simplicity.
Assuming a flow motion from left-hand side to right-hand side, the calculated cells
of the background mesh act as donor close to the overset patch, in order to supply
the boundary condition to the cylinder mesh. However, when the flow gets close to
the wall boundary patch, represented by the cylinder surface, the roles are inverted:
it is the background mesh that needs to receive information about the presence of
the cylinder wall and the calculated cells of the cylinder mesh serve as donor to

31
Chapter 2

Figure 2.7: Detailed view of an overlapping zone for the overset technique, as reported
by Hadzic [11]

the background acceptor cells, placed in the automatically computed interpolation


fringe close to the hole.
It is important to highlight that there will always be a region of overlapping cal-
culated cells, between the overset patch and the automatically defined interpolation
fringe. In this region, in fact, solution is calculated two times, for both cylinder and
background meshes, and it should tend to the same value if cells of the two meshes
are perfectly matching and aligned; in practical cases, for which it is impossible to
guarantee same cell size and perfect overlap, calculated solutions will always be
slightly different and the discrepancy should decrease as both mesh refinements
increase.

2.3 Fundamental overset algorithms


The purpose of this section is to introduce the fundamental algorithms at the basis
of the overset approach, namely: Chimera Hole Cutting and donor search processes.
An overview of the main methodologies which were developed during the years
is given, with reference to the work of Meakin [12], and the general idea behind
nowadays Implicit Hole Cutting algorithm is explained.

2.3.1 Chimera Hole-Cutting


The identification of the hole regions, due to the overlap of meshes, is of primary im-
portance, since those cells must not be involved in the solution matrix of discretized
equations. During the years, the method has been subjected to modifications and
improvements, from the numerical point of view, but the general idea has not

32
Overset Mesh

changed.
A simple way, to adapt any structured grid flow solver to the overset case,
consists in the construction of an integer array ib (called iblank) containing the
status of all grid points: a 0 value for hole points or 1 for points outside the hole
region. The ib array can be introduced in a slightly modified form of the system
of equations, such that solution is not updated for hole points. An example of
modified equations is the implicit approximately factored algorithm of Warming
and Beam [13] for thin layer Navier-Stokes equations:
∂τ Q̂ + ∂ξ Ê + ∂η F̂ + ∂ζ Ĝ = Re−1 ∂ζ Ŝ (2.2)
that can be easily expressed in Chimera form as:
h ih ih i
I + ib ∆tδξ Ân I + ib ∆tδη B̂ n I + ib ∆tδζ Ĉ n − ib ∆tRe−1 δζ J −1 M̂ n J ∆Q̂n =
 
= −ib ∆t δξ Ê n + δη F̂ n + δζ Ĝn − Re−1 δζ Ŝ n
(2.3)
The ib array procedure does not require any special branching logic to avoid
hole points, and all vector and parallel properties of the basic algorithm remain un-
changed, Steger [1]; this means that meshes with arbitrary holes in grid components
can be handled and efficiently executed with structured grid flow solvers.
The determination of the inside/outside status of a point with respect to the
hole-cutting surfaces, so the definition of the ib array, represents a non-trivial task
that can be performed following different procedures; the most relevant ones, in
chronological order, from the early ‘80s up to the beginning of the new millenium:
surface normal vector, vector intersection, hole-map and object x-ray methods.

2.3.1.1 Surface Normal Vector


Given the grid indices ij, let’s consider the position vectors ~rj of discrete points
lying on a surface S, defined by a group of surface grid components; ~nj is the surface
normal vector at point j. An arbitrary point P, with position vector ~rp , is outside
of surface S if for any of the scalar products (~rp – ~rj ) · ~nj > 0.
The cost of operation is significant because it considers all points defining the
hole-cutting surfaces and the number of points in the grid component being tested.
However, the effort can be reduced by first estimating the hole-cutting surface point
nearest to point P, via the Euclidean distance between point couples; this way, only
a single dot product needs to be computed, for every point P.
A significant drawback characterizes this particular test: hole-cutting surfaces
must be closed and convex. Any surface concavity must be split into multiple closed
convex surfaces. The negative effect caused by concavity is shown in Figure 2.8 .
In this case, dot products between P and the first three surface points represented
in Figure 2.8 would be positive. Hence, even though P is inside the surface, the
surface normal vector test will consider it to be outside.

2.3.1.2 Vector Intersection Test


This method, also called ray casting, consists in the analysis of the number of
intersections made by an arbitrary ray, starting from a point P, with any closed

33
Chapter 2

Figure 2.8: Concavity issues in a surface normal vector test

hole-cutting surface. If the ray intersects the closed surface an odd number of times,
then the point is inside (ib = 0) the hole region; if, instead, the rays intersects the
surface zero, or an even number of times, the point is outside (ib = 1). The test is
illustrated in Figure 2.9.
Rays can be extended in any direction from the test points and the method does
not have limitations about surface concavities. The only case of failure occurs if
the ray intersects the hole-cutting surface at an edge of a face that is coplanar with
the ray. However, this drawback can be easily overcome by redefining the direction
of the ray.
Implementation of this test is more complex, if compared to the surface normal
vector one, but it also provides a more robust mechanism for hole determination.

2.3.1.3 Hole-Map Method

Approach born by an idea of Steger (1992) [14] and, later, developed by Chiu &
Meakin (1995) [15] to efficiently build up the ib array. A closed surface S can be
enclosed within an auxiliary uniform Cartesian grid, as shown in Figure 2.10a.
In a pre-process phase, points in the Cartesian grid can be marked as inside
or outside of surface S, via a certain kind of painting algorithm. This operation
is called hole-map of S and produces an approximate representation of S. The
hole-map of S is used to determine the proximity of any point P with respect to
surface S. This is possible by computing the bounding hole-map element for a point

34
Overset Mesh

Figure 2.9: Intersection vector or ray-casting test

P, as:
= (xp − x0 )/∆x + 1

j


k = (yp − y0 )/∆y + 1 (2.4)

l = (zp − z0 )/∆z + 1

x0 , y0 , z0 are the coordinates of the hole-map origin, xp , yp , zp are the coordinates


of point P, while ∆x, ∆y, ∆z are the hole-map spacings.
At this point, the eight vertices of hole-map element j, k, l can be:

• All marked as a hole: P is inside the hole-cutting surface and ib = 0

• All unmarked: P is outside the surface and ib = 1

• Of mixed type (marked and unmarked): P is near a hole-cutting plane and its
actual status can be determined by the vector intersection test, for instance.

An example of hole-map element is illustrated in Figure 2.10b.


The memory storage of hole-maps into 3D arrays can be a relevant drawback
of this approach, which is linked to the needed degree of precision for hole-cuts
estimation; at the same time, the point status test can be made fully robust with
no modes of failure.

2.3.1.4 Object X-Ray Method


This is a hybrid method that combines positive features of ray casting and hole-map
techniques.
In a prior phase, a 2D uniform Cartesian grid is defined for an arbitrary plane,
located at a certain elevation below the object used for the hole-cutting process.
From each vertex of the 2D Cartesian mesh, a ray normal to the plane is extended in
order to reach a sufficient elevation above the object, see Figure 2.11a. Intersections
between the rays and the body are computed and stored.

35
Chapter 2

(a) Hole-map of on a Cartesian grid


(b) Marking of vertexes of point P hole-map
element

Figure 2.10: Hole-map test

The 2D plane, or “image plane”, is aligned with Cartesian X-Y plane and the rays
are aligned with Z Cartesian coordinate, as shown in Figure 2.11b.
The location of a point P on the image plane is defined by xp and yp and its
corresponding bounding element j, k can be calculated from Equation 2.4. In this
case, x0 , y0 correspond to the origin of the image plane, while ∆x, ∆y stand for the
resolution capacity of the object x-ray, with ∆x = ∆y.
This way, the ib status of point P can be determined, by comparing its 2D bounding
element with the projections of pre-computed ray casts on the image plane, consid-
ering previously stored data along Z Cartesian direction. The concept is analogous
to x-ray images in the medical field, that can be stored on photograph paper.
The robustness of the ray casting method is coupled to the efficiency of the
hole-map technique, with further improvement in the memory usage, since only
planar data is stored.

2.3.1.5 Identification of Intergrid Boundary Points

The ib array also allows to easily identify outer boundary points and hole fringe
points, for which an example is shown in Figure 2.12. Both outer boundary points
and hole fringe points are intergrid boundary points (IGBP): the first ones defined
as points not belonging to physical boundaries (e.g. no-slip surfaces), conventional
numerical boundaries (e.g. planes of symmetry, inflow/outflow, etc.) or Chimera
hole-points; hole fringe points, instead, are particular field points having hole-points
as neighbors.
As already explained, solution values on intergrid boundary points are interpolated
from calculated cells of overlapping, neighboring grid components.
On the basis of the ib array, it’s possible to generate a list of all intergrid boundary
points, including their j, k, l indices and x, y, z coordinates of the points, together
with their grid numbers. The list of IGBP represents the need of establishing

36
Overset Mesh

(b) Image plane

(a) Ray casting from a 2D Cartesian grid

Figure 2.11: X-ray method

Figure 2.12: Example of hole fringe point and outer boundary point in the overset
technique.

suitable domain connectivity between overlapping meshes, in order to allow proper


transmission of flow dependent variable information.
The next fundamental step involves a search for a suitable donor element for
each intergrid boundary point P. The donor search is made of two phases: first, it’s
necessary to determine the donor grid (Donor Grid Identification) and, then, search
for the donor element (Donor Element Identification).

2.3.2 Donor Grid Identification


A simple, necessary condition to check if a given mesh is a candidate donor grid
for an intergrid boundary point P consists of verifying that P is contained in the
considered grid. Considering the extreme diagonal values, (xmin , ymin , zmin ) and
(xmax , ymax , zmax ), of a rectilinear box, bounding the entire component mesh, and
given the reference frame coordinates of point P, simple relations are used to verify

37
Chapter 2

the previous condition:



xmin < xp < xmax


ymin < yp < ymax (2.5)


zmin < zp < zmax

In the more general case of non-Cartesian grid components, the Equation 2.5 is
only an indicator of potential donor. It’s a a simple but powerful way to rapidly
select possible donor grids, not only for a single intergrid boundary point, but for
entire groups at a time, as typically done.

2.3.3 Donor Element Identification


After the identification of a potential donor grid component for a given intergrid
boundary point P, the next task is to determine which of its elements may best
serve as donor. First of all, it’s necessary to identify the actual element that bounds
P, and, in case of intergrid boundary points that are bounded by an element from
multiple grid components, some criteria must be applied to choose the grid with
the best donor element.
There are different practical rules for deeming the acceptability of available
donor elements. The major rule is that none of the vertices of a donor element can
be hole points, to avoid any kind of corruption in the transmission of information
from donor to receptor points. Other rules are based on geometric features, since
the accuracy of the transfer of flow variable information is maximum when the
geometric properties of donor and receptor elements are similar; in fact, typical
sources of numerical error in the intergrid communication process are, for instance,
the relative volume size, orientation and aspect ratios between donor and acceptor
cells.
Best performances, in terms of domain connectivity solution, are expected if
geometrical rules are applied by an iterative procedure.
In this section, methods for the donor element identification are briefly in-
troduced. The simplest, but most computational expensive one, consists of an
inside/outside test on all grid elements, to determine if point P is within them or
not. Obviously, the applicability of such an exhaustive search is prohibitive for
all but very simple problems of limited size. Nonetheless, at the end all search
procedures require an inside/outside test.

2.3.3.1 Inside/Outside Test


The test is based on a quadratically convergent iterative scheme for determining the
values of the computational space coordinates ~s of a candidate donor cell, evaluated
for an intergrid boundary point P, ~sp . The iterative scheme is shown in Figure 2.13
and is constructed from Equation 2.6:

~xp = ~x(~sp ) + [A]δ~s (2.6)

If, from the solution of Equation 2.6, all components of ~sp have a value between 0
and 1, then P is inside the candidate donor element.

38
Overset Mesh

Figure 2.13: Iteration scheme to solve Equation 2.6 for the computational space of a
potential donor element evaluated in point P

Figure 2.14: Computational space of a candidate donor cell for P

The Cartesian coordinates for P, ~xp , are known, together with the ones for the eight
vertices of the potential donor element and their computational space coordinates ~s.
~x(~sp ) is the relation between the Cartesian reference frame coordinates ~x of point
P and the local reference frame coordinates ~s of the donor element.
Figure 2.14 shows the computational space of a candidate interpolation donor
element for point P.
The expressions for ~x(~sp ) and matrix [A] depend on the specific interpolation scheme
used to define the variation of ~s within the donor cell.
With reference to the element notation indicated in Figure 2.14, and assuming a

39
Chapter 2

trilinear interpolation scheme, the expression of ~x(~sp ) is given by Equation 2.7:

~x(~sp ) = ~x1 + (−~x1 + ~x2 )ξ + (−~x1 + ~x4 )η + (−~x1 + ~x5 )ζ


+ (~x1 − ~x2 + ~x3 − ~x4 )ξη
+ (~x1 − ~x2 + ~x3 + ~x6 )ξζ (2.7)
+ (~x1 − ~x4 − ~x5 + ~x8 )ηζ
+ (−~x1 + ~x2 − ~x3 + ~x4 + ~x5 − ~x6 + ~x7 − ~x8 )ξηζ

[A] is called gradient matrix and it is made of the derivatives of ~x(~sp ) along the
three directions of the donor element computational space:

∂ ∂ ∂
 
 x(~sp ) x(~sp ) x(~sp )
 ∂ξ ∂η ∂ζ 
 
 
 ∂ ∂ ∂
 
[A] = y(~sp ) y(~sp ) y(~sp )


 ∂ξ ∂η ∂ζ
 

 
 
 ∂ ∂ ∂
 
z(~sp ) z(~sp ) z(~sp )

∂ξ ∂η ∂ζ

2.3.3.2 Gradient Search

"The use of a gradient search3 procedure to find an element within a structured grid
component that bounds a given intergrid boundary point can be very effective",
[Benek et al., 1986] [16].
Typically, to initiate the donor element search in a convenient way, the euclidean
distance between P and points on the grid component outer boundary is first
calculated and the nearest point is selected. The idea is that starting from the
closest point will immediately result in a donor search success, or, at least the
actual donor is nearby and the search procedure should find it in few steps.
The search procedure is based on the iterative scheme shown in Figure 2.13, starting
from the candidate donor element origin, and it continues until all components of ~s
are bounded between 0 and 1. The smart idea is that the direction (gradient), in
computational space, to the element that bounds P is indicated by ~sp .
The example in Figure 2.15 shows that if Equation 2.6 is solved for the element
“a”, with respect to point P, the 2D vector components of ~sp would be [ξ > 1, η < 0]T .
Accordingly, the gradient to the actual bounding element is directed towards +j, −k
in computational space. Finally, the correct donor cell will be identified on the
third application of Equation 2.6.
General implementation of the method must consider some specific grid topologi-
cal features (like a periodic or “slit” plane) that can hide the path, in computational
space, to the correct donor elements. Restart locations within the grid component
represent an efficient solution in presence of such topological issues.
3
A gradient search method is commonly referred to as “stencil-walking” in the overset grid
literature

40
Overset Mesh

Figure 2.15: Gradient search for the element that bounds P, starting from cell "a" and
terminated in "c".

2.3.3.3 Spatial Partitioning


Spatial partitioning is an interesting technique that can be used for donor search
applications: the physical space of a grid component is split into partitions of
rectilinear volumes of space and, once the partitions containing a given intergrid
boundary point P has been identified, an exhaustive search is conducted within the
partition to find the actual bounding element.
There are different methods based on spatial partitioning, differing in the levels
and mechanisms of partitioning itself. The simplest one, called also “bucket”
method, consists in a single level of partitioning, see Figure 2.16. First of all, the
bucket that contains P must be identified; then, an exhaustive search of the grid
points contained in the bucket is performed to find the actual bounding elements.
The bucket method is an improvement with respect to an exhaustive search, however
some drawbacks must be considered:
• The possibility of having empty buckets exists, meaning that none of the
points inside the bucket that bounds P define the origin of the grid element
bounding P; in this case, the search must be extended to neighbouring buckets,
until the actual bounding element is identified.
• Non uniform distribution of grid points inside buckets sometimes requires
higher computational effort to find the donor element.

2.3.3.4 Combined Spatial Partitioning and Gradient Search


A more efficient and robust approach to deal with domain connectivity aspects is
given by the combination of spatial partitioning and gradient search methods.
Rectilinear partitions, or “buckets”, are used to subdivide the complete physical
domain of a generic curvilinear grid component.
First, the application of Equation 2.5 for each partition allows to easily determine
the bucket that contains P. Secondly, a further level of partitioning consists in

41
Chapter 2

Figure 2.16: Partition boundaries, or "buckets", associated to a spatial partitioning of


a curvilinear grid component.

the mapping of grid component curvilinear coordinates (j, k, l) into Cartesian


coordinates; this last step, usually, already permits to identify the element that
bounds P, exploiting search by truncation on Cartesian grid coordinates, rather
than by exhaustion. In case of failure, instead, Equation 2.6 can be used to conduct
a gradient search for the correct donor element; this process should require just a
few steps, since the actual donor cell is guaranteed to be near the element identified
by the spatial partitioning.

2.3.4 Implicit Hole Cutting


In more recent years, overset approaches have been conceived on the basis of so
called Implicit Hole Cutting (IHC). The basic ideas behind this algorithm, which
can be seen as an improved version of previous hole cutting and donor search
methods, were first described by Lee and Baeder (2003) [9]. Its concept and its
main differences with respect to older algorithms will be rapidly explained in this
section.
The most important feature is that the construction of the ib array is not needed
for cutting hole purposes (while it’s still needed for other reasons, like contour
plotting and calculation of residuals); in fact, the algorithm is able to cut holes
around bodies without knowing the exact location of the walls, on the basis of the
cell volume and, maybe, other geometric properties (cell aspect ratio, orientation
etc.).
The basic criteria refers to the cell volume and it’s a consequence of a simple
observation: typically, cells close to the surface of a body of interest are smaller
than the cells on the background mesh, in order to properly solve the boundary
layer. Hence, hole regions are easily identified as those regions enclosed within
cells of very small volumes and background or other neighboring mesh components
are automatically, or “implicitly”, cut by the wall. At this point, higher volume

42
Overset Mesh

cells lying inside the body are isolated from the other compute cells, but are still
considered as calculated cells.
The wall surface has been identified and, accordingly, the meshes have been cut,
but the actual assignment of hole cells will be performed later on.
This strategy has two great advantages:

1. Hole cells do not need to be identified and blanked out in the solver; this
way, the overset method can use the same flow solver for a single structured
grid with no modifications, except for an increase of the relevant arrays
dimension by one, to handle multiple grids, for example P (i, j, k) becomes
P (i, j, k, N grid).

2. Since the wall is not used anymore as a cutting surface, some of the typical
hole cutting failures (thin bodies, mismatch/opening on wall surface, etc.)
are solved. Moreover, the hole obtained from this method is already optimum
with respect to the match in cell size between the first layer of hole fringe
points and their donors.

The implicit hole cutting process is part of an iterative procedure that is used
to determine the different cell types of the overset approach. The iterative nature
of the process establishes a stronger coupling between hole cutting and domain
connectivity steps. A more detailed explanation of the iterative process is given in
Section 2.3.4.4.
The core of the IHC algorithm is typically coupled with some pre-processing
phases, that aim at increasing the robustness and the efficiency of the overall
algorithm, thanks to the employment of any accelerated search technique (e.g. some
tree data structure).
In the following lines, the three main steps of a typical pre-process are presented,
namely: the generation of the overlap matrix, the concept of load balance and the
employment of ADTrees data structure to accelerate search techniques.

2.3.4.1 Overlap Matrix


This pre-processing phase is very similar to the concept of donor grid identification.
After each component grid has been assigned a specific clusterID 4 , the goal is to
understand how the different component grids are arranged in the overall domain.
This is possible by building up an overlap matrix, that is a squared, logical matrix
whose elements can be either True or False entries: a True entry indicates that two
grids may physically overlap, vice versa for the False entry.
The dimension of the matrix is equal to the number of computational grids, or, to
better say, blocks; in fact, component meshes are, typically, subdivided into smaller
computational blocks when assigned to different processors.
The determination of the possible overlap between two grids is done by comparing
the Cartesian coordinates of the grids bounding boxes, in a similar way as done
in Equation 2.5. The overlap matrix is usually sparse and must be symmetric,
4
Synonim of zoneID, defined as a collection of one or more point-patched computational
blocks connected in an arbitrary fashion. All multi-block meshes without overset boundaries have
precisely one cluster, otherwise they must have at least two of them.

43
Chapter 2

Figure 2.17: Example of overlap matrix considering four blocks. The overlap of different
blocks is identified by x symbol.

since two non-zero entries are generated every time a given pair of grids overlap,
see Figure 2.17. However, a non-zero entry at (row, col) has a different meaning
than the entry (col, row), since the rows represent the donors, while the columns
represent the search coordinates. For instance, a non-zero entry in position (3,
2) means “search for donors in grid 3 using search coordinates from grid 2”. The
diagonal of the overlap matrix is always empty, since a component mesh cannot
overlap itself.

2.3.4.2 Load balance


Depending on the component grids dimensions, the degree of overlap and the
intergrid boundary points requiring for a donor element, the computational cost
needed by the donor identification process may substantially vary. Hence, when
considering a parallel solution, a simple partitioning based on an almost equal
number of cells on each processor is not ideal for overset connectivity.
Rather than an equal number of cells, the load balancing algorithm should distribute
a similar amount of “work” to each processor, in order to minimize the overall
amount of time required to establish domain connectivity among overlapping blocks
of the overlap matrix.
A proper load balancing cannot be performed the first time the overset assembly
is executed, since the time needed by the donor identification process depends
on how many of the search points actually find donors, and this information is
unknown until the search is completed. In fact, the time required to perform a
donor search, where all search points of a block find donors, is much longer than if
only a very small number of search points find donors.
Beacuse of this fact, a smart strategy to perform the load balancing is: the first
time the algorithm is called, the total number of search points is the parameter
taken as a measure of the work; the next time, instead, the load balancing is based
on the actual compute time to perform the search, which was previously recorded.
The above mentioned method proves to be a very efficient load balancing
solution, with positive effects on the overall algorithm efficiency.

2.3.4.3 ADTree data structure


The communication of blocks donor cells and search points to the dedicated proces-
sors can be realized via the generation of an alternating digital tree (ADTree) data

44
Overset Mesh

Figure 2.18: ADT process applied on a 2D case: the domain is bisected along x and y
directions in alternating order and the new intervals are stored in the tree
data structured.

structure for each computational block.


Citing Thompson [17]: “An alternating digital tree can be defined as a binary
tree in which a set of n points are stored according to certain geometrical criteria.
These criteria are based on the similarities arising between the hierarchical and
parental structure of a binary tree and a recursive bisection process: each node of
the tree has two sons, likewise a bisection process divides a given region into two
smaller sub-regions”.
With reference to a bi-dimensional space, identified by x and y coordinates, the
bisection process, dividing each region (tree node) into two sub-regions (sons), is
repeated by choosing x and y directions in alternating order, as shown in Figure 2.18.

The creation of such a structure permits a clever subdivision of computational


blocks into sub-regions that can be quickly and efficiently accessed, following a
hierarchical and parental logic; this, eventually, results in an overall accelerated
search of potential donors for each intergrid boundary point.
It’s also necessary to send the donor information, found by a given processor,
back to the processor containing the corresponding search points; this reverse
communication pattern can be easily assembled according to the transpose property
of the overlap matrix.

2.3.4.4 Core of the IHC algorithm


The core of the implicit hole cutting algorithm is a procedure that permits the
determination of the state of every cell in the mesh: hole, interpolated or calculated
cell. The procedure is iterative and it will stop when, at the end of the iteration,
the status of every cell has not changed with respect to their initial status at the
beginning of the loop.
Before starting the iterations, it’s necessary to identify the cells intersecting

45
Chapter 2

solid walls, also called flooded seed cell5 . This is made possible by recording the
potential donors for all cells immediately next to walls and tagging the donors of
these cells as wall-donors.
The first step of the iterative procedure consists in the comparison of each cell
volume with respect to the one of all its potential donors. This phase must respect
two conditions:

1. Flooded cells6 and flood seeds do not require donors, so they are skipped.

2. Forced receiver cells7 have their volume set to an arbitrary large number, such
that any potential donor is accepted, even if the donor cell volume is larger
than the cell’s own volume.

The next step concerns the removal of all compute cells inside the body, that
have not been defined yet as hole, after the implicit hole cut. This procedure is
called flooding and consists of recursively flagging cells that have been identified as
wall-donors, that is cells intersecting solid walls. The flooding algorithm keeps on
changing the status of cells from calculated to flooded until an interpolated cell
is found. It’s therefore critical that the wall surface is completely surrounded by
an interpolation fringe (forced receivers), otherwise the flooding process could leak
and flood all the blocks of a component mesh. As the cells are flooded, they are no
longer valid donors and the corresponding receivers must either find other donors or
become compute cell. The need to update the cell status, according to the flooded
cells and the new available donors, is the reason for the iteration loop.
Before starting a new iteration, few steps are needed:

• Determine donors: all receiver cells must notify the cells supplying information
that they are actually donors.

• Flag forced receivers: a donor must always be found for these cells. It’s
important that a forced receiver does not become an orphan cell8 .

• Flag invalid donors: it’s necessary to identify all donors that are no longer
valid due to the flooding process. The volume of the invalid donors is set to
an arbitrary large value ensuring that the donor is never accepted.

• Irregular cell correction: an irregular cell is a particular cell that is both


identified as receiver and donor. This is not allowed, since it could create
issues in the transmission of flow variables information; hence, irregular cells
are corrected by converting the receiver to a calculated cell.
5
These cells are used as the starting location for the flooding process. For simulation purposes,
these cells are considered as blanked cells.
6
Flooded cells are former compute cells inside the solid body that have been converted to holes
by the flooding procedure. Like flood seed cells, they are treated like holes in the simulation.
7
These are cells that must be able to find an acceptable donor cell, ignoring the usual cell
volume comparison. Cells surrounding holes and cells belonging to the overset patch are both
examples of forced receivers.
8
An orphan cell is an intergrid boundary point that was unable to find a donor. This can
occur in case of insufficient overlap between neighboring overset grids or due to the removal of
too many or too few points by the hole-cutting process.

46
Overset Mesh

Several iterations are usually required to determine the status of each cell.
The scheme of the iterative process is reported in Figure 2.19.

Figure 2.19: Iterative procedure representing the core of IHC

2.4 Best Practice


The work and experience of the overset method’s developers over the years high-
lighted some critical aspects to be handled and other general guide lines, in order
to run the simulation correctly.
Some best practice rules are presented below:

• Theoretically, the order in which meshes are merged is not relevant; however,
in case of three or more component meshes which are one inside the other,
like a matrioska, it is better to merge them following a "waterfall" order, going
from the external background mesh towards the innermost mesh, in order to
ensure a proper transmission of boundary conditions.

• The zoneID can be assigned after merging the meshes and it is a good practice
to assign zoneID 0 to the background mesh.

• It is important to have more or less same cell size between two component
meshes close to the overset boundary patch; in this way, numerical diffusion
due to interpolation is minimized, otherwise some smearing of flow quantities
is visible at the overset interface. Obviously, numerical diffusion will badly
affect results, especially in presence of steep gradients of flow quantities.
Computational time also increases if cell size is strongly different.

• It is recommended to have at least four cells between interpolation fringe and


walls, such that suitable donors are found for proper interpolation and flow
discontinuities are avoided.

47
Chapter 2

• Another good practice rule concerns the structure of the boundary file belong-
ing to the final mesh, the one resulting from the merging of all component
meshes. When merging different component meshes, patches with the same
name are automatically merged, otherwise they are simply added to the list
of patches appearing in the boundary file. Among the patches there are also
the overset ones and it is a good practice, recommended by the developers, to
make overset patches appear at the top of the list in the final mesh boundary
file, otherwise a warning message shows up whenever the simulation is run.
There are different ways to set the order of patches in the boundary file (defi-
nition of a dummy overset patch in the receiving mesh, change of dictionaries,
etc...). The user is free to choose the strategy that most likes, what matters
is that, after the merging process, the overset patch appears at the top of the
list in the boundary file, such that the warning message is totally removed
when the simulation is run.
Although a warning does not prevent the simulation from running, experience
has shown that the solver will run faster and the interpolation errors will be
minimized if this issue is solved.

• Overset patches can intersect each other, but it is not recommended their
intersection with physical boundary conditions; there should always be a
certain gap.

2.5 Peculiarities
In this section some characteristic features relative to the setup and post-processing
of the overset approach are quickly discussed.
No other words are worth to be spent on the overset mesh generation process, since
no particular utilities are used. The only rules to keep in mind are the position of
the overset patch in the "global" boundary file and the cell size at the overset patch.

2.5.1 Setup
The overset method requires some novelties with respect to the standard setup
procedure. The main aspects concerning the setup, which were handled during this
thesis, are now presented.

2.5.1.1 Boundary conditions


The overset method must at least have one patch of type overset, typically referred
to as overset patch, and which must be always assigned an overset BC. This new
kind of BC is necessary to handle interpolation on cells being on the periphery of
the optimized mesh for the body of interest.
Another necessary set of boundary conditions must be specified for the creation of
the zoneID volScalarField, that will be quickly discussed in the following section.
A simple and quite standard procedure is followed when assigning the zoneID
boundary conditions: the overset patch is given the overset BC, while all other
boundary patches are set to zeroGradient.

48
Overset Mesh

2.5.1.2 Mesh zones assignment


The generation of a 0/zoneID volScalarField (requiring the previously mentioned
BCs) indicating the mesh zone, is probably the most important feature of the
overset approach. This field should start from 0 and be consecutively numbered.
It can be generated using standard OpenFOAM utilities, namely:

• checkMesh: run not only for checking the main quality parameters of the
mesh, but also to automaticaly assign cells to cellSets, labelled as region0,
region1, region2,... and so on. The cell regions are automatically written in
the cellToRegion file, inside constant directory.
The correct assignment of the cellSets can be checked by means of ParaView,
selecting the Include Sets option.

• topoSet: alternative option to checkMesh for the definition of cellSets, by


means of the dedicated dictionary. Hence, the topoSetDict is generally not
needed for static cases, while it is still required for dynamic cases, where it is
used to generate the necessary cellZones.

• setFields: utility that permits, by the relative dictionary, the definition of the
different mesh zones: it basically sets values on a selected set of cells, either
cellSets or cellZones, based on the zoneID volScalarField, read from the 0
time directory.
As good practice, zoneID 0 will be always assigned to the cellSet identifying
the background mesh.
The assignment of the different zone identifications can be visually checked
from the ParaView, by selecting the new zoneID field, obtaining something
similar to Figure 2.5b.

2.5.1.3 Mesh type


The mesh type must be set to dynamicOversetFvMesh in the dynamicMeshDict,
located in the constant directory.
This means that the dynamicMeshDict, usually exploited in dynamic cases only, is
present also for overset static cases, in the usual form reported in Figure 2.20.

Figure 2.20: Cylinder: dynamicMeshDict for static overset cases

The displacementLaplacian solver defined in the "static" dynamicMeshDict makes

49
Chapter 2

necessary to set up boundary conditions for the pointDisplacement 9 field.


The set up of this field is very simple for the present applications, since devoted
to static overset problems, so mesh motion is not involved. The boundaryField
includes: the overset boundary (patch type overset, type zeroGradient) and all
other steady boundaries (type uniformFixedValue, uniformValue (0 0 0)).
Another necessary input connected to the displacementLaplacian solver used for
static overset cases is the cellDisplacement entry inside the fvSolution dictionary; a
preconditioned conjugate gradient (PCG) solver can be selected for this additional
equation, even though it will be never solved during the simulation.

2.5.1.4 Solving
Few, little modifications must be introduced inside the following dictionaries:

• fvSchemes: the overset approach requires also an entry for the overset interpo-
lation method (inverseDistance, trackingInverseDistance, cellVolumeWeight,
leastSquares).

• fvSolution: it is necessary to update the solver to an asymmetric variant,


because the matrix from interpolation is asymmetric. All asymmetric solvers
are supported, except for GAMG, one of the fastest and most efficient multi-
grid iterative solvers. In practice, a good choice is the smoothSolver with
symGaussSeidel smoother for transport equations (U, k, etc.) and PBiCGStab
with DILU preconditioner for elliptic equations (p, yPsi).

• controlDict: the difference with respect to standard approaches concern just


the first lines, where a specific library is called, libs ("liboverset.so"), to make
sure all pre-processing tools know about the overset BC. Then, obviously, the
specific overset application is declared: overSimpleFoam, overPimpleDyM-
Foam for steady or unsteady incompressible cases and overRhoSimpleFoam,
overRhoPimpleDyMFoam for steady or unsteady compressible problems.

2.5.2 Post-processing
Once the simulation has run and the huge system of equations has been solved,
the following step is the post-processing phase, which is carried out in the usual
environment offered by OpenFOAM, ParaView.
The overset mesh post-processing stage is a little bit more tedious than working
with single meshes. A preliminary filtering operation has to be performed by the
user before looking at the simulation results. The filtering stage is quite simple,
actually: it consists of applying multiple Threshold filters with respect to the new
field cellTypes to get rid of both hole and interpolated cells, such that the user can
look just at the calculated ones.
9
It is reserved for solving, by means of a potential (Laplace) equation, the movement of each
mesh point; the mesh is hence updated according to the solved pointDisplacement field. Generally,
the potential-based equation pointDisplacement solver can only handle small mesh displacements,
otherwise mesh deterioration occurs.

50
Overset Mesh

Threshold filters can also be useful for checking the correct assignment of zoneIDs
to each component mesh.
Recalling some best practice rule the user should check that:

• ZoneID 0 should refer to the background mesh.

• There should be a sufficient number of cells between walls and interpolation


fringe to avoid flow discontinuities.

• The numerical diffusion is limited at the interpolation fringe, if similar cell


size between overlapping meshes.

Once the filtering process has been accomplished, the usual post-processing
phase, concerning the analysis of results, can be carried out.

51
Chapter 3

First case study: Vortex shedding


behind a cylinder

Vortex shedding behind a static cylinder was chosen as first case study since it
is a first, simple, two-dimensional problem that could be quickly simulated and
of which there is a lot of literature. As a consequence, validation of the overset
method could be strengthened by a comparison with experimental results, given a
constant flow velocity, or, more precisely, given the same Reynolds number.
The parameters of interest are drag and lift force coefficients, vortex shedding
frequency and the related evaluation of the Strouhal number.

3.1 Overview
The study of flow vortical structures developing behind a circular cylinder is a well
known fluid-structure interaction problem in case of a bluff body and it is one of
the most typical examples of vortex-induced vibrations structural problems.
The experimental and numerical analysis about this topic, conducted over many
years of research, largely contributed to the improvements in the structural design
stage of important fields like aeronautics, automotive and construction industries.
Vortex shedding is a fluid dynamic phenomenon which consists of an oscillating
flow behaviour, with periodic fluctuation of all flow quantities.

Figure 3.1: Vortex shedding

This effect is manifested when the fluid flows past the bluff body at certain velocities
(Reynolds number), such that vortical structures are created at the back of the
body and periodically detach from either side of it, in an asymmetric way.
The system of vortexes appearing in the body wake is a natural phenomenon
that we can constantly experience in our life (in engineering structural and fluid
dynamic problems but also in meteorology) and it develops over a quite large range

53
Chapter 3

of Reynolds number, the non-dimensional parameter measuring the ratio of inertial


to viscous forces. The Reynolds number is the most relevant non-dimensional
parameter affecting the flow pattern around the cylinder; in fact, no matter the
type of fluid, its velocity and the cylinder dimension, the flow behaviour will be the
same for a given Reynolds number.
In case of smooth circular cylinders, the Reynolds number is calculated considering
the cylinder diameter as reference length:
ρV D
Re = (3.1)
µ
Few lines are dedicated to the description of the Reynolds number’s influence in
case of vortex shedding behind a smooth circular cylinder, with reference to Sumer
[18].
For very low Re numbers (Re < 5) there is no separation of the flow due to negligible
inertial forces and the flow pattern is symmetric between upper and lower part of
the cylinder.
As the Reynolds number is increased into the range of 10 < Re < 40, the boundary
layer separates symmetrically from either side of the cylinder, and a fixed pair
of counter-rotating eddies form in the cylinder’s wake: these eddies are usually
referred to as Föppl vortices.
A further increase of the Reynolds number leads to the creation of a harmonic
oscillation in the wake region and, eventually, eddies start to shed alternatively
from the upper and lower side of the cylinder, generating the so-called Von Karman
vortex street (40 < Re < 200). At this range of Reynolds number, the flow is fully
laminar, also in the wake.
For Re > 200, a laminar to turbulent transition begins in the free vortex layers
detaching from the cylinder and a turbulent vortex street develops in the range
(300 < Re < 3 · 105 ), but the boundary layer remains laminar.
A second important transition occurs for higher Reynolds numbers, before 4 · 106 ,
during which the laminar boundary layer becomes turbulent at both sides of the
cylinder. In the intermediate range of Reynolds number, there is an unsteady,
mixed condition for the boundary layer, which is partially laminar and partially
turbulent, depending on the upper or lower side of the cylinder and the position
between stagnation and separation points. Nonetheless, the transition regime is
still a troublesome phenomenon which is still not fully understood, due mainly to
the growing importance of non linear effects in Navier-Stokes equations, and the
vortex shedding phenomenon is not so evident.
Before chaos eventually prevails, due to turbulent unsteadiness, a re-establishment
of turbulent vortex shedding was experimentally observed up to a Re number of
about 107 .
The different vortex shedding regimes are summarized in Figure 3.2.
When vortexes are shed from alternating sides of the object, the pressure
distribution is changed by the asymmetrical flow pattern and a forced vibration is
induced on the body. In fact, the alternating low-pressure vortexes downstream of
the cylinder will tend to move the body toward the low-pressure region.
It is possible to distinguish two fluctuating force components: the lift force and
the drag force. The lift force acts in a perpendicular direction with respect to the

54
First case study: Vortex shedding behind a cylinder

Figure 3.2: Vortex shedding of a smooth circular cylinder at different Re numbers

flow and oscillates at the vortex shedding frequency. The drag component, instead,
is parallel to the flow, generated by the pressure difference between the front and
the back of the cylinder. The pressure on the front is constant and equal to the
stagnation pressure of the oncoming flow (p∞ + 12 ρu2∞ ), due to the flow impinging
on the cylinder wall. The back pressure, instead, drops every time a vortex is shed,
either from upper or lower side of the cylinder: hence, the drag oscillates at twice
the vortex shedding frequency.
The forcing effect is maximized and results in large-amplitude vibrations whenever
the frequency of vortex shedding matches the resonant frequency of the structure,
a problem that can seriously damage structures like towers, buildings, bridges,
skyscrapers...
The vortex shedding frequency is expressed in dimensionless form by the Strouhal
number, defined as:
fL
St = (3.2)
V

Where:

• f is the vortex shedding frequency

• L is the characteristic length of the body (for the specific case it is the cylinder
diameter)

55
Chapter 3

• V is the free-stream velocity of the flow


The Strouhal number is the adimensional parameter used for describing unsteady
oscillating flow mechanisms. It’ s a function of Reynolds number and surface
roughness and its value remains approximately constant, around 0.2, over a large
range of Reynolds number (200 < Re < 105 ); at the transition Reynolds number,
the boundary layer becomes fully turbulent and there is a peak of the Strouhal
value.
The Strouhal vs Reynolds number trend for a smooth cylinder is represented by
Figure 3.3.

Figure 3.3: Strouhal number for a smooth circular cylinder. Experimental data from:
Solid line: Williamson(1989)[19]. Dashed line: Roshko(1961)[20]. Dots:
Schewe(1983)[21].

For the specific case, a Reynolds number of 100 was selected, such that a fully
laminar flow condition could be analysed, the one characterizing the so-called Von
Karman vortex street.

3.2 Mesh generation


This section describes the main steps followed during the meshing process of the
cylinder case, considering both approaches: overset and snappy methods. Particular
attention is given to the overset approach, which is the method under validation.
The comparison between the two approaches was performed by looking at the
results coming from two meshes for each method, with different refinement levels
in the near-wall region, to make a preliminary sensitivity analysis. A proper grid
indendendence analysis was not performed due mainly to time reasons; greater focus
was given to the comparison of overset and standard approaches with experimental
values, which were referred to as indicators of how far simulations results were from
convergence.
For both coarse and fine meshes, the comparison between the two approaches
was made with respect to a similar grid resolution at the wall and in the wake

56
First case study: Vortex shedding behind a cylinder

regions.
The parameter that was used to quantify the grid resolution at the wall is the y + ,
the dimensionless wall distance.
An important advantage of the overset method is that it is sufficient to act on the
component mesh in order to satisfy the wanted condition of y + . In the present case,
the condition of y + < 1 at the wall was easy to satisfy, due to the limited shear
stress in laminar flow condition.

3.2.1 Cylinder overset


The first thing to do when dealing with an overset approach is to create separate
folders for component meshes and background mesh. Subsequently, the component
meshes will be merged into the background one, receiving the overall information
coming from the different component meshes. From now on, the final mesh obtained
after the merge procedure will be addressed as "global" mesh.
In the present case, two folders were defined: one for the component mesh, cylin-
derMesh, and one for the background, and then "global", mesh, named cylinderAnd-
Background.

3.2.1.1 cylinderMesh
The dictionaries used for the creation of an optimized mesh for the cylinder are
listed hereafter:
• extrudeMeshDict
A linearNormal extrusion was performed on a circular surface having a diam-
eter of 1 meter, named cylinder.vtk. The main extrudeMeshDict parameters,
for both levels of refinement, are summarized in Table 3.1:

Parameters Mesh 1 Mesh 2


nLayers 10 20
expansionRatio 1.2 1.2
thickness 0.7 0.7
Table 3.1: cylinderMesh extrusion parameters

The above parameters were selected on the basis of the y + value, very similar
to the one obtained following the second approach, but also in order to
generate a proper overset patch, constituted by cells of similar size with
respect to the background mesh’s and placed at sufficient distance from the
cylinder wall, to allow good interpolation and continuity of flow quantities.
Due to the fact that the cell size increases when moving in radial direction,
the overset patch resulting from the extrudeMeshDict could not respect the
requirements about cell size and wall distance, at the same time; it was, then,
necessary the application of the refineMesh utility, which cut the cells in every
direction, thus making the mesh more refined, but also tri-dimensional.
The effect of refineMesh command is visible in Figure 3.4.

57
Chapter 3

(a) Before refineMesh (b) After refineMesh

Figure 3.4: The application of refineMesh command to obtain a good mesh refinement
at the near-wall region. At the same time, it is possible to keep a small
enough cell size at the overset patch.

Other few additional steps were necessary in order to make the mesh two-
dimensional and to define the overset patch.

• topoSetDict
Dictionary used for creating two independent faceSets, called frontFace and
backFace, from the patch named sides, which was generated through the
previous extrudeMeshDict. The two faceSets were created by, first, selecting
the patchToFace source and, subsequently, a subset with normalToFace source
was applied to separate front and back sides.

• createPatchDict
This application was used to define patches from sets or already existing ones,
by specyfing constructFrom patches/sets option and the name of the original
patch/set. In this case, it was used to create front and back patches from the
corresponding sets.

• extrudeMeshDict
This dictionary was exploited a second time in order to perform a linearNormal
extrusion from front to back patch of a single layer, in order to make the
mesh two-dimensional. The extrusion thickness was set to 0.1 meters, to keep
in mind for the calculation of force coefficients, in order to specify the correct
reference area for the normalisation of forces.

• createPatchDict
A second createPatch was needed to generate the fundamental overset patch

58
First case study: Vortex shedding behind a cylinder

and to assign the empty type to the patches normal to the third direction.
The creation of the definitive patches is reported in Table 3.2.

New name Old name Patch type


oversetPatch otherSide overset
walls originalPatch wall
frontAndBack front back empty
Table 3.2: cylinderMesh patches

It is always necessary to launch checkMesh command in order to check the mesh


quality parameters, especially maximum levels of skewness and non-orthogonality.
The final meshes, for the two different levels of refinement, are shown in Figure 3.5.

(a) Mesh 1 (b) Mesh 2

Figure 3.5: Coarse and fine cylinder meshes

From Table 3.3, it is possible to see the increase of the number of cells from the
first to the second level of refinement.

Mesh 1 Mesh 2
n°cells 6000 24000
Table 3.3: Total number of cells for the two cylinder meshes

As expected, by applying refineMesh command on a doubled number of extruded


layers, the fine mesh has exactly four times the number of cells of the coarse mesh,
in a two-dimensional case.

59
Chapter 3

3.2.1.2 cylinderAndBackground
After the creation of the cylinder mesh, it was possible to focus on the background
one and the final assembly.
The creation of the background mesh was fast and simple, but the assembly and
the set up of the case required some peculiarity.
The procedure consisted of the following steps:

• blockMeshDict
This dictionary allowed the definition of the background mesh and the assign-
ment of boundaries. The mesh was performed over a simple parallelepiped
representing the fluid domain in which the cylinder is contained. This is the
domain where the set of discretized Navier-Stokes equations were solved and
it was built sufficiently large that the fluid dynamics of the problem were not
affected by spurious reflections of flow quantities assigned at the boundaries.
Sometimes the actual extension of the domain is defined after a first attempt
simulation, since the choice depends on the solution itself.
The fluid domain geometry was created by the definition of its eight vertices,
while the mesh was generated by declaring the number of elements along the
three spatial directions. Along one direction, y in this case, just a single cell
was assigned, to have a two-dimensional grid.
The extension of the domain along x spatial direction is double with respect
to z, respectively 16 and 8 meters. The cylinder wall patch is positioned at an
equal distance from the patches along z direction, while, along x coordinate,
the downstream domain is about three times bigger than the upstream one.
A constant cell size was used and the number of cells was set to 200 × 100 for
both coarse and fine mesh, which differ just for the near-wall refinement.
In the boundary subdictionary, a dummy oversetPatch, type overset, was
defined at the top of the list of the different patches to make it appear at
the top of the boundary file; this way there is no warning when running the
simulation, a simple trick already anticipated in Section 2.4.
Patches normal to y axis, named front and back, were not yet defined as type
empty (meaning that everything is constant along the third direction, so the
problem is 2D), but of type patch (permeable to the mass), and the use of cre-
atePatchDict dictionary was, then, required; this choice was made in order to
avoid a strong increase of computational time when running snappyHexMesh
utility, since the castellatedMesh controls have issues if handling a 2D grid.

• snappyHexMeshDict
Snappy is an automatic mesh generation tool that is able to realise a proper
mesh starting from any imported STL file or from standard geometries. It
was exploited for both levels of refinement, since it allowed the creation of
a suitable refinement box in the regions of interest, by the definition of a
searchableBox in the geometry subdictionary; just one level of refinement was
specified in the refinementRegions field and the coordinates of a point internal
to the refinement region were supplied into the locationInMesh entry.
During the automatic refinement process of snappy, the mesh becomes always
tri-dimesional, because cells are split along all the three directions, thus

60
First case study: Vortex shedding behind a cylinder

making necessary the following use of the extrudeMeshDict dictionary, as


already seen for the cylinderMesh.
Beware that snappy automatically removes zero-sized patches, included the
dummy overset patch defined in the blockMeshDict. To inhibit this effect it is
sufficient to add this line: keepPatches true;
The background mesh resulting from the coupled use of blockMeshDict and
snappyHexMeshDict is shown in Figure 3.6.

Figure 3.6: Background mesh

• extrudeMeshDict
The simplest way to make the mesh two-dimensional is to extrude one layer,
in normal direction, from an already existing patch; specifically, after choosing
constructFrom patch mode and extrudeModel linearNormal, one layer was
extruded from the front patch towards the back one. The extrusion thickness
was set to 0.1 meters, as done for the cylinderMesh.

• mergeMeshes
Fundamental step concerning the merge of overlapping meshes, where the
background mesh receives informations from component meshes. In the present
case, the list of boundaries was updated with the cylinderMesh patches and
the overset patch, not empty anymore, appeared at the top of the list, as
expected; this way, no warning message is shown when the simulation is run,
the solver runs faster and interpolation errors are minimized.
The command that merged the meshes is:
mergeM eshes.../cylinderM esh − overwrite
After zooming on the cylinder, the final meshes are represented in Figure 3.7.

• createPatchDict
Starting from front and back patches, of type patch, it was finally possible
to define a new patch named frontAndBack, type empty, that automatically

61
Chapter 3

(a) Coarse mesh

(b) Fine mesh

Figure 3.7: Zoom on the "global" overset mesh. The cylinder mesh is colored in red
with wireframe visualisation

coupled with the homonymous one coming from cylinderMesh.


The definitive list of patches in the boundary file is shown in Table 3.4.

3.2.2 Cylinder snappy


When adopting a standard mesh generation approach, the first thing that can be
noted is the presence of a single folder for the mesh creation, unlike two or more
component meshes, in separated folders, as for the overset method.
The mesh generation strategy basically exploited the same dictionaries used for the
overset case, which can be briefly recalled hereafter:
• blockMeshDict
Same parameters and comments of the overset case; the only difference is the
lack of the dummy overset patch.
• snappyHexMesh
This dictionary was used to generate the refinement region through a search-
ableBox, having the same settings of the overset case, and, also, to define the

62
First case study: Vortex shedding behind a cylinder

Patch name Patch type


oversetPatch overset
topAndBottom patch
inlet patch
outlet patch
cylinder wall
frontAndBack empty
Table 3.4: boundary file of the global mesh

cylinder geometry by means of a searchableCylinder. Of course, the centre of


the circular geometry was positioned in the same place as the cylinder.vtk
surface of the overset case, the origin of x-z axes, and radius of 0.5m.
Two levels of refinement were set for the cylinder, in the dedicated subdic-
tionary refinementSurfaces, and a point external to the cylindrical geometry
was assigned with locationInMesh option, such that the algorithm could recog-
nise the region to mesh, external with respect to the cylinder.
Another important step was the addition of layers around the cylinder, which
was completely skipped in the previous case. The main setting parameters
for the layer addition were tuned in order to obtain a y + value similar to the
corresponding overset case, being it a measure of the refinement at the wall.
The most relevant settings for the layer addition are reported in Table 3.5.

Parameters Mesh 1 Mesh 2


relativeSizes true true
nSurfaceLayers 10 20
expansionRatio 1.2 1.2
finalLayerThickness 0.7 0.7
Table 3.5: snappyHexMeshDict layer addition settings

The only parameter that was changed from Mesh 1 to Mesh 2 is the number
of layers, which was doubled. A further increase of the finalLayerThickness
would cause an excessive deformation of the overall mesh, so it was kept
unchanged.

• Other dictionaries
extrudeMeshDict and createPatchDict dictionaries were used, respectively, for
making the mesh two-dimensional and for creating the frontAndBack patch,
type empty.
checkMesh utility was finally run to check the mesh quality and also to
compare the total number of cells between snappy and overset cases, given
an almoast equal level of refinement in the near-wall region.
As shown by Table 3.6, the first couple of meshes presents a similar number of
cells from snappy to overset approach. A greater difference is revealed in the
second level of refinement, due to the higher number of cells required by the

63
Chapter 3

cylinderMesh to increase the level of refinement at the wall, while preserving


a similar cell size, at the overset patch, between the two component meshes.

n°cells Mesh 1 Mesh 2


Overset 44561 62561
Snappy 39825 41265
Table 3.6: Total number of cells comparison

3.3 Setup of the case


The generation of a proper, satisfying mesh concluded the first half of the work.
The second half, instead, is dedicated to the overall setup of the case, including
the definition of boundary conditions, schemes adopted for the discretization of
mathematical operators, solvers chosen for the resolution of the discretized PDEs,
time advancement, etc...
The setup is referred to the overset case. The setup of the snappy case is
straightforward, all the common parameters between the two approaches were,
voluntarily, set up in the same way, in order to perform a proper comparison of
results.

3.3.1 Boundary conditions


The simulations were carried out considering incompressible flow, so there is no
influence of temperature and pressure on density, being constant.
The only difference between the two methods was the presence of the overset patch
for the overset approach.
Since frontAndBack patch is always of type empty, it was omitted from the list of
boundary conditions presented in Table 3.7.
Note that for constant density problems the considered pressure is the kinematic
one, defined as the ratio between static pressure and density:
m2
" #
ps
pk = (3.3)
ρ s2
The fixed pressure at the outlet is also expressed as a relative value with respect to
the atmospheric pressure.
As already discussed in Section 2.5, the overset case required the setup of
the zoneID volScalarField and, being a static case, of the pointDisplacement field
too, in the 0 time directory, together with the typical dynamicMeshDict shown in
Figure 2.20.

3.3.2 Mesh zones assignment


checkMesh was run not only for checking the quality parameters of the mesh, but
also because it automatically assigned cells to cellSets, which are just two in this

64
First case study: Vortex shedding behind a cylinder

Boundary U p
oversetPatch overset overset
cylinder noSlip zeroGradient
topAndBottom slip zeroGradient
fixedValue
inlet zeroGradient
uniform (1 0 0)
fixedValue
outlet inletOutlet
uniform 0
Table 3.7: List of boundary conditions

case, named as region0 and region1.


Then, setFields utility allowed the definition of the different mesh regions, by
assigning a zoneID volScalarFieldValue to each cellSet.
As good practice, zoneID0 was assigned to the background mesh.
By opening the ParaView and, the result of the assignment of zoneIDs to the
cylinder problem is exactly depicted in Figure 2.5b.
The meshes are overlapping each other; to better visualize results it is sufficient to
apply two Threshold filters, one for each zoneID, and simply translate one a little
bit in front of the other.

3.3.3 Main dictionaries


To complete the setup of the case, it is also required to specify the type of simulation,
the discretization schemes adopted and the solvers for the resolution of the dis-
cretized system of algebraic equations. Furthermore, in the controlDict, parameters
like simulation time and time step were set up and a list of post-processing functions
were included, called functionObjects.

• transportProperties
A Newtonian transport model was selected and the kinematic viscosity was
set to 0.01 to have a Reynolds number of 100, given unitary flow velocity and
cylinder diameter.

• turbulenceProperties
This dictionary allows the user to declare the simulation type and the turbu-
lence model chosen, if activated. For the specific case, the simulation type is
laminar, no turbulence model was involved.

• fvSchemes
There is no difference in the selected discretization schemes between the two
approaches, except that the overset method required also the specification of
the scheme used for the overset interpolation: inverseDistance.
The time derivative term was considered because the simulation was carried

65
Chapter 3

out using a transient solver and it was discretized with Euler method, which
is first order implicit, bounded.
Schemes adopted for the other mathematical operators:

– Gauss linear for the gradient discretization


– limitedLinear for the divergence terms, in order to limit towards first
order upwind schemes in regions of rapidly changing gradient and preserve
stability
– Gauss linear uncorrected for the laplacian term, due to the low non-
orthogonality (max value around 29, 2.5 in average)

• fvSolution
As already explained in Section 1.3.1, incompressible flows are treated with
iterative pressure-velocity based solvers, that is why, in the fvSolution dictio-
nary, residual controls and solver type had to be specified for pressure and
velocity.
Since the overset approach does not support the GAMG multigrid solver, in
order to make a proper comparison of computational times, it was chosen
to not use it for the snappy approach either and run the two cases with the
same solvers:

Equation Solver Tolerance


p PBiCGStab 10−6
U smoothSolver 10−6

Due to the displacementLaplacian solver introduced by dynamicMeshDict,


the overset approach also required the addition of cellDisplacement in the list
of solvers.
Dealing with an incompressible unsteady problem, the PISO algorithm was
adopted for solving the system of equations: starting from the PIMPLE,
no steady state iterations were selected (nOuterCorrectors = 1) with two
internal correctors (nCorrectors = 2).

• controlDict
The difference between the two approaches concerns just the first two lines
of the dictionary: the application used, overPimleDyMFoam for the overset
method, pimpleFoam for the snappy approach, and the call of a specific library
for the overset case, libs ("liboverset.so").
The simulation ran for 500 seconds and results were saved every second,
specified through the writeInterval. As writeControl, a timeStep option
was selected, together with a deltaT of 0.01 seconds; this time step was
small enough to keep the maximum Courant number below 1, guaranteeing
numerical method stability.
Moreover, some post-processing functionObjects were included and saved at
every time step:

66
First case study: Vortex shedding behind a cylinder

– force coefficients on the cylinder walls, given geometrical quantities,


velocity of the flow and density of the fluid
– the evaluation of the mass flow rate through the inlet and outlet perme-
able patches (no mass flow rate across the topAndBottom patch because
of slip BC on the velocity)
– vorticity evaluation, for a more accurate flow behaviour estimation
downstream of the cylinder

3.4 cellTypes assignment


Once the setup of the overset case has been completed, it is possible to finally
launch the simulation and check the cellTypes assignment. This is a fundamental
control, because if the solver does not recognize hole, calculated and interpolated
cells in the correct way, then simulation results are for sure wrong.
It is also possible to have a look at the different types of cells, automatically created
by the overset solver, by opening the ParaView and selecting cellTypes visualisation.
If surfaceWithEdges option is also applied, it is possible to better check the very
similar cell size between cylinder and background meshes at the overset patch,
colored in white in Figure 3.8.

(a) Mesh 1 (b) Mesh 2

Figure 3.8: Zoom on the cylinder with cellTypes visualisation

3.5 Results
The post-processing phase was the most important one because it finally allowed
the comparison of the results obtained from the two different approaches.
Before starting elaborating data, a simple but also important observation can
be done: the overset method required more time than the standard one, as can be
noticed by looking at Table 3.8.
Moving from a lower to a higher mesh refinement the clock time is basically the
same for the snappy method, because of a very low difference in the total number
of cells (see Table 3.6); for the overset case, instead, the clock time nearly doubled,
since the number of cells increased of about 30%.

67
Chapter 3

Clock time [s] Mesh 1 Mesh 2


Overset 8868 15044
Snappy 2809 2731
Ratio 3.15 5.5
Table 3.8: Clock time comparison between snappy and overset approaches. Simulations
run in parallel on eight processors.

However, it is more interesting to make a comparison in "vertical direction", espe-


cially focusing on the first mesh, where snappy and overset methods present a similar
number of cells: the ratio between overset and snappy clock times highlighted that
the overset approach was about three times slower than the snappy method.
The main reason of this behaviour is not to be attributed to the solvers used (they
are the same in the fvSolution dictionary), neither to the slightly difference in the
number of cells, but to the great computational cost dedicated to the cellTypes
addressing and to the overset interpolation process.
Great care was given to the meshes cell size at the overset patch: it was tested that
computational time increases if there is high difference in cell size between front
and background mesh, at the overset patch; moreover, interpolation accuracy is
decreased, generating a visible to naked eye numerical diffusion of flow quantities.
The drawback about simulation time makes the application of the overset method
pointless for most of static problems and can seriously threaten dynamic cases,
where time penalty can only worsen.
A first look at the results was taken in the ParaView environment, looking just
at the calculated cells of the overset cylinder, after the application of Threshold
filters with respect to the new field cellTypes.
The last frame of velocity field can be seen in Figure 3.9. The manifestation of the
oscillatory flow behaviour, called Von-Karman street, behind the cylinder wall is
clearly visible. The overset case is always put at the top of the figures, while the
snappy approach is below it.
From Figure 3.9a, it is possible to note a strong phase delay between overset and
snappy approaches; this is mainly due to the fact that, with the overset method, the
vortexes start to shed later on, if compared to the snappy case. It seems reasonable
to think that the overset approach is less sensible to flow changes and so requires
more time to correctly predict them; or, maybe, it is more dissipative, resulting in
a similar effect.
It is also possible to appreciate a quite smooth transition of the velocity field
(and other flow quantities as well) across the overset patch. This positive effect is
conserved during the flow animation and it is mainly related to the similar cell size,
between the front and the background meshes, at the overset patch.
The main post-processing phase, instead, focused on the analysis of global drag
and lift force coefficients, as the sum of pressure and viscous contributions. The
data were imported in Matlab® from the postProcessing directory, where all force
coefficients, calculated through the corresponding functionObject defined in the
controlDict, were stored. After that, time, drag and lift coefficients were extracted
in three independent vectors and the temporal history of both drag and lift was

68
First case study: Vortex shedding behind a cylinder

(a) Mesh 1

(b) Mesh 2

Figure 3.9: Velocity field comparison between overset and snappy approaches. The
frames refer to the last time step and just calculated cells of the overset
approach are considered.

69
Chapter 3

Drag coefficient Drag coefficient


1.7 1.7
overset overset
1.6 snappy 1.6 snappy

Cd

Cd
1.5 1.5

1.4 1.4

1.3 1.3
0 50 100 150 200 250 300 350 400 450 500 0 50 100 150 200 250 300 350 400 450 500
Time Time
Lift coefficient Lift coefficient
0.4 0.4

overset
0.2 0.2 overset
snappy snappy
Cl

Cl
0 0

-0.2 -0.2

-0.4 -0.4
0 50 100 150 200 250 300 350 400 450 500 0 50 100 150 200 250 300 350 400 450 500
Time Time

(a) Mesh 1 (b) Mesh 2

Figure 3.10: Temporal history of drag and lift coefficients

plotted, for both approaches and for both two levels of refinement, as shown in
Figure 3.10. From the time domain graphs, it was possible to observe that the
signals are characterized by a transitory state of about 100 seconds; this first part of
the signal was then neglected when evaluating the mean values of force coefficients
and when performing the FFT (Fast Fourier Transform) of the recorded data, in
order to evaluate the vortex shedding frequency.
With reference to Table 3.9, the drag force coefficient mean values do not change
significantly from one level of refinement to the other, so it is reasonable to assume
that the real grid independent solution will provide similar values. Similar mean
values of force coefficients are obtained also by comparing the two approaches. The
mean lift coefficient is close to the theoretical zero value1 , but a more significant
comparison with the experimental approach consists in looking at its maximum
amplitude of oscillation: in this case, the difference between the two approaches is
quite important and the snappy method is the closest to the typical experimental
value of about 0.35. The overset approach, on the contrary, seems to be more
dissipative, providing a lower maximum amplitude of the lift coefficient.
Both simulation strategies are not able to correctly predict the mean drag coefficient,
whose numerical and experimental value is about 1.39, Durbin(2007)[4].
The FFT was performed on the oscillatory steady-state behaviour of the lift
coefficient, considering a sampling frequency equal to the inverse of the time step
of the recorded discretized signals: fsampl = 1/∆T = 100Hz.
The FFT gave as output a vector of complex conjugate numbers, considering both
positive and negative frequencies, which were then discarded in order to obtain
the Single-Sided Spectrum of the signal. This passage is correct if the spectrum is
normalized by the number of sampled data and multiplied by 2, to preserve the
energy content. Particular attention should be given to the only couple of real
numbers, which mustn’t be multiplied by 2: the first element of the vector, called
mean value, and the middle one, corresponding to the Nyquist frequency, which

The mean lift coefficient is not reported in Table 3.9 but is in the order of 10−4 for both
1

approaches, close to the theoretical zero value for smooth, perfectly circular cylinders.

70
First case study: Vortex shedding behind a cylinder

appears only if the number of points is even.


The frequency resolution is related to the sampling frequency and the N sampled
data, which are linked by the following relation: ∆f = fsampl /N . This means that
it is possible to measure the frequencies fk = k∆f , with k being an integer number.
For the present case, and for both methods, the frequency resolution is 0.0025,
representing also the estimation error with respect to the vortex shedding frequency
and the related Strouhal number.
Once the discrete frequency axis has been built, the Single-Sided Spectrum of
the signal amplitude was plotted, represented in Figure 3.11.

Single-Sided Amplitude Spectrum of Cloverset Single-Sided Amplitude Spectrum of Cloverset

0.3
0.3
X 0.175
Amplitude

Amplitude
X 0.175 0.2 Y 0.3031
0.2
Y 0.2697
0.1 0.1

0 0
0 5 10 15 20 25 30 35 40 45 50 0 5 10 15 20 25 30 35 40 45 50
Frequency[Hz] Frequency[Hz]
Single-Sided Amplitude Spectrum of Clsnappy Single-Sided Amplitude Spectrum of Clsnappy

0.3
0.3 X 0.175
X 0.175
Amplitude

Amplitude

Y 0.3468
0.2 Y 0.2983
0.2

0.1 0.1

0 0
0 5 10 15 20 25 30 35 40 45 50 0 5 10 15 20 25 30 35 40 45 50
Frequency[Hz] Frequency[Hz]

(a) Mesh 1 (b) Mesh 2

Figure 3.11: Single-Sided Spectrum of lift coefficient

From the graphs, it is possible to see that there is a clear peak of the signal
spectrum amplitude at 0.175 Hz, for both approaches and for both levels of re-
finement. It was, then, taken as the vortex shedding frequency and used for the
evaluation of the Strouhal number, according to Equation 3.2.
In this case, since considering unitary cylinder diameter and flow velocity, the
Strouhal number is equal to the magnitude of the vortex shedding frequency, that is
0.175. This value of Strouhal number is in accordance with the experimental values
for circular cylinders found in literature, which are around 0.17, see Figure 3.3 and
corresponding references.
Results from FFT application on the lift coefficient are always shown in Table 3.9.
Going from a lower to a higher near-wall mesh refinement had positive results in
terms of spectra peak amplitude, which is much more similar between the two meth-
ods. In case of a fine mesh for the overset approach, it is also possible to appreciate
a much less dispersion of the lift coefficient energy content among frequencies which
are not the vortex shedding one, with just a 0.32% difference between maximum
peak amplitudes of the lift coefficient from time to frequency domain. The same
cannot be said for the snappy approach, where an opposite behaviour is shown,
leading to a higher energy dispersion among adjacent frequency components; a
more detailed analysis should be needed to understand if this phenomenon is due
to the actual presence of other frequency components or it is an effect related to
the mesh.

71
Chapter 3

Mesh 1 Mesh 2
Experimental
Overset Snappy Overset Snappy
Cdmean 1.5136 1.5271 1.5114 1.5294 1.39
Clmax 0.3271 0.3635 0.3041 0.3521
0.35
|A|spectrummax 0.2697 0.3468 0.3031 0.2983
Strouhal
0.175±0.0025 0.17
fvortex [Hz]
Table 3.9: Main parameters of interest: the first two rows regarding the force coefficients
in time domain, while the following refer to the frequency analysis via FFT
on the lift coefficient.

A critical aspect was the evaluation of the mass defect that has to be expected
when dealing with an interpolation based coupling approach, the overset method.
The considered patches permeable to the flow are the inlet and the outlet and the
sign convention for the mass flow is positive when exiting the domain. The slip
condition on the velocity prevented the passage of flow across the topAndBottom
patch.
The mass conservation is checked by means of a specific OpenFOAM functionObject
calculating the flux phi. For incompressible flows, the considered flux is the
volumetric one, which is proportional to the mass flux through the constant flow
density. By applying an operation of sum with respect to the patch surface area, it
is possible to easily calculate the flow rate, volumetric in this case.
The time evolution of the volumetric flow rate is represented in Figure 3.12.

Inlet volumetric flow rate Inlet volumetric flow rate


-0.7 -0.7
overset overset
-0.75 snappy -0.75 snappy
V [m3 /s]

V [m3 /s]

-0.8 -0.8

-0.85 -0.85

-0.9 -0.9
0 50 100 150 200 250 300 350 400 450 500 0 50 100 150 200 250 300 350 400 450 500
Time [s] Time [s]
Outlet volumetric flow rate Outlet volumetric flow rate
0.801 0.801
overset overset
snappy snappy
0.8 0.8
V [m3 /s]

V [m3 /s]

0.799 0.799

0.798 0.798
0 50 100 150 200 250 300 350 400 450 500 0 50 100 150 200 250 300 350 400 450 500
Time [s] Time [s]

(a) Mesh 1 (b) Mesh 2

Figure 3.12: Single-Sided Spectrum of lift coefficient

The snappy approach is fully conservative with respect to the mass. On the contrary,
the overset method is characterized by a typical mass defect, but it is quite limited,
with a percentage loss in the order of 10−2 , as shown in Table 3.10. A small
improvement is visible when adopting a higher refinement in the near-wall region,
with an average outlet flow rate of 0.7995 m3 /s, instead of 0.7994 m3 /s for the

72
First case study: Vortex shedding behind a cylinder

Overset
V̇ [m3 /s]
Mesh 1 Mesh 2
Inlet 0.8 0.8
Outlet 0.7994 0.7995
Err [%] 0.075 0.0625
Table 3.10: Average volumetric flow rate with the overset approach

coarse mesh, with respect to a constant inlet value of 0.8 m3 /s.

3.6 Closure
This preliminary case study dealt with the well-known phenomenon of vortex
shedding behind a static cylinder, under the hypothesis of incompressible and
two-dimensional flow. A laminar flow condition was considered (Re=100) to analyse
the Von Karman vortex street; no turbulence models were used.
Simulations were performed following two different strategies, namely the overset
and snappy approaches, and a preliminary mesh sensitivity analysis was made, by
considering two different levels of refinement at the near-wall region.
From Table 3.9, results show that there is good agreement between simulations
when considering the mean drag coefficient, which is a bit overestimated with
respect to typical experimental values. The maximum lift coefficient experimental
value is better predicted by the snappy approach, while it is a bit underestimated
by the overset method; however, when considering a higher mesh refinement and
performing the FFT of the signal, it is possible to observe that the overset approach
shows a strongly lower energy dispersion behaviour, such that the maximum lift
amplitude is almost entirely concentrated at the vortex shedding frequency. It is
reasonable to think that the weight of both mesh and overset interpolation effects is
reduced when adopting a fine mesh. The vortex shedding frequency, corresponding
to the maximum amplitude of the lift coefficient spectrum, is uniquely captured
by both methods, considering the same frequency resolution, and is in accordance
with typical experimental values.
The deficit of mass related to the non-conservative nature of the overset strategy
was demonstrated to be limited below 0.1% and beneficial effects come from a
higher mesh refinement.
The simulation time, from about three to five times higher than the snappy
approach, is probably the most relevant drawback of the overset method that was
highlighted in this first case study; on the other hand, such basic static problem
is not able to bring out the best from the overset capabilities, that is extreme
flexibility in the generation of dedicated component meshes and their handling,
particularly suitable for both static parametric analysis and dynamic body motion.

73
Chapter 4

Second case study: MRL Tidal


Turbine

The present case study dealt with a more complex problem, the simulation of a
MRL tidal turbine. Unlike the previous case study, this one is characterized by
dynamic mesh motion, due to the moving turbine blades extracting power from the
fluid.
The setup and simulation of this case study was already performed, using an AMI
(Arbitrary Mesh Interface) approach, for the final project of the course “Modeling
Techniques for Fluid Machines”. The same task was then repeated for the scope of
this thesis, hence exploiting the overset method.
The aim was to evaluate performance of the overset method in dynamic mesh
conditions, where, theoretically, it should exhibit greatest advantages in terms of
versatility and easiness of multi-body handling, also in presence of possible overlap
(very relevant drawback of other approaches, simulation is prevented by body
overlap). The fact that AMI patches cannot overlap led to a necessary decrease
of the real blades chord and it was deemed as one of the main causes of some
discrepancies between numerical and experimental results.
Although the overset method does not have problems in terms of overlapping patches,
the reduced blades chord was kept, in order to make a consistent comparison between
results coming from AMI and overset approaches.

4.1 Overview
A Momentum Reversal Lift (MRL) Tidal Turbine is an immersed in water machine
able to convert the water-tidal energy into mechanical power.
The machine is made of three blades with symmetrical profile and exploits drag
and lift forces to extract fluid power from blades rotating motion, developing about
both their own axis and the machine rotor. When the turbine blade is in the upper
part there is only drag contribution, while in the other angular positions there is a
combination of lift and drag forces.
The work based on the AMI strategy consisted of a sensitivity analysis to evalu-
ate the effect of different setup parameters (turbulence model, boundary conditions,
discretization schemes, solvers...) on the final solutions, alongside a convergence

75
Chapter 4

Figure 4.1: Real machine and 2D scheme representation

analysis, according to which simulation results don’t change when the mesh is
further refined, obtaining the so-called “grid independent solution”.
However, once the setup was defined, it was not possible to fulfill the grid indepen-
dence analysis, since, after some levels of refinement with increasing number of cells,
a slight oscillation of results was still visible; more refined meshes would have been
necessary, but with the available computational power it was not feasible to go on.
Nonetheless, the trend of the machine experimental curve, comparing the power
coefficient Cp versus the blade to speed ratio BSR, was well reproduced even by
an intermediate refinement mesh level, with a slight underestimation of the power
coefficient, particularly relevant for mean values of BSR. The discrepancy between
numerical and experimental values, resulting in an overall slight underestimation
of the real power coefficient of the machine, is in line with the reduction of the
blades chord required by the AMI approach, thus preventing the matching with
experimental results. Moreover, the adoption of the most refined mesh improved
a little bit the accuracy of results, but not so much to justify the increase of
computational time. For this reason, and considering the scope of the thesis, it was
chosen to compare the overset method with reference to an intermediate refinement
mesh level obtained with the AMI approach, focusing on the comparison of results
coming from simulations performed with two different strategies but with similar
refinement levels.
The parameter used for the comparison was the power extracted from the
machine, its useful effect. Obviously, knowing the angular rotational speed of the
rotor, it was sufficient to look at the torque.
Before analysing the effect of the BSR variation on the power coefficient, trying to
reproduce the experimental trend, a first operating condition was considered, with
flow speed of 1 m/s.
The rotational speed of the shaft was 100 rpm, twice that of the counter-rotating
turbine blades around their own axis: ω1 = −0.5 · ω0
The experimental data for comparison were provided by M. Berry and G.R. Tabor
scientific paper: CFD Analysis of a Single MRL Tidal Turbine [3].
The blades and AMI geometries were provided as STL files and are shown in
Figure 4.2.

76
Second case study: MRL Tidal Turbine

Figure 4.2: AMI and blades STL files

4.2 Mesh generation


The assumption of two-dimensional simulation was deemed to be suitable for the
case under investigation and drastically reduced the computational time. Hence,
the first step focused on the generation of a 2D mesh which accurately reconstructed
the three blade profiles with proper mesh refinement at the blades near-wall region,
for solving the boundary layer. Also in this case, in fact, it was necessary to evaluate
the flow behaviour in correspondence of the blades boundary layer (condition of
y + < 1), without losing accuracy in the wake free-stream region, reason for which
the k-ωSST turbulence model was the best choice.
This section introduces the mesh generation procedure, distinguishing between
AMI and overset approach.

4.2.1 AMI approach


The main utilities devoted to the AMI mesh generation process are rapidly presented:

• blockMeshDict
This dictionary allowed the definition of the fluid domain such that it was
possible to appreciate the wake and recirculation vortexes downstream of the
turbine, avoiding spurious reflections of flow quantities at the boundaries.
The mesh selected from the ones generated during the past final project of
the course Modeling Techniques for Fluid Machines counted 300 × 100 cells
in the blockMeshDict, without grading.
The list of boundaries is schematized by Table 4.1.
The patch named as down was given a type wall since it represents the
riverbed. The top patch is, instead, representative of the free surface, so it
was defined as type patch, meaning that it is permeable to the mass.
As done with the previous case study, front and back patches were not already
defined as type empty in order to avoid problems with snappyHexMesh utility.

• snappyHexMeshDict
Snappy is the automatic mesh generation tool able to realise a proper hex-

77
Chapter 4

Name Patch type


inlet patch
outlet patch
top patch
down wall
front patch
back patch
Table 4.1: Boundary patches

aedral mesh for the imported STL files: the blade profiles and the relative
AMI interfaces, used to decouple rotating and static mesh regions, through a
topological change; the dimensions of these geometries were first scaled from
mm to m using the surfaceTransformPoints command.
The STL files were imported in the snappyHexMeshDict geometry sub-
dictionary, where the four AMI files were renamed as rot-int0, rot-int1,
rot-int2, rot-ext; they are all cylindrical surfaces, in particular the first three
were used for describing the rotating motion of blades around their own
centres of rotation, while the biggest and last one represented the rotation
around the axis of the whole MRL turbine.
A searchableBox feature, with just one level of refinement, was defined to
have a higher mesh resolution around the machine and in the wake region.
A crucial passage for the AMI strategy was the creation of cellZones from
the rot geometries, needed for the dynamic mesh motion; they were directly
defined in the refinementSurfaces sub-dictionary and thier assignment could
be checked from the ParaView, as shown in Figure 4.3.
Table 4.2 summarizes the main parameters for the generation of a sufficient

Figure 4.3: The different cellZones for AMI approach: the steady region in yellow, the
cellZone for the shat rotation in grey and the ones for each blade motion in
red, green and blue colors.

number of layers around the blade profiles to respect the condition of y + < 1.

78
Second case study: MRL Tidal Turbine

relativeSizes true
nSurfaceLayers 10
expansionRatio 1.2
finalLayerThickness 0.3
Table 4.2: Layer addition settings for AMI approach

A detail of the layers around the blade profile is shown in Figure 4.4.

Figure 4.4: Blade layers for the AMI approach

• Baffles generation
The core of the AMI approach is the creation of separated regions or baffles
through a topological change. This target was achieved in two steps:
1. createBafflesDict: it converted internal faces into boundary faces, without
duplicating the points. AMI interfaces were called inside baffles sub-
dictionary with the name given in the snappyHexMeshDict (rot...) and
predefined faceZones were used to select faces to duplicate. Eventually,
it was possible to define master and slave patches of type cyclicAMI and
8 AMI patches were obtained (4 master and 4 slave), shown in Figure 4.5.

2. mergeOrSplitBaffles: this utility detects faces that share points, as


baffles, either merging them or duplicating the points. Since the aim
was to duplicate points and to allow relative motion of master and
slave faces, it was sufficient to add -split option. In this way, two
completely independent boundary faces were created, making the mesh
ready to handle dynamic motion through the assignment of motion laws
to cellZones.
The procedure previously explained can be schematized as a two steps opera-
tion in Figure 4.6.
• Other utilities

79
Chapter 4

Figure 4.5: Master and slave patches for AMI approach

Figure 4.6: Baffles generation procedure: conversion of internal faces into boundary
faces sharing the same nodes (I) and duplication of points with final decouple
of boundary faces (II).

– extrudeMesh utility was used to transform the tri-dimensional mesh,


obtained by snappyHexMesh, to a two-dimensional grid. One layer was
extruded from back patch, according to a linearNormal model, of the
same thickness such as that of the blades STL files, 0.22m.

– createPatchDict was then used to create the empty patch, frontAndBack,


from already existing patches front and back, to declare that the mesh is
2D and nothing occurs on these boundaries.

– checkMesh was finally launched to check the overall mesh quality.

The final mesh can be visualised in Paraview and it is reported in Figure 4.7.

80
Second case study: MRL Tidal Turbine

Figure 4.7: AMI approach final mesh

4.2.2 Overset approach


The mesh generation procedure that was followed in the overset approach is now
introduced, highlighting the main differences with the previous method.
The first thing was to create two separated directories: one for the mesh of the
blades and one for the background mesh and final assembly.

4.2.2.1 Blades mesh


Two options were considered for the generation of a proper mesh for the blades:

1. The direct use of blades cellZones defined with the AMI approach.
The command splitMeshRegions -cellZones -overwrite allowed to split the
predefined cellZones from the mesh, which were automatically stored inside
constant directory, ready to be merged with the background mesh.

2. The subset of the layers created with snappyHexMesh utility.


This task was carried out by first activating the layerSets option in the
writeFlags sub-dictionary of snappyHexMeshDict, in order to create a cellSet
for the layers, named as addedCells. Then, by simply typing subsetMesh
addedCells -overwrite, it was possible to overwrite the layers to the overall
mesh and obtain a suitable mesh for the blades.

By means of the usual utilities (extrudeMesh, createPatch, checkMesh) it was then


possible to make the mesh two-dimensional, assign the overset and the empty types
to the oversetPatch and frontAndBack patches and eventually check the mesh
quality.
Even though both solutions were feasible, the second option was finally selected
for the creation of the blades mesh. The choice was mainly driven by the overall
blade mesh quality and its extreme easiness of generation (because the meshing
procedure does not involve any additional AMI patches), which allows much greater
flexibility whenever future mesh modifications are required.
Considering just one blade, the mesh resulting from the strategy based on the

81
Chapter 4

subset of layers is represented in Figure 4.8. The cell size at the blades overset
patch is clearly not constant; this could penalise computational time and accuracy
of results where there is higher difference with the background mesh cell size.

Figure 4.8: Detail of one blade mesh for the overset approach

The snappyHexMeshDict parameters for the creation of layers around the blades
STL files are reported in Table 4.3.

relativeSizes true
nSurfaceLayers 22
expansionRatio 1.2
finalLayerThickness 1.8
Table 4.3: Main parameters for the creation of a layered mesh around blades in respect
of proper refinement at the wall and cell size at the overset patch.

4.2.2.2 Background mesh and final assembly


The mesh generation process of the background mesh was very simple: the same
blockMeshDict of the AMI approach was used, the snappyHexMeshDict allowed the
creation of the refinement region through the searchableBox feature and the mesh
became two-dimensional through the extrudeMeshDict.
The final assembly consisted in the merge of blades component meshes into the
background one, through mergeMeshes command, and the resulting mesh can be
visualised in Figure 4.9.

4.3 Setup of the case


In this section the setup of the case is proposed with reference to the overset
approach and the main differences with the AMI method are commented.
Again, all common parameters were set up in the same way to have a meaningful
comparison of results.

82
Second case study: MRL Tidal Turbine

Figure 4.9: Overset approach final mesh with blades mesh in red color

4.3.1 Boundary conditions


The natural working fluid for this kind of machine is water, so an incompressible
flow condition was considered and the energy equation is completely decoupled
from the continuity and momentum ones.
AMI and overset bounday conditions differ not only for the presence of the overset
patch, for which the usual overset boundary condition type was assigned, but
also for the cyclicAMI boundary condition applied on the AMI patches, to enable
simulation across disconnected, adjacent, mesh domains.
In addition to the BCs required by the pressure and velocity fields, BCs for turbu-
lence quantities were also provided, namely turbulent kinetic energy k, frequency ω
and viscosity nut.
The list of boundary conditions for the present case study is shown in Table 4.4.

83
Table 4.4: MRL Tidal Turbine boundary conditions

84
Boundary U p k ω nut
Chapter 4

fixedValue tIKEI tMLFRI calculated


inlet zeroGradient
uniform (1 0 0) intensity 0.05 mixingLength 0.01 uniform 0
fixedValue calculated
outlet zeroGradient inletOutlet inletOutlet
uniform 0 uniform 0
fixedValue
top zeroGradient zeroGradient zeroGradient zeroGradient
uniform 0
down noSlip zeroGradient kqRWallFunction omegaWallFunction nutkWallFunction
movingWallVelocity
blades zeroGradient kqRWallFunction omegaWallFunction nutkWallFunction
uniform (0 0 0)

Legend:

• tIKEI =turbulentIntensityKineticEnergyInlet

• tMLFRI =turbulentMixingLengthFrequencyRateInlet

For brevity, the boundary condition for the frontAndBack patch is not reported, being it always of type empty for two-dimensional
problems. Then, according to the method, boundary conditions for the overset patch and the AMI patches must be assigned:
respectively, of type overset and of type cyclicAMI, constant for all fields.
Second case study: MRL Tidal Turbine

4.3.2 Mesh zones assignment


The important assignment of the identification zones was performed in the usual
way: first, checkMesh was run to create the four cellSets (three for the blades
plus one for the background mesh) and then setFields utility assigned a zoneID
volScalarFieldValue to each cellSet.
The zoneID field can be visualised in ParaView, as shown in Figure 4.10.

Figure 4.10: zoneID visualisation

4.3.3 Main dictionaries


In this section the principal dictionaries used for the setup of the case are recalled.
• transportProperties
A Newtonian transport model was selected and the kinematic viscosity of the
water was set to 10−6 , value at the reference temperature of 20°C.
• turbulenceProperties
The dictionary was simply set up in this way:

simulationType RAS
RASModel k-ωSST
turbulence on

• fvSchemes
The discretization schemes used for the two approaches are, in order:
– Euler scheme for the time derivative term
– Linear schemes for gradient, laplacian terms and interpolation schemes;
limitedLinear schemes for the divergence terms

85
Chapter 4

– Overset interpolation: cellVolumeWeight


– wallDist: meshWave method

• fvSolution
Dealing with a transient simulation, the PISO algorithm was chosen, with two
pressure correctors. The solvers adopted for both AMI and overset approaches
are reported in the following table:

Equation Solver Tolerance


p PBiCGStab 10−6
U, k, ω smoothSolver 10−6

• controlDict
This dictionary was set up to run a simulation of 6 seconds, corresponding
to 10 revolutions of the rotor, that is 5 complete revolutions of the turbine
blades.
An adjustableRunTime was selected as writeControl, so that the maximum
value of Courant number could not exceed 1, by means of a variable time
step.
A transient solver was selected for both approaches, in particular: overPim-
pleDyMFoam for the overset and pimpleFoam for the AMI method.
Moreover, functionObjects were exploited for the calculation of forces and
moments exchanged between blades and fluid and for the evaluation of the
mass defect characterizing the overset approach.
Forces were evaluated on the basis of pressure, velocity and the constant value
of water density (1000kg/m3 ); the axis around which the turbine rotates is z,
pitchAxis (0 0 1), while the centre of rotation CofR was placed in the middle
point of the axis of rotation, such that x and y components of the moment
are null. Total forces and moments are given by the sum of two contributions,
pressure and viscous components, where the former one is about one order of
magnitude bigger than the latter.

• topoSetDict
Dictionary used for assigning cellZones to the turbine blades, giving as input
the corresponding regions previously created through checkMesh command.

• dynamicMeshDict
The increasing level of complexity between the first two case studies and
the present one resides in the handle of multiple body motion. The turbine,
in fact, is the first dynamic simulation that was investigated, where laws of
motion had to be assigned to both blades and rotor. This task was fulfilled
exploiting the functionality of the dynamicMeshDict dictionary, with very few
differences between AMI and overset approaches, starting from the mesh type,
respectively dynamicMotionSolverListFvMesh and dynamicOversetFvMesh.
The dynamicMesh utility, this time, was used in a "standard" way for the
overset approach, without involving all the features related to static overset

86
Second case study: MRL Tidal Turbine

Figure 4.11: cellTypes visualisation: hole cells are well recognised and colored in red,
the overset patch and the interpolation fringe near the blades holes are
depicted in grey, while the calculated cells are blue.

cases, as explained in Section 2.5.1.3.


The motion laws assigned to the selected cellZones consisted of simple rigid
rotations: the ones associated to the three blades and, in case of the AMI
method, also the rotation of the cellZone representing the turbine shaft1 .
The angular speeds of rotation were given as input data: 100 rpm for the
shaft of the machine, clockwise direction, and 50 rpm for each blade around
their own centre of rotation, anti-clockwise direction.
Two rotations were assigned to each blade, through multiMotion function,
considering both the rotation of the shaft and the rotation of blades around
their hinge. Angular speeds were converted into rad/s, origin and axis of
rotation were specified for each cellZone.

4.4 cellTypes assignment

The simulation could be run and the different cellTypes could be visualized from
the ParaView, as shown in Figure 4.11.
The cell size at the overset patch can also be better appreciated in Figure 4.12.

1
It is important to remark that the Arbitrary Mesh Interface strategy requires AMI geometries
for dividing stationary and dynamic mesh domains through topological changes. The overset
method, by definition, is not affected by such not negligible limitation.

87
Chapter 4

Figure 4.12: Detail of the cell size at the blade overset patch with cellTypes visualisation

4.5 Results
Before looking at numerical results coming from both approaches, it is possible to
visualise the flow behaviour from the ParaView. In Figure 4.13 and Figure 4.14,
the velocity and turbulent viscosity fields were reported; if the former one has a
similar behaviour from overset to AMI approach, the latter one shows a stronger
effect in case of the overset method.
The post-processing phase of the unsteady problem, with inlet flow velocity
fixed at 1 m/s, aimed to evaluate the forces exchanged between blades and fluid
flow and to check the mass conservation of the overset approach.
Total forces and moments were considered, as the sum of two contributions, pressure
and viscous components, where the former one is about one order of magnitude
bigger than the latter. Dealing with a two-dimensional problem, two non-zero
force components are present, in x and y direction, represented in Figure 4.15a and
Figure 4.15b. However, a more significant parameter is the torque, directly related
to the power, that is is the useful effect of the turbine, shown in Figure 4.15c.
The high resolution of graphs is due to the fact that forces were saved every time
step, which resulted to be about three times greater for the overset method in
comparison with the AMI approach, given the same maximum Courant number
limit, set to 1. After an initial transitory, forces begin to oscillate around a mean
value with a period of 1.2 seconds, the time needed by the turbine blades to describe
a 360° rotation about their own axis. What is clearly visible is that the overset
approach has a higher fluctuating behaviour than the AMI method, but the trend
is similar.
Forces were averaged in the interval [2.4 - 6 s], so that three complete revolutions
were considered. Numerical results are shown in Table 4.5. The absolute value of
the error was calculated with reference to the AMI approach. Results are similar
in terms of torque and horizontal force component, but the vertical one is a bit
underestimated by the overset approach with respect to the AMI method.
Regarding the mass conservation, the parameter used for incompressible flows is
the volumetric flux, which, integrated over the permeable patches (inlet, outlet

88
Second case study: MRL Tidal Turbine

Figure 4.13: Velocity field

Figure 4.14: Turbulent viscosity field

89
Chapter 4

Forcex
30
overset
AMI
25

20

15

Fx [N]
10

-5

-10
0 1 2 3 4 5 6
Time [s]

(a) Fx
Forcey
30
overset
AMI
25

20

15
Fy [N]

10

-5

-10
0 1 2 3 4 5 6
Time [s]

(b) Fy
Torque
1
overset
0.8 AMI

0.6

0.4
M z [Nm]

0.2

-0.2

-0.4

-0.6

-0.8
0 1 2 3 4 5 6
Time [s]

(c) Mz

Figure 4.15: Time evolution of force components and torque

90
Second case study: MRL Tidal Turbine

Overset AMI Err %


Fxmean [N ] 9.1116 9.0479 0.7043
Fymean [N ] 7.4153 6.853 8.2
Mzmean [N m] 0.4707 0.473 0.4827
Table 4.5: Mean forces for U=1 m/s

and top2 ), becomes the volumetric flow rate. The AMI approach proved to be
conservative, while results for the overset case are summarized in Table 4.6.

V̇ [m3 /s] Overset


Inlet 0.088
Outlet 0.0879
Err [%] 0.1328
Table 4.6: Mass conservation results for U=1 m/s

The deficit of mass is in the order of 0.1%, which is still quite limited but about
one order of magnitude higher than the previous case study; as expected, moving
from incompressible static cases to dynamic ones means a more critical condition
for the overset approach, from the mass conservation point of view.
It is important to underline that the AMI approach proved to be slower than the
overset method by, approximately, a factor of 2. This fact is not due to a different
number of mesh elements, which was voluntarily kept almost identical (87357 cells
for the overset approach and 86442 cells for the AMI), but to a limitation in the
time step needed by the AMI strategy for performing interpolations among the
interfaces into which the mesh is topologically split.

4.5.1 BSR variation


In this section, different operating conditions were simulated in order to derive the
characteristic curve of the machine. This process allowed also the validation of the
CFD models considering the experimental data provided by M. Berry and G.R.
Tabor[3]. The comparison was made with respect to non-dimensional parameters:
Pshaf t
• Power coefficient: Cp =
Vf2low
ṁf low
2
ωR
• Blade to speed ratio: BSR =
Vf low
The cross-sectional area for the calculation of the mass flow rate across the turbine
was computed considering a radius (from turbine axis to blade axis) of 0.055 m and
2
Contributions from outlet and top patches will be summed and referred to as simply outlet
volumetric flux

91
Chapter 4

Cp vs BSR

overset
0.5 AMI
exp

0.4

0.3
Cp

0.2

0.1

0
0 0.2 0.4 0.6 0.8 1
BSR

Figure 4.16: Cp vs BSR variation

a blade thickness of 0.22 m. To simulate different operating conditions, the inlet


flow velocity was chosen as free parameter and its variation according to the BSR
value is summarized in Table 4.7.
The modelling strategies remained unchanged with respect to the ones described in
the previous sections, apart from one additional use of refineWallLayer command
to limit the value of y + at the blades for conditions of BSR ≤ 0.4.
As can be seen by Figure 4.16, the trend of the real machine experimental curve is
well reproduced by both approaches, correctly underestimating the power coefficient
due to the adoption of a reduced blades chord for running the simulations. Reasoning
just on numerical values, summarized in Table 4.7, it is possible to observe a good
agreement of results for intermediate values of BSR, while higher discrepancy for
extreme values. The strongest difference is manifested for BSR = 0.9, since the
Cp value predicted by the overset approach is about three times greater than the
AMI one; from a practical point of view, this is also the least interesting operating
condition, related to the minimum power extraction.
From the simulation time perspective, the AMI approach was constantly slower
than the overset method, with a ratio of clock times that varies from 1.63 up to
2.76.

4.6 Closure
The simulation of a MRL Tidal Turbine represents the first case study involving
dynamic mesh motion. Incompressible and two-dimensional flow hypothesis are
still valid. Two simulation strategies were explored: the overset and AMI methods.
A reduction of the blades chord was necessary for the AMI approach, otherwise
simulation is prevented by the overalap of cellZones. Although the overset method

92
Second case study: MRL Tidal Turbine

Cp
BSR Vf low [m/s] Cpexp
Overset AMI |Err| [%]
0.2 2.879 0.2486 0.2361 5.2709 0.25
0.3 1.92 0.3654 0.3117 17.2129 0.38
0.4 1.439 0.4116 0.391 5.27 0.46
0.5 1.152 0.4337 0.435 0.2879 0.5
0.6 0.96 0.3911 0.3882 0.7465 0.47
0.7 0.823 0.3079 0.2923 5.3433 0.36
0.8 0.72 0.1933 0.1683 14.8231 0.24
0.9 0.64 0.0545 0.0187 192 0.11
Table 4.7: Flow velocity and power coefficient with respect to BSR variation. The
absolute value of the error between the two numerical strategies is weighted
with respect to the AMI approach.

would be able to simulate the real machine, it was chosen to proceed in the same
way as the AMI strategy to make a consistent comparison of results.
The most important part of the work focused on the mesh generation, set up
and run of simulations with unitary fixed inlet flow velocity.
Results show that, after a transitory phase, force components and machine torque
oscillate periodically around their mean values. Hence, by considering the last three
complete revolutions of the turbine blades, forces were arithmetically averaged and
compared: good accordance of results was achieved in terms of horizontal force
component and, especially, of torque, which is related to the power extracted by
the machine; on the other hand, the vertical force component computed by the
overset approach was about 8% higher than the AMI one.
If compared to the previous case study, the overset mass conservation worsens
by an order of magnitude when dynamic mesh motion is involved; however, the
deficit of mass is still quite limited, about 0.1%.
The second part of the work focused on the analysis of the influence of the
inlet flow velocity on the power extracted by the turbine. This task was carried
out considering non-dimensional parameters, power coefficient Cp and blade to
speed ratio BSR, with the aim of reproducing the trend of the experimental curve
proposed by M. Berry and G.R. Tabor scientific paper [3].
Results show that both CFD approaches are able to well reproduce the experimental
trend, with an overall underestimation of the power coefficient, in line with the
reduced blades chord. The two numerical approaches give similar results for
intermediate values of BSR, which is also the region of maximum power extraction,
while higher discrepancy is present for extreme BSR values.
From the computational power point of view, the overset method proved to run
faster (about 2 times in average) than the AMI approach, which is limited in the
time step by the interpolation at the mesh interfaces.

93
Chapter 5

Third case study: application of


the overset approach on a basic
ICE cylinder configuration

CFD simulations have become a fundamental tool in internal combustion engines


(ICEs) design and development, proving to have a massive influence on the persistent
technological research that aims to combine high efficiency and performance with
low pollutant and carbon emissions. Although numerical schemes, turbulence
models, wall-functions, fuel spray and combustion models are important aspects
of research, the meshing strategy plays a key role in the computational efficiency
of CFD methods, in the managing of the moving components of the engine and
in the accuracy of results. In order to handle the motion of valves and piston in
ICEs, different strategies are implemented in CFD packages specifically devoted
to ICEs (e.g. dynamic mesh layering, grid morphing and mesh remapping), all
of them aiming to preserve high geometrical fidelity, robustness and stability and,
at the same time, struggling to limit the computational cost. In this perspective,
the overset approach could represent a suitable solution to handle mesh motion,
although it was rarely applied to ICEs simulations1 .
The present case study consists in the application of the overset method on
a basic ICE cylinder with flat head and a single valve2 , for two different sub-
cases: preliminary steady-state flow tests for different pressure expansion ratios
(Section 5.1) and intake flow of a moving piston during valve opening (Section 5.2).
The big novelty of this case study relies in the unsteady simulation of the intake
flow starting from valve fully closed, condition which is impossible to simulate with
any other method but the overset.
Moreover, it is the first application of an overset compressible solver, considering
1
Among the few overset-based ICE applications in literature, it is worth citing the work of
Berton, D’Orrico and Sideri[22], consisting in the simulation of a TCC-III, which is a spark
ignition 4-stroke 2-valve engine with a flat head, flat piston and vertical valves motion.
2
The simplified configuration, unusual with respect to the ones adopted in common ICEs, where
at least two different valves are dedicated to inlet and outlet of the flow, is in line with the logic of
this work, that is a preliminary test of the overset approach under different operating conditions;
in case of positive outcomes, possible future works will be then devoted to the simulation of a
more realistic engine configuration, where the performance of the overset method will be, maybe,
better assessed through the comparison with experimental results.

95
Chapter 5

Figure 5.1: Cylinder (green) and valve (blue) FreeCAD sketches, in the configuration
of maximum valve opening.

a mixture of 100% air; for simplicity, simulations were performed on a bi-dimensional


mesh.

5.1 Steady flow tests on a basic ICE cylinder-


valve
As a first application of the overset approach on a compressible problem, it was
chosen to perform steady-state flow tests through a simplified cylinder-valve config-
uration, considering the condition of maximum valve opening.
Simulations were run for increasing pressure expansion ratios, such that compress-
ibility effects could not be neglected.
The overset mesh approach was compared with a single mesh strategy based on
snappyHexMesh utility.

5.1.1 Mesh generation


The mesh generation was essentially based on snappyHexMesh utility, which, in
one case, was applied to mesh the cylinder and the valve at the same time, while
for the overset approach, it was used, separately, for both two component meshes.
The starting meshes, onto which the automatic mesh generation utility was applied,
were simply created with blockMesh. The required STL files, instead, were exported
from FreeCAD, a general purpose feature-based, parametric 3D modeler.
The cylinder and valve sketches are shown in Figure 5.1, with reference to the
condition of maximum valve opening, set to 5 mm; the overall dimensions are in
line with those of common light-duty vehicles.

96
Third case study: application of the overset approach on a basic ICE cylinder
configuration

Figure 5.2: Cylinder and valve STL files

By extruding the cylinder and valve sketches, it was then possible to export the
relative STL files, represented in Figure 5.2. Although some important geometrical
simplifications were made, like the rounding of sharp edges (particularly evident
and unrealistic for the stem of the valve) in order to enhance the addition of layers
by means of snappyHexMesh utility, the usual 45° inclination of the valve seat was
respected.
In order to define inlet and outlet patches, permeable to the mass, and to assign
front and back patches, perpendicular to the third direction, the mesh obtained
from the blockMeshDict was voluntarily made smaller in height and thickness with
respect to the STL files3 ; in this way, the mesh slices the STL file and the patches
defined in the blockMeshDict are assigned.
For the overset case, the mesh of the valve was obtained as a subset of the layers
created through the snappyHexMesh utility, in the same way as done in Chapter 4
with the turbine blades. Layer addition parameters are set to have a proper mesh
refinement at the wall (y + < 1) and to have similar cell size between valve and
cylinder meshes at the overset patch4 ; for this last requirement, a trade-off solution
was reached through a linear normal extrusion of the bi-dimensional layered mesh,
due to the non constant cell size at the overset patch, as shown in Figure 5.3.
The meshes obtained from the snappy approach and the final assembly of the
overset method are shown in Figure 5.4.
The list of boundary patches, for the overset method5 , after the merge of component
meshes is summarized in Table 5.1.
The main parameters that were set up during the mesh generation phase, for both
approaches, can be found in Table 5.2.
In addition to the utilities used for creating an optimized mesh for the valve,
the extrudeMeshDict was also applied, which, through a linear normal extrusion of
the layered valve mesh, allowed to extend the mesh in radial direction and control
the cell size at the overset patch. The selected extrusion parameters are: 10 layers
extruded with expansion ratio of 1.05 and thickness of 1.5 mm.
3
The STL files dimensions were scaled from mm to m with transformPoints -scale command.
4
The overset patch, together with the assignment of the empty type to front and back patches
was created by the usual createPatchDict, after that the mesh was made bi-dimensional by means
of the extrudeMeshDict.
5
The only difference with the snappy approach is the presence of the overset patch.

97
Chapter 5

Figure 5.3: Zoom on the valve mesh to highlight the non constant cell size at the overset
patch

(a) Overset approach

(b) Snappy approach

Figure 5.4: Meshes for overset and snappy approaches.


For the overset method, shown in Figure 5.4a, the valve component mesh
was colored in red.

98
Third case study: application of the overset approach on a basic ICE cylinder
configuration

Patch name Patch type


oversetPatch overset
inlet patch
outlet patch
Cylinder wall
Valve wall
frontAndBack empty
Table 5.1: Boundary patches of the final cylinder-valve overset mesh

blockMeshDict snappyHexMeshDict
n° cells layers exp. ratio thickness
Cylinder 330 × 330 16 1.2 0.4
Overset
Valve 100 × 150 20 1.2 0.6
Snappy 330 × 330 16 1.2 0.4
Table 5.2: ICE cylinder: main parameters for cylinder and valve meshes

5.1.2 Setup of the case


5.1.2.1 Boundary conditions
Since the compressible nature of air was considered, the energy equation is coupled
with continuity and momentum equations and the setup of boundary conditions
considered also the temperature and turbulence thermal diffusivity (alphat) fields.
The selected turbulence model was, again, the k-ωSST , so boundary conditions for
the turbulent kinetic energy and frequency were also provided.
For setting the different expansion ratios between inlet and outlet patches, total
pressure boundary conditions were imposed; this choice does not undermine the
"well-posedness" of the problem due to the specific implementation of the total
pressure boundary condition in OpenFOAM: in case of inflow, the p0 value which
is specified refers to a total pressure, while in case of outflow, it refers to a static
pressure value. This kind of implementation of the total pressure boundary condition
provides greater stability with respect to possible flow reversal at the outlet. In
fact, it was tested that a standard total-static pressure setup was responsible of an
incorrect flow behaviour prediction, because of reverse flow at the outlet.
The total pressure BC was applied in combination of a pressureInletOutletVelocity,
which is basically a zeroGradient condition specific for cases where flow velocity is
calculated from an imposed pressure gradient.

99
Table 5.3: Cylinder-valve boundary conditions

100
Boundary U p T k ω
Chapter 5

totalPressure fixedValue tIKEI tMLFRI


inlet pInOutVel
p0 uniform 1e26 uniform 300 intensity 0.05 mixingLength 0.01
totalPressure
outlet pInOutVel 7 inletOutlet inletOutlet inletOutlet
p0 uniform 1e5
Cylinder noSlip zeroGradient zeroGradient zeroGradient zeroGradient
Valve noSlip zeroGradient zeroGradient zeroGradient zeroGradient

Legend:

• pInOutVel=pressureInletOutletVelocity

• tIKEI =turbulentIntensityKineticEnergyInlet

• tMLFRI =turbulentMixingLengthFrequencyRateInlet

For brevity, boundary conditions for frontAndBack and overset patches are omitted, respectively of type empty and overset.
The BCs for nut are equal to the ones used in Chapter 4; the same BCs were also assigned to alphat but the wall functions are of
different type, namely compressible::alphatWallFunction.
6
The total pressure value specified at the inlet patch is the one that will be varied according to the desired ratio β; in this case, β = 1.2.
7
To be precise, the total pressure BC at the outlet was set to uniformTotalPressure, in order to impose a slightly slow pressure gradient by means of a
table feature, otherwise the SIMPLE algorithm would crash immediately for high expansion ratios.
Third case study: application of the overset approach on a basic ICE cylinder
configuration

Figure 5.5: Cylinder-valve identification zones: the cylinder, or static background mesh,
was assigned zoneID 0, while the moving valve was labeled as zoneID 1.

5.1.2.2 Mesh zones assignment


The setup of identification zones was carried out in the way described in Section 2.5
and already adopted for the previous case studies. It consists in the setup of the
zoneID volScalarField and the run of checkMesh and setFields utilities.
The zoneIDs are visible in Figure 5.5.

5.1.2.3 Main dictionaries


Despite being a static case, the overset approach always requires a specific mesh
type, that is dynamicOversetFvMesh, set in the dynamicMeshDict.The peculiarities
connected to overset static problems were already described in Section 2.5 and
won’t be further discussed.
The other main dictionaries are:

• thermoPhysicalProperties
It is the dictionary that substitutes the incompressible transportProperties
one and deals with thermo-physical models. Thermo-physical models are
concerned with energy, heat and physical properties. Their implementation
in OpenFOAM requires a necessary dictionaty entry, called thermoType,
which specifies the package of thermo-physical modelling that is used in the
simulation. For the present case no combustion modeling or other types of
reactions were involved, so the mixture is characterized by a fixed composition.
The main parameters of the dictionary are summarized in Table 5.4.

• turbulenceProperties
The main settings are schematized in Table 5.5

• fvSchemes
The main schemes adopted for the present case are:

101
Chapter 5

type hePsiThermo
mixture pureMixture
Cp = 1007
transport sutherland
Hf = 0
As = 1.4792 · 10−6
thermo hConst
Ts = 116
equationOfState perfectGas
specie specie molW eight = 28.9
energy sensibleEnthalpy
Table 5.4: Cylinder-valve thermoPhysicalProperties settings

simulationType RAS
RASModel k-ωSST
turbulence on
Table 5.5: Cylinder-valve turbulenceProperties settings

– linear schemes for gradient and laplacian terms, with non orthogonal
correction activated
– bounded Gauss upwind schemes for divergence terms
– inverseDistance method for the overset interpolation
– the simulation was run with a steady-state solver, so no discretization
schemes were applied to unsteady terms:

• fvSolution
The simulations were run with a SIMPLE algorithm.
To prevent solution divergence the following relaxation factors were used:

Relaxation factors
p 0.3
U 0.7
ρ 0.01
k, ω 0.7
h 0.5

The list of solvers is reported in Table 5.6.

• controlDict
The compressible, steady-state solver specified for snappy and overset ap-
proaches are, respectively, rhoSimpleFoam and overRhoSimpleFoam. The
number of steady-state iterations was set to 2000, with results saved every
10 time steps. The setup of the dictionary was completed by the addition

102
Third case study: application of the overset approach on a basic ICE cylinder
configuration

Equation Solver Tolerance


p PBiCGStab 10−6
U, k, ω
smoothSolver 10−6
ρ, h
Table 5.6: List of solvers

of functionObjects for the evaluation of the mass flow rate at the inlet and
outlet patches and for the estimation of the Mach number.

5.1.3 cellTypes assignment


Once the mesh generation and setup procedures were completed, the simulation
was run and the assignment of cellTypes was checked from the ParaView, as shown
in Figure 5.6.

Figure 5.6: Cylinder-valve cellTypes visualisation

A detail of the mesh at the overset patch is proposed in Figure 5.7, where it is
possible to compare the cell size of the two component meshes.

103
Chapter 5

Figure 5.7: Overset patch detail with cellTypes visualisation

5.1.4 Results
The steady-state, compressible simulations were run considering increasing values
of expansion ratio β.
Considering the case of β = 1.2, the velocity field, at the last iteration of the
SIMPLE algorithm, is represented in Figure 5.8. For the overset approach, a
threshold filter was applied to visualise just the calculated cells.

Figure 5.8: Velocity field comparison between overset and snappy approaches.
On the overset mesh a threshold filter on the cellTypes was applied, to
visualise just calculated cells.

By zooming on the overset mesh of the valve, as shown in Figure 5.9, it is


possible to highlight a strong diffusion effect, mainly due to flow-grid alignment
reasons and the use of first-order upwind schemes.
From the post-processing of results, it was possible to plot the evolution of the
mass flow rate, iteration by iteration, and to appreciate its growth with respect to

104
Third case study: application of the overset approach on a basic ICE cylinder
configuration

Figure 5.9: Diffusivity effect on the valve mesh

Overset
β Mach
ṁin ṁout ErrID [%] ErrCV W [%]
1.007 0.1 0.0008 0.0008 1.0135 1.2345
1.05 0.25 0.0022 0.0022 0.5757 0.3944
1.1 0.35 0.0031 0.0031 0.5347 0.4862
1.2 0.5 0.0044 0.0043 1.7837 1.2701
1.3 0.6 0.0054 0.0053 1.7643 1.2416
1.4 0.65 0.0062 0.0061 0.9800 1.1427
1.5 0.75 0.0069 0.0069 0.9696 1.1191
1.6 0.8 0.0076 0.0075 0.9555 1.0927
1.7 0.85 0.0082 0.0081 0.7969 0.8393
Table 5.7: Mass flow rates results for the overset approach

the increasing pressure ratio, acting on the outlet total pressure value. After this
small transitory, that allowed to preserve the stability of the SIMPLE algorithm, a
nearly steady-state regime was reached, as can be shown in Figure 5.10.
The inlet and outlet mass flow rates, for different values of expansion ratio, were
evaluated as the arithmetic average of the last 200 iterations. The results are
summarized in Table 5.7, where the deficit of mass flow rate was expressed as a
percentage of the inlet value. The snappy approach proved to be conservative8 also
in this case, with same values of inlet mass flow rate as the overset approach.
For each value of β, it was also reported approximate Mach number value of the
flow, measured at the outlet section of the valve.
The trend of the inlet and outlet mass flow rates with reference to the increasing
expansion ratio β is shown in Figure 5.11.
The deficit of mass does not show a monotonous trend with the increasing expansion
ratio, but, in general, is higher than previous incompressible case studies and
8
The percentage error is in the order of 10−4

105
Chapter 5

10-3 Inlet mass flow rate =1.2


0
overset
-1 snappy

m [kg/s]
-2

-3

-4

0 200 400 600 800 1000 1200 1400 1600 1800 2000
Iterations
10-3 Outlet mass flow rate =1.2

4
overset
3
m [kg/s]

snappy

0
0 200 400 600 800 1000 1200 1400 1600 1800 2000
Iterations

Figure 5.10: Steady-state mass flow rate evolution until β = 1.2

there is no sensible improvement when switching from the inverseDistance to the


cellVolumeWeight interpolation algorithm. Such errors in the mass are unacceptable
for the correct simulation of ICEs, where the maximum acceptability level is typically
smaller or equal than 1%. They are also quite frightening results if considered
that they refer to a static simulation, because things are likely to get worse when
motion of engine components like valves and piston must be handled. However, the
overset approach could still prove to be a valuable solution for optimization studies,
thanks to its extremely high degree of flexibility of both mesh generation and body
motion. And what about an overall increase in the number of mesh elements? Or
the application of higher order schemes? These options were not tested but, maybe,
they could give beneficial results in terms of mass conservation.
Simulation times did not vary of a sensible amount from snappy to overset
approach, which only in case of maximum expansion ratio is almost 70% slower
than the snappy method.

5.2 Intake flow induced by piston motion during


valve opening
This section deals with the most important part of the entire work, since it combines
all the main aspects and difficulties encountered during the previous case studies.
The case under investigation is a compressible, unsteady, bi-dimensional problem
characterized by multiple body motion: the intake flow due to the motion of a
piston during valve opening. The analysis was carried out considering different
moving velocities for both valve and piston, such that different depressurization
levels were observed in the cylinder.

106
Third case study: application of the overset approach on a basic ICE cylinder
configuration

Inlet average mass flow rate


0
overset
snappy

m [kg/s]
-0.005

-0.01
1 1.1 1.2 1.3 1.4 1.5 1.6 1.7

Outlet average mass flow rate


0.01
m [kg/s]

overset
0.005 snappy

0
1 1.1 1.2 1.3 1.4 1.5 1.6 1.7

Figure 5.11: Average steady-state mass flow rate trend versus β

The dynamic mesh handling of a moving valve is already a complex task that
requires non-trivial solutions to overcome the limits of basic mesh deformation, for
which an example is given in Figure 5.12. In fact, a diffusion-based strategy proved
to be feasible up to a maximum valve motion of 1.5 mm and the mesh quality is
strongly compromised by the imposed deformation; in this perspective, the overset
method offers the possibility of easily combining large body motion and high mesh
quality.
Last but not least, it is important to underline that the valve starts from a
condition of zero gap from the valve seat. The position of valve closed is a critical
situation that cannot be managed by any meshing strategy but the overset approach
and which is typically skipped, modeled or approximated by leaving a minimum
gap.

5.2.0.1 Mesh generation


The component meshes for cylinder and valve were basically taken from the previous
steady-state problem, since they were able to provide a sufficient mesh refinement
at the walls and, at the same time, to limit the high computational cost of the
overset approach.
However, a small but fundamental modification to the cylinder mesh was necessary:
the inlet duct was made 10 mm longer in order to avoid the overlap between the
valve stem and the inlet patch of the cylinder; if this happens, the overset algorithm
crashes because there is a conflict between an imposed inlet boundary condition for
the flow and the necessity of correctly assigning hole cells inside the valve profile9 .
9
As will be explained later on, thanks to a modified version of the cellVolumeWeight inter-
polation algorithm, it is instead possible to obtain a correct assignment of cellTypes in case of

107
Chapter 5

Figure 5.12: Limits of a diffusion-based mesh deformation: the maximum allowable


valve motion is 1.5 mm, otherwise mesh deterioration occurs.

Moreover, the outlet patch defined for the previous steady-state flow tests was, in
this case, simply treated as a cylinder wall, which had no influence on the problem
because the overset algorithm identifies it as belonging to the hole region when the
piston is introduced.
The only component mesh which was left to generate was the one for the piston.
It was obtained by the combination of blockMesh and topoSet utilities:

• First, a mesh block was created by means of the blockMeshDict and the
overset condition is assigned to the patches parallel to the third direction,
named as overset patch; the remaining two patches are given the usual empty
condition for bi-dimensional meshes.

• Then, two box regions, representing the piston and the piston ring, were
defined through the topoSetDict and the mesh area falling outside these boxes
was assigned a specific cellSet.

• Eventually, a subset of the mesh allowed to eliminate the piston geometry and
to obtain its external mesh. The internal profile was given a wall boundary
type via createPatchDict.

A multi-grading solution was adopted in the blockMeshDict in order to have a


higher mesh resolution in the areas of interest: the piston head and the piston top
sides, where a basic modeling of piston crevices was attempted, considering a piston
to bore clearance of 1 mm. The piston mesh and the detail about the crevice are
shown in Figure 5.13. A very coarse mesh was generated in the bottom part of the
piston, since it falls outside of the cylinder mesh, thus being made of just hole cells.
The main parameters of the blockMeshDict are specified in Table 5.8.

component meshes overlapping background mesh boundary patches which are different from the
inlet one. The modification was necessary for running this specific case.

108
Third case study: application of the overset approach on a basic ICE cylinder
configuration

(a) Piston mesh (b) Piston crevice detail

Figure 5.13: The overall piston mesh is represented in Figure 5.13a. On the other hand,
Figure 5.13b represents a detail of the piston crevice, where the piston
mesh was colored in red to better distinguish it from the cylinder one.

Spatial Exp. Tot n°


Direction Cells
division ratio cells
16% 20% 0.25
x 68% 60% 1 200
16% 20% 4
70% 10% 1
10% 30% 1
y 200
10% 30% 4
10% 30% 4
Table 5.8: Main blockMeshDict parameters for the piston mesh

109
Chapter 5

Figure 5.14: Final assembly of cylinder, valve and piston meshes

After the 5 mm vertical translation of the valve mesh to start from the condition
of valve closed, the final assembly of the three component meshes is represented in
Figure 5.14.

5.2.1 Setup of the case


Some modifications in the setup were necessary and are presented hereafter.

5.2.1.1 Boundary conditions


A combination of totalPressure, pressureInletOutletVelocity and inletOutlet bound-
ary conditions were assigned to p, U and T fields. The totalPressure boundary
condition was fixed to ambient pressure.
Typical wall boundary conditions are given to the moving valve and piston and to
the static cylinder walls.

5.2.1.2 Mesh zones assignment


The assignment of identification zones is now accounting also for the presence of
the piston component mesh, as shown in Figure 5.15.

5.2.1.3 Main dictionaries


• The dictionaries thermoPhysicalProperties and turbulenceProperties were kept
unchanged from the previous case study.

• No variations are present in the fvSchemes dictionary, except for the overset
interpolation algorithm, which must be set to modCellVolumeWeight. It

110
Third case study: application of the overset approach on a basic ICE cylinder
configuration

Figure 5.15: zoneID assignment with the introduction of the piston. Identification
zones are overlapping and can be better visualised by threshold filters

consists in a modification of the cellVolumeWeight interpolation algorithm,


which allows to obtain a correct assignment of cellTypes in case of component
meshes overlapping background mesh boundary patches which are different
from the inlet one. The modification was necessary for running this specific
case, since both valve and piston component meshes overlap the cylinder wall
boundaries.

• In the fvSolution dictionary the PIMPLE transient solver was selected, working
in PISO mode with two pressure corrections. No relaxation factors are needed.

• The application specified in the controlDict was set to overRhoPimpleDyM-


Foam. A variable time step was chosen, to not exceed the maximum value of
Courant number, equal to 1. The simulation time was tuned with the velocity
of the moving valve, such that the simulation stops when the valve opening
is equal to 5 mm. Sampling probes functionObjects were placed close to the
inlet patch and in the central part of the cylinder to monitor velocity and
pressure evolution in time.

• The dynamicMeshDict allowed to specify the usual overset mesh type and
to assign a linearMotion law to valve and piston cellZones. It was chosen to
set the velocity of the piston equal to 10 times that of the valve, such that a
piston stroke of 50 mm is reached when the valve lift is equal to 5 mm.

5.2.2 cellTypes assignment


Thanks to the exploitation of the modcellVolumeWeight overset interpolation algo-
rithm, it was possible to obtain a correct assignment of calculated, intrerpolated
and hole cells among the different component meshes, as shown in Figure 5.16.

111
Chapter 5

Figure 5.16: cellTypes assignment with the introduction of the piston.

5.2.3 Results
In Figure 5.17, the velocity fields are presented at three different time steps, relative
to a piston velocity of 5 m/s: at minimum valve opening, characterized by the onset
of intake flow through the very small channel made available by the valve; at an
intermediate condition, where the depressurization inside the cylinder is responsible
for a stronger flow recirculation, highlighted by the glyph filter; and at the end of
the piston stroke, for which the valve has reached its maximum assumed opening
of 5 mm. A detail of the initial valve opening is shown in Figure 5.18.

112
Third case study: application of the overset approach on a basic ICE cylinder
configuration

(a) Start of piston stroke and valve lift

(b) Intermediate piston stroke and valve lift

(c) Maximum piston stroke and valve lift

Figure 5.17: Evolution of the velocity field during piston motion and valve opening,
with respect to a piston velocity of 5 m/s
113
Chapter 5

Figure 5.18: ICE cylinder: detail of the initial valve opening

A sensitivity analysis was performed by considering different valve and piston


velocities. Keeping the same piston stroke and maximum valve opening, two probes
were defined in the controlDict and used to measure the velocity and pressure fields
in two different locations: the velocity probe was placed close to the inlet patch
and it registered the increasing flow velocity entering through the inlet duct; the
pressure probe, instead, was positioned inside the cylinder, slightly below the valve,
in order to capture the depressurization effect due to the moving piston.
The trends of the in-cylinder pressure and the magnitude of inlet velocity, as well
as the inlet mass flow rate, with respect to the piston stroke and for different valve
and piston velocities, are shown in Figure 5.19.
Main numerical results, such as minimum in-cylinder pressure, maximum mag-
nitude of inlet flow velocity and mass flow rate, are summarized in Table 5.9.
" # " # " # " #
m m m kg
Up Uv pmin [P a] |U |inmax ṁinmax
s s s s
2 0.2 8.7928 · 104 5.0630 4.8446 · 10−4
3 0.3 8.1127 · 104 7.4493 7.1423 · 10−4
4 0.4 7.5084 · 104 9.8935 9.7135 · 10−4
5 0.5 7.0138 · 104 12.7035 0.0013
10 1 5.4701 · 104 28.5268 0.0028
Table 5.9: Main numerical results of the intake flow for different valve and piston
velocities, labeled as Uv and Up

114
Third case study: application of the overset approach on a basic ICE cylinder
configuration

104 In-cylinder pressure


10

9.5

9
Up=2m/s
8.5 Up=3m/s
Up=4m/s
8 Up=5m/s
Up=10m/s
p [Pa]

7.5

6.5

5.5

5
0 10 20 30 40 50 60
Piston stroke [mm]

(a) In-cylinder pressure


Magnitude of the inlet flow velocity
30

25
Up=2m/s
Up=3m/s
20 Up=4m/s
Up=5m/s
|U| [m/s]

Up=10m/s
15

10

0
0 10 20 30 40 50 60
Piston stroke [mm]

(b) Magnitude of the inlet flow velocity


10-3 Inlet mass flow rate
0

-0.5

-1
m [kg/s]

Up=2m/s
-1.5
Up=3m/s
Up=4m/s
Up=5m/s
-2 Up=10m/s

-2.5

-3
0 10 20 30 40 50 60
Piston stroke [mm]

(c) Inlet mass flow rate 115

Figure 5.19: Trend of main flow quantities with respect to the same piston stroke but
different velocity
Chapter 5

5.3 Closure
This last case study dealt with a preliminary application of the overset method on
a basic ICE cylinder configuration, characterized by a single valve. The STL files of
the components were exported from FreeCAD, where some simplifications on the
geometries were made for meshing purposes. The working fluid was a pure mixture
of air and its compressible nature was considered.
The work was carried out as a two step analysis: first, introductory steady-state
flow tests were performed on the basic cylinder-valve configuration, in the condition
of maximum valve opening and for different pressure expansion ratios; after that,
an unsteady problem was investigated, consisting in the analysis of the intake flow,
generated by an added moving piston, starting from the critical condition of valve
closed.
Flow tests results showed that similar solutions were provided by the overset
and snappy methods, together with an overall comparable computational time.
However, despite being static, the compressible nature of the problem seriously
threatens the mass conservation issues of the overset approach, with a deficit of
mass around 1%. The change from inverseDistance to cellVolumeWeight overset
interpolation algorithm did not prove to be very useful, since it improved a little bit
the deficit of mass for certain pressure ratios, but worsened it for others. Such high
values of deficit of mass prevent the application of the overset approach to real ICEs
industrial simulation, where accuracy of results is of fundamental importance and
strict tolerances are considered for the mass. However, the overset approach could
still prove to be a valuable solution for external aerodynamics problems, where
mass conservation issues are less critical, or for optimization studies, thanks to
its extremely high degree of flexibility of both mesh generation and body motion.
Following this idea, the second sub-case study was performed.
The problem concerning the intake flow due to the motion of a piston highlighted
the full potentialities of the overset approach, that, with a slightly modified version
of the cellVolumeWeight algorithm, was able to easily handling large body motion,
while solving a critical condition that would make any other approach fail: valve
completely closed. Reasonable results were obtained in terms of both in-cylinder
pressure and inlet mass flow rate evolution, for increasing piston velocities.
Simulation time was strongly influenced by the efficiency of the interpolation
method adopted to transfer information between background and foreground meshes:
for example, the adoption of efficient AABBTree method allowed to reduce the
computational time by a factor of 10 with respect to the standard method.

116
Conclusions

The aim of this work was to perform a preliminary investigation of the overset
method when applied to the CFD simulation of fluid machines, on the basis of the
open-source OpenFOAM software. Despite the overset approach was born around
the 80’s, its implementation in OpenFOAM is very recent [2]. Nowadays this
method is still an open topic under development, studied for research purposes and
not yet ready for real industrial applications. However, the present work highlighted
some positive aspects from the application of the overset method, in particular
for incompressible case studies, where the mass conservation issue, identified as
the main drawback of the overset method, is not so critical as for compressible
problems. Moreover, the extreme flexibility of mesh generation and body motion,
coupled with a not too expensive computational time when adopting parallelization
and efficient interpolation algorithms, are very significant advantages that may find
a place in a real industrial context, especially if the overset approach proves to be
a suitable alternative solution with respect to standard methods based on multiple
meshes and mesh-to-mesh interpolation.
The key aspects which were encountered during the three case studies and which
were used to derive the final conclusions are resumed hereafter:

• The first case study, about vortex shedding behind a circular cylinder, showed
that the percentage deficit of mass was limited in the order of 10−2 and
that a cylinder mesh refinement had an overall beneficial effect on results:
the deficit of mass was slightly reduced and, from the time and frequency
analysis of force coefficients, the overset approach showed a strongly lower
energy dispersion behaviour, such that the maximum lift amplitude was
almost entirely concentrated at the vortex shedding frequency, with just a
0.32% difference between maximum peak amplitudes of the lift coefficient
from time to frequency domain. This was probably due to the reduced weight
of both mesh and interpolation effects when adopting a fine mesh. However,
it was still very important to keep a similar cell size at the overset patch
between overlapping component meshes, in order to limit computational
time associated to the donor search procedure, to reduce diffusivity of flow
quantities and maximize accuracy of the results from mesh to mesh mapping.
The comparison with the grid based on snappyHexMesh utility showed that
a vortex shedding frequency of 0.175 Hz was uniquely captured by both
methods and was in good agreement with the typical experimental value of
about 0.17 Hz [4]. Positive numerical results were obtained also in terms of
drag coefficient, around 1.51-1.52, but overestimated if compared to typical
experimental values, around 1.39. The snappy approach was also able to

117
Conclusions

better predict the experimental lift coefficient of 0.35, which was, instead,
underestimated by the overset method; however, a more detailed analysis
should be needed to understand if the higher difference between the maximum
lift coefficient in the time domain and its spectrum amplitude was due to
the presence of other frequency components or it was an effect related to the
mesh.
Considering the comparable results and the nearly five times higher computa-
tional time required by the overset approach, it is not advisable to exploit
this method for static problems with simple geometries.

• The simulation of a MRL Tidal Turbine offered the opportunity to analyse the
real advantages of the overset approach: the extreme simplicity and flexibility
in the creation of optimal component meshes and their successive dynamic
handling. These important features were enhanced by the comparison with
the second available strategy based on the AMI approach, already developed
during the final project of the course of "Modeling Techniques for Fluid Ma-
chines". The strongest limitation of the AMI approach was the impossibility
of simulating the real machine due to the overlap of blades cellZones, so a
reduction of the blade chord was necessary. Such drawback does not affect
the overset method, which is able to handle overlapping mesh components,
but, in order to make a consistent comparison between numerical results, it
was chosen to proceed in the same way as the AMI strategy.
In the first part of the work an inlet flow velocity of 1 m/s was considered and
the comparison of the mean calculated forces gave positive outcomes: 0.7%
of error for the horizontal force component, 8% for the vertical one and just
0.48% for the torque, the most interesting parameter of the machine. More-
over, the overset deficit of mass for such dynamic incompressible problem was
equal to 0.13%, still quite limited for a free stream problem, but it increased
of about one order of magnitude from the previous case study because of
dynamic mesh motion.
The second half of the work consisted in the comparison of the non-dimensional
machine curve (Cp vs BSR) obtained from the two approaches with the ex-
perimental one proposed by M. Berry and G.R. Tabor scientific paper [3].
As expected from using reduced blades chord, numerical results underesti-
mated the experimental values, but the trend was well reproduced by both
approaches, which gave similar results for intermediate values of BSR, the
region of maximum power extraction, while higher discrepancy characterized
the extreme BSR values.
Unlike the previous case study, the overset approach had beneficial effects
from the computational time point of view, since, in average, it was about
two times faster than the AMI method, limited in the time step by the
interpolation at the cellZones interfaces.

• The last case study dealt with a preliminary application of the overset method
on a basic ICE cylinder configuration, characterized by a single valve. A pure,
compressible mixture of air was considered and the problem was divided into
two sub-cases, at increasing difficulty level: steady-state flow tests in condition

118
Future works

of maximum valve lift and the analysis of the intake flow generated by an
added moving piston, starting from the critical condition of valve closed.
Flow tests results showed that similar solutions were provided by the overset
and snappy methods, together with an overall comparable computational time.
However, significant mass conservation issues were noticed for the overset
approach, around 1% for both ID and CVW interpolation algorithms, critical
for real ICEs simulations.
On the other hand, very promising results were observed for the other sub-case,
where the full potentialities of the overset approach were exploited; in fact,
with a slightly modified version of the CVW algorithm, the overset method
was able to correctly assign the cellTypes to the three overlapping meshes
and to rather easily simulate a problem characterized by large body motion;
moreover, it is the only method that does not fail in simulating the full process
of valve opening starting from the condition of zero gap.
Reasonable simulation times were achieved by means of parallelization and
the adoption of more efficient interpolation algorithms.

In conclusion, the overset approach is a very powerful method, which exhibits


its greatest advantages in case of large multi-body motion, that would typically
require highly complex dynamic mesh handling strategies, with, maybe, some
simplifications (reduction of the blade chord for the MRL turbine), or that would
even be impossible to simulate by any other approach (condition of valve closed).
The principal drawback is the mass conservation, critical for the simulation of closed
domain problems, like ICEs, but not so relevant for incompressible cases. Moreover,
the overset approach could provide good performances for external aerodynamics
applications, for which the penalty of the mass is less critical, and for design
optimization studies, to save precious time in the very consuming mesh generation
step and to quickly select the best configurations to be further investigated.
For counteracting the strong increase of computational time associated to com-
pressible dynamic cases, it should be always recommended a parallelization of
simulations and the adoption of more efficient interpolation algorithms.

119
Future works

This thesis dealt with a preliminary evaluation of the overset approach performances
for the CFD simulation of fluid-machines by means of OpenFOAM. The work was
conceived as a progressive study of the overset method, starting from simple case
studies and then moving towards more complex ones, thanks to the previously
acquired knowledge. Following this logic, future works should be focused on:

• Perform a more detailed evaluation of the overset approach for incompressible


dynamic cases, focusing on the estimation of the deficit of mass, alongside a
proper validation with experimental results. For this task, it is possible to
start by removing the hypothesis of reduced blade chord and simulating the
real MRL tidal turbine, keeping a two-dimensional mesh, to properly evaluate
the accuracy of power coefficient results with the experimental curve of the
machine.

• Perform a more in-depth evaluation of the overset method when applied to


compressible dynamic problems. For instance, with reference to the last case
study, it would be worth to simulate a real ICE cylinder to properly assess
the deficit of mass and computational time.

• Understand the influence of a tri-dimensional mesh on both accuracy of results


and deficit of mass and determine the effects of a further mesh refinement.

• Test other overset interpolation algorithms, or modify the already existing


ones, with the aim to minimize mass conservation issues.

• It would be interesting also to test other meshing utilities (e.g. cfMesh,


foamyHexMesh, SALOME, etc.) and other types of meshes (e.g. tetrahedral,
polyhedral, hybrid, etc.) and assess their effects on: mass conservation,
accuracy of the results, computational time and flexibility of component
meshes generation, with particular focus on the requirement of similar cell
size at the overset patch.

121
Bibliography

[1] Joseph L Steger, F Carroll Dougherty, and John A Benek. “A chimera grid
scheme.[multiple overset body-conforming mesh system for finite difference
adaptation to complex aircraft configurations]”. In: (1983) (cit. on pp. xvii,
25, 33).
[2] David A Boger, Ralph W Noack, and Eric G Paterson. “Dynamic overset
grid implementation in OpenFOAM”. In: submitted to the 5th Open-FOAM
Workshop, Chalmers, Gothenburg, Sweden, June. Vol. 21. 2010, p. 24 (cit. on
pp. xvii, 2, 117).
[3] Peter E Robins. “Influence of tidal energy extraction on fine sediment dynam-
ics”. In: 2nd Oxford Tidal Energy Workshop. 2013, pp. 18–19 (cit. on pp. xx,
3, 76, 91, 93, 118).
[4] Paul A Durbin and Gorazd Medic. Fluid dynamics with a computational
perspective. Cambridge university press, 2007 (cit. on pp. xxi, 70, 117).
[5] C Hirsch. “Chapter 6-structured and unstructured grid properties”. In: Nu-
merical Computation of Internal and External Flows. second ed. Butterworth-
Heinemann, Oxford (2007), pp. 249–277 (cit. on p. 1).
[6] Henk Kaarle Versteeg and Weeratunge Malalasekera. An introduction to
computational fluid dynamics: the finite volume method. Pearson education,
2007 (cit. on pp. 5, 12).
[7] Christopher J Greenshields. “OpenFOAM user guide”. In: OpenFOAM Foun-
dation Ltd, version 3.1 (2015), e2888 (cit. on p. 5).
[8] Pijush K Kundu, Ira M Cohen, and D Dowling. Fluid Mechanics 4th. 2008
(cit. on pp. 10, 13).
[9] YikLoon Lee and James Baeder. “Implicit hole cutting-a new approach to
overset grid connectivity”. In: 16th AIAA Computational Fluid Dynamics
Conference. 2003, p. 4128 (cit. on pp. 25, 42).
[10] Hrvoje Jasak. “Dynamic mesh handling in OpenFOAM”. In: 47th AIAA
Aerospace Sciences Meeting Including the New Horizons Forum and Aerospace
Exposition. 2009, p. 341 (cit. on p. 25).
[11] Hidajet Hadzic. Development and application of finite volume method for the
computation of flows around moving bodies on unstructured, overlapping grids.
Technische Universität Hamburg, 2006 (cit. on pp. 31, 32).
[12] Robert L Meakin. “Composite overset structured grids”. In: Handbook of Grid
Generation (1999), pp. 1–20 (cit. on p. 32).

123
Bibliography

[13] RF Warming and Richard M Beam. “On the construction and application of
implicit factored schemes for conservation laws”. In: 11 (1978), pp. 85–129
(cit. on p. 33).
[14] J Steger. “Notes on Composite Overset Grid Schemes–Chimera”. In: Dept.
Mech., Aero. and Mat. Eng., University of California, Davis (1992) (cit. on
p. 34).
[15] Ing-Tsau Chiu and Robert Meakin. “On automating domain connectivity for
overset grids”. In: 33rd Aerospace Sciences Meeting and Exhibit. 1995, p. 854
(cit. on p. 34).
[16] JA Benek et al. Chimera. A grid-embedding technique. Tech. rep. ARNOLD
ENGINEERING DEVELOPMENT CENTER ARNOLD AFB TN, 1986
(cit. on p. 40).
[17] Joe F Thompson, Bharat K Soni, and Nigel P Weatherill. Handbook of grid
generation. CRC press, 1998 (cit. on p. 45).
[18] B Mutlu Sumer et al. Hydrodynamics around cylindrical strucures. Vol. 26.
World scientific, 2006 (cit. on p. 54).
[19] Charles HK Williamson. “Oblique and parallel modes of vortex shedding in
the wake of a circular cylinder at low Reynolds numbers”. In: Journal of Fluid
Mechanics 206 (1989), pp. 579–627 (cit. on p. 56).
[20] Anatol Roshko. “Experiments on the flow past a circular cylinder at very high
Reynolds number”. In: Journal of fluid mechanics 10.3 (1961), pp. 345–356
(cit. on p. 56).
[21] Günter Schewe. “On the force fluctuations acting on a circular cylinder in
crossflow from subcritical up to transcritical Reynolds numbers”. In: Journal
of fluid mechanics 133 (1983), pp. 265–285 (cit. on p. 56).
[22] Andrea Berton, Fabrizio D’Orrico, and Matteo Sideri. “Overset grids for fluid
dynamics analysis of internal combustion engines”. In: Energy Procedia 126
(2017), pp. 979–986 (cit. on p. 95).

124

You might also like