Вы находитесь на странице: 1из 216

Martin Roth

ETH Zürich
Institute of Scientific Computing
Computer Graphics Group

Automatic Extraction of Vortex Core


Lines and Other Line-Type Features
for Scientific Visualization
Diss. ETH No. 13673

Hartung-Gorre Verlag Konstanz 2000


Reprint of Diss. ETH No. 13673

Selected Readings in Vision and Graphics – Volume 9


edited by Luc Van Gool
Gabor Szekely
Markus Gross
Bernt Schiele
examiner Markus Gross
co-examiner David Kenwright
Ronald Peikert

Die Deutsche Bibliothek - CIP Cataloguing-in-Publication-Data


A catalogue record for this publication is available
from Die Deutsche Bibliothek
(http://www.ddb.de)

Copyright © 2000 by Martin Roth


Erste Auflage 2000
HARTUNG-GORRE VERLAG KONSTANZ
ISSN 1439 - 5053
ISBN 3-90649-582-8
Diss. ETH No. 13673

Automatic Extraction of Vortex Core


Lines and Other Line-Type Features
for Scientific Visualization

A dissertation submitted to the


SWISS FEDERAL INSTITUTE OF TECHNOLOGY ZURICH
for the degree of
Doctor of Technical Sciences

presented by
Martin Roth
Dipl. Eng. CS, ETH
born January 24, 1968
citizen of Berken, BE, Switzerland

accepted on the recommendation of


Prof. Dr. Markus Gross, examiner
Dr. David Kenwright, co-examiner
Dr. Ronald Peikert, co-examiner

2000
Abstract

Abstract
Feature-based visualization deals with automatic detection of meaningful
patterns in data. Which patterns are considered important depends on the
domain and user requirements. Vortices are features of particular interest in
fluid flow data. Many different algorithms have been published to extract
vortices from flow data. Here, we focus on those detecting the center of the
vortex – the vortex core line.

This thesis examines existing extraction algorithms and analyzes their under-
lying definitions of a vortex. It proposes an elementary operation on a pair of
vector fields to be used as a building block for defining and computing glo-
bal line-type features of vector or scalar fields. All currently used definitions
for vortex cores can be expressed in the common language of this mathemat-
ical operator.
Broader categories of line-type features are also discussed: extremum lines
or loci of zero curvature in a vector field, and valley or ridge lines in a scalar
field. A hierarchy of feature definitions is formed and brings a common
structure to the various approaches. This context allows observing relations
between different feature definitions.

A general problem of first-order methods with curved feature lines is identi-


fied. We propose a new definition for vortex cores based on second-order
derivatives which better captures weak and curved vortices.

The common mathematical operator also allows us to implement extraction


algorithms for the various features by combining a few basic modules. This
approach permits interactive tests of existing or new feature definitions in a
modular visualization environment. The various vortex core methods are
applied to practical data sets, particularly from the field of hydraulic turbo-
machinery (water turbines and pumps).

ii
Zusammenfassung

Zusammenfassung
Merkmalbasierte Visualisierung beschäftigt sich mit der automatischen
Erkennung von bedeutsamen Mustern in Daten. Welche Muster dabei rele-
vant sind, hängt vom Anwendungsgebiet und den Anforderungen der Benut-
zer ab. Wirbel sind besonders interessante Merkmale von Strömungsdaten.
Viele verschiedene Algorithmen zum Extrahieren von Wirbeln aus
Strömungsdaten wurden schon publiziert. Wir beschäftigen uns hier mit den-
jenigen, welche das Zentrum eines Wirbels suchen – die Wirbelkern-Linie.

Diese Dissertation untersucht bestehende Algorithmen und analysiert die


unterliegenden Definitionen eines Wirbels. Sie schlägt eine elementare Ope-
ration auf zwei Vektorfeldern vor, welche als Baustein zur Definition und
Implementation von globalen, linienartigen Merkmalen von Vektor- und
Skalardaten dient. Alle gängigen Definitionen für Wirbelkerne können in der
gemeinsamen Sprache dieses mathematischen Operators ausgedrückt wer-
den.

Weitere Kategorien von linienartigen Merkmalen werden ebenfalls disku-


tiert: Extremallinien und Orte verschwindender Krümmung in Vektorfel-
dern, oder Tal- und Kammlinien in Skalarfeldern. Es wird eine Hierarchie
von Merkmaldefinitionen entwickelt, welche den verschiedenen Ansätzen
eine gemeinsame Struktur gibt. Dieser Zusammenhang erlaubt es, Beziehun-
gen zwischen verschiedenen Merkmaldefinitionen zu erkennen.

Ein generelles Problem von Methoden erster Ordnung mit gekrümmten


Merkmalen wird erläutert. Wir schlagen eine neue Definition für Wirbel-
kerne vor, welche auf zweiten Ableitungen basiert und schwache,
gekrümmte Wirbel besser erfasst.

Der gemeinsame mathematische Operator erlaubt es uns auch, Extraktions-


Algorithmen für die verschiedenen Merkmale durch Zusammensetzen eini-
ger weniger Grundmodule zu implementieren. Dieser Ansatz erlaubt einfa-
ches interaktives Testen von bestehenden oder neuen Merkmaldefinitionen
in einem modularen Visualisierungs-System. Die verschiedenen Wirbelkern-
Definitionen werden auf reale Datensätze angewandt, hauptsächlich aus dem
Gebiet der hydraulischen Turbomaschinen (Wasserturbinen und -pumpen).

iii
About the Author

About the Author


Martin Roth received the master’s degree in computer science (Dipl. Infor-
matik-Ing. ETH) from the Swiss Federal Institute of Technology (ETH) in
Zurich, Switzerland, in 1992. Since then, he worked on scientific visualiza-
tion in the Interdisciplinary Project Center for Supercomputing (IPS), which
was later integrated into the Swiss Center for Scientific Computing (SCSC).
When SCSC’s research section was dissolved in 1999, his position was
transferred to the Computer Graphics Group in the Institute of Scientific
Computing. His main research area has been feature-based flow visualiza-
tion for turbomachinery flow simulations.

iv
Table of Contents

Table of Contents

1 Introduction. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1
Overview of the structure of this text ................................................................................................ 1
Project history and time-line............................................................................................................. 2
Acknowledgments.............................................................................................................................. 3

2 Flow Visualization Basics . . . . . . . . . . . . . . . . . . . . . . . . .5


2.1 Scientific Visualization ..................................................................................5
Grid types .......................................................................................................................................... 6
Visualization pipeline........................................................................................................................ 7
Modular visualization environments................................................................................................. 7
2.2 Basic Flow Visualization Techniques............................................................9
2.2.1 Arrows and Other Point Icons ................................................................................ 9
2.2.2 Streamlines and Related Techniques .................................................................... 10
2.2.3 Texture Methods................................................................................................... 14
2.3 Feature-Based Visualization ........................................................................15
2.4 Topology of Vector Fields ...........................................................................18

3 Line-Type Features: The State of the Art . . . . . . . . . . .23


3.1 Types of Features .........................................................................................23
Localizability...................................................................................................................................23
Dimensionality ................................................................................................................................23
Local, global and set features .........................................................................................................24
3.2 Vortices in Fluid Flow .................................................................................25
Lack of a proper definition..............................................................................................................25
Linear flow fields.............................................................................................................................27
A simple vortex model: solid body rotation ....................................................................................28
The potential vortex.........................................................................................................................28
More elaborate vortex models ........................................................................................................30

v
Table of Contents

3.3 Region-Type Vortex Definitions................................................................. 31


3.3.1 Threshold on Vorticity Magnitude........................................................................31
3.3.2 Threshold on Pressure ...........................................................................................32
3.3.3 Threshold on Helicity............................................................................................33
3.3.4 Positive Second Invariant of Jacobian ..................................................................35
3.3.5 Lambda2............................................................................................................................................. 36
3.3.6 Set-Concept by Portela..........................................................................................36
3.3.7 Shortcomings of All Surface Methods..................................................................37
3.4 Line-Type Definitions of the Vortex Core .................................................. 38
3.4.1 Streamlines from Critical Points ...........................................................................39
3.4.2 Curvature Center Density......................................................................................40
3.4.3 Levy/Degani/Seginer.............................................................................................42
3.4.4 Banks/Singer .........................................................................................................43
3.4.5 Sujudi/Haimes .......................................................................................................44
3.4.6 Miura/Kida ............................................................................................................47
3.4.7 Strawn/Kenwright/Ahmad ....................................................................................49
3.5 Flow Attachment and Detachment .............................................................. 50
3.6 Rigdes and Valleys ...................................................................................... 52
3.6.1 Geomorphology (Topography) .............................................................................52
3.6.2 Image Processing and Computer Vision ...............................................................54
Different usage of the term ridge in differential geometry..............................................................54

4 Parallel Vectors . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55
4.1 Definition..................................................................................................... 55
4.2 Selection Criteria......................................................................................... 56
4.2.1 Feature Strength ....................................................................................................57
Vortex strength ................................................................................................................................57
4.2.2 Feature Quality – Angle Criterion.........................................................................59
4.3 Implementation............................................................................................ 60
4.3.1 Iso-Surface Intersection ........................................................................................62
4.3.2 Iterative Method on Grid Faces.............................................................................63
Connecting points to lines ...............................................................................................................64
An alternative connection algorithm...............................................................................................65
4.3.3 Analytic Method for Triangular Faces..................................................................66
4.3.4 Curve-Following Algorithms ................................................................................68

vi
Table of Contents

5 Analysis of Line-Type Features . . . . . . . . . . . . . . . . . . .71


5.1 General Observations on Vortex Core Lines ...............................................71
Conflicting definitions.....................................................................................................................71
Basic assumptions ...........................................................................................................................71
Fundamental properties ..................................................................................................................72
Galilean invariance.........................................................................................................................72
Vector scaling invariance ...............................................................................................................74
5.2 Analysis and Generalization of Existing Methods.......................................74
5.2.1 Levy/Degani/Seginer ............................................................................................ 74
5.2.2 Banks/Singer......................................................................................................... 77
5.2.3 Generalization: Sectional Extrema of Arbitrary Scalar ........................................ 78
5.2.4 Strawn/Kenwright/Ahmad.................................................................................... 79
5.2.5 Sujudi/Haimes ...................................................................................................... 80
Correctness in linear flow fields .....................................................................................................81
5.2.6 The Loci of Zero Curvature.................................................................................. 82
5.2.7 Flow Attachment and Detachment Using Parallel Vectors .................................. 82
Bifurcation lines ..............................................................................................................................84
5.2.8 Ridge and Valley Lines ........................................................................................ 85
5.2.9 Miura/Kida............................................................................................................ 87
5.3 Systematic Overview ...................................................................................88

6 Enhancing Vortex Core Methods. . . . . . . . . . . . . . . . . .93


6.1 Displacement Problem of First-Order Methods...........................................93
6.1.1 Mathematical Model of Curved Vortex................................................................ 93
6.1.2 Model of a Valley Whose Valley Line is not a Slope Line .................................. 96
6.1.3 Model of a Vortex Whose Core Line is not a Streamline .................................... 99
6.2 Second-Order Method for Vortex Cores....................................................101
6.2.1 Definition............................................................................................................ 102
Application to direction fields.......................................................................................................104
6.2.2 Discussion........................................................................................................... 105
6.3 Calculation of Derivatives and Numerical Errors......................................106
Numerical calculation of first derivatives.....................................................................................106
Calculating higher-order derivatives............................................................................................107
Numerical errors of calculating derivatives .................................................................................108
Numerical errors in the complete vortex core line algorithm....................................................... 110
Significance of methodical errors compared to numerical errors................................................113
6.4 Finding Vortex Regions Based on Core Lines...........................................116

vii
Table of Contents

7 Application to Practical Flow Data . . . . . . . . . . . . . . . 119


7.1 Draft Tube of Francis Turbine with Swirling Flow .................................. 119
7.2 Selected Vortex in a Francis Turbine Runner ........................................... 123
7.3 Francis Turbine Runner............................................................................. 126
7.4 Stator of Pump-Turbine............................................................................. 129
7.5 Evaluation.................................................................................................. 131

8 Conclusions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 133
8.1 Contributions ............................................................................................. 133
8.2 Future Research Directions ....................................................................... 134
Integration of feature-based techniques into a visualization system ............................................134
Virtual reality visualization systems..............................................................................................134
Enhancing and automating other visualization techniques ..........................................................134
Finding better definitions for a vortex ..........................................................................................135

viii
Table of Contents

Appendix

A Mathematics of Vector Fields. . . . . . . . . . . . . . . . . . . .137


A.1 Notation......................................................................................................137
A.2 Basic Operations ........................................................................................138
Products ........................................................................................................................................138
First-order derivatives (gradient, Jacobian, Nabla).....................................................................138
Basic quantities derived from first-order derivatives: divergence, curl, vorticity........................139
Second-order derivatives (Hessian, tensors, Laplacian) ..............................................................140
Convective derivative D/Dt ...........................................................................................................141
A.3 Selected Topics in Linear Algebra.............................................................142
Invariants, eigenvalues and eigenvectors .....................................................................................142
Analytical calculation of eigenvalues ...........................................................................................143
A.4 Some Advanced Derived Fields.................................................................145
Acceleration ..................................................................................................................................145
Curvature ......................................................................................................................................145
Jerk................................................................................................................................................147
Torsion .......................................................................................................................................... 147
A.5 A Word on Non-Degenerate Fields ...........................................................148
A.6 Some Vector Field Identities......................................................................149
Identities for products ...................................................................................................................149
Definitions of differential operators.............................................................................................. 149
Identities for differential operators ...............................................................................................149
Identities involving matrices .........................................................................................................151

B Introduction to Fluid Dynamics. . . . . . . . . . . . . . . . . .153


B.1 Idealized Fluid............................................................................................153
B.2 Equation of Continuity (Conservation of Mass) ........................................153
Incompressible fluid ......................................................................................................................154
B.3 Euler Equation (Inviscid Flow)..................................................................155
B.4 Navier-Stokes Equation (Viscous Flow)....................................................155
Reynolds number ...........................................................................................................................157
B.5 Some Remarks on Numerics......................................................................158
Turbulence model.......................................................................................................................... 158
Boundary conditions ..................................................................................................................... 158
Solvers ...........................................................................................................................................159
Grid generation .............................................................................................................................160

ix
Table of Contents

C Turbomachinery Basics . . . . . . . . . . . . . . . . . . . . . . . . 163


3.1 Introduction ............................................................................................... 163
3.2 Hydraulic Turbines And Pumps ................................................................ 164
Structural elements of a hydraulic turbomachine .........................................................................166
Kaplan turbines .............................................................................................................................169
Francis turbines ............................................................................................................................170
Pelton turbines ..............................................................................................................................171
Turbulence and cavitation.............................................................................................................173
3.3 Design of Water Turbines ......................................................................... 175
3.4 Industrial Turbomachinery Design............................................................ 176
Numerical test stand......................................................................................................................177
Existing CFD flow visualization tools...........................................................................................178
3.5 Specific Issues of Turbomachinery Flow Visualization............................ 180
Single-block data and rotational symmetry...................................................................................180
Multiple moving zones...................................................................................................................181
Multi-block data structures ...........................................................................................................182

D AVS Parallel Vectors Module Library . . . . . . . . . . . . 185

E Equation for Bent Helical Flow Field . . . . . . . . . . . . . 187

F Color Figures. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 191

G References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 195
G.1 Web Site References ................................................................................. 195
G.2 Literature ................................................................................................... 195

H Index . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 203

x
1 Introduction

1 Introduction

During recent years, feature extraction techniques have become increasingly interesting as a
complementary way to visualize scalar and vector fields. This research was sparked by a prac-
tical problem: finding the foundations for a feature-based visualization of CFD (Computational
Fluid Dynamics) data of turbomachinery simulations, in particular the automatic detection of
vortices in such data. In the process of trying to understand the essence of different previously
published methods, a mathematical basis was uncovered. This mathematical framework allows
us to better describe the underlying definitions of existing methods and reveal relations between
them. When looking at other areas which make use of line-type features, we found that these
can also be expressed in the same mathematical language, and that they also can be related to
specific vortex core methods. Results of the analysis of existing methods have been used to pro-
pose a new definition of a vortex core line, which in particular is able to handle weak and curved
vortices better. Finally, the mathematical framework has been used to implement a modular
environment in which various existing and new definitions for line-type features can be imple-
mented by simply combining existing modules, with no or only minimal programming effort.

Overview of the structure of this text


This document is organized as follows: In the first chapter after this introduction, we cover the
context of scientific visualization in general, with flow visualization and feature-based visual-
ization in particular. While it is out of the scope of this text to present a thorough introduction
to scientific visualization, we give a brief overview of the relevant techniques in this field and
point to many other publications for details or foundations.
Chapter 3 describes the state of the art regarding line-type features. In particular, we will sum-
marize many published methods to find vortex cores and other feature lines, and refer to the
respective publications.
We introduce the parallel vectors operator and examine its basic properties in chapter 4. The
operator leads to a framework for the definition of line-type features. We also propose and dis-
cuss different methods for its implementation.
Chapter 5 applies this mathematical operator, analyzes and discusses the different existing
methods for identifying vortex cores as well as some other applications of line-type features.
We demonstrate here how this common mathematical formulation can be used to more easily
understand the similarities and differences of the various methods.

1
1 Introduction

In chapter 6, we look at the problems arising with curved features. We show that first-order
methods have substantial problems with curved features, and propose and discuss a second-
order method for the vortex cores application. We discuss the calculation of derivatives and
numerical errors occurring in this calculation and in the overall vortex core detection algorithm.
Finally, we discuss how a vortex hull surrounding the core line can be found.
We apply the vortex core methods to various application data sets in chapter 7 and examine the
performance of the different feature definitions for practical flow data, mainly from the field of
turbomachinery.
Finally, chapter 8 recounts the contributions of this research and presents some ides for future
work and research projects.
Appendix A contains an introduction to the mathematics of scalar and vector fields as used
throughout this text and presents the notation we use. For readers not familiar with vector fields
and their operators such as gradient, Jacobian or Hessian, or basic fluid dynamics quantities
such as vorticity and helicity, we suggest reading the two short section A.1 and A.2 first.
Appendix B lists the main equations of fluid dynamics and contains some basic remarks on CFD
solvers, in order to understand how most of the flow data we visualize was generated.
Appendix C introduces our main field of application, the design of turbomachinery. A brief
overview of turbines and pumps is given, and we discuss some specific issues with this appli-
cation area which are often not addressed within existing visualization systems.
Appendix D documents our implementation of the line-feature framework as a set of AVS 5
modules. Appendix E is a printout of a Maple sheet used to derive a formula in chapter 6.
Finally, appendix E contains the color pages and appendix G lists all references.

Project history and time-line


This research project grew out of a long collaboration between the visualization group of the
Interdisciplinary Project Center for Supercomputing (IPS) of ETH Zurich with other institutes
of ETH and, in particular, with our industry partner Escher Wyss / Sulzer Hydro. Before the start
of this research project, we focussed mainly on providing visualization services, often in the
form of a video sequence, and on development of an integrated software for the visualization of
turbomachinery data [119].
This research project was funded by CTI (Commission for Technology and Innovation, Swiss
Federal Administration) and Escher Wyss / Sulzer Hydro, under the projects CTI No. 2974.1
(first three years, April 1995-1998) and No. 3744.1 (prolongation, April 1998 to April 2000).

2
1 Introduction

During this time, the IPS was integrated into the Swiss Center for Scientific Computing (SCSC/
CSCS) of ETH Zurich in 1996, and later dissolved and the scientific visualization positions
reassigned to the Computer Graphics Group of the Computer Science Department in 1999.
In 1995 and 1996, the main work consisted in finding, reading about, studying, implementing,
and testing existing methods for finding vortex cores in flow data. This lead to the publication
of a case study at IEEE Visualization in 1996 [120]. Subsequently, we focussed on the problems
of curved vortices and developed the higher-order method presented at IEEE Visualization in
1998 [121]. In 1998 and 1999, we found that the same mathematical fundamentals apply to a
broader class of applications, so we learned more about valley and ridge lines and other appli-
cations such as detachment and attachment lines. We proposed the parallel vectors operator as
a basic tool for defining line-type features in a IEEE Visualization paper in 1999 [105], and pub-
lished an AVS 5 implementation of this framework.

Acknowledgments
I’d like to take the opportunity to express my sincere gratitude to all the people that generously
gave me their support and advice.
I especially have to thank
• first and foremost, Ronny Peikert for the pleasant and fruitful collaboration during all the
years. He also worked as co-advisor of this thesis and, being the first to read the draft,
ironed out most of the mistakes.
• all the people at Escher Wyss / Sulzer Hydro, but especially Andreas Sebestyen, Peter
Drtina and Mirjam Sick for supporting this work and providing the challenging real-world
application leading to this research project.
• my advisor Markus Gross for his support, advice and valuable suggestions. His keen eye
spotted even the most hidden inconsistencies, such as three different uses of the same vari-
able name in spite of the more than twenty pages between each occurrence.
• David Kenwright, my second co-advisor, from the Numerical Aerospace Simulation Facil-
ity (NAS) at NASA Ames Research Center (Moffet Field, CA) and since recently at MIT
(Boston), for his support, suggestions and genuine interest.
• Philippe de Forcrand, Wesley Petersen, Martin Gutknecht and all other former co-workers
of the Interdisciplinary Project Center for Supercomputing (IPS), later part of the Swiss
Center for Scientific Computing and finally scattered in various departments, for an inspir-
ing and truly interdisciplinary work environment.
• Christian Mielke from the Institute of Fluid Dynamics, for some interesting discussions and
especially for pointing us to papers on the Lambda2 and Miura/Kida methods.
• last but not least my girlfriend Chantal for becoming my wife and, by accepting a position in
San Diego, ensuring that this thesis got written on time as planned.

3
1 Introduction

4
2 Flow Visualization Basics

2 Flow Visualization Basics

In this chapter, we will give an overview of the field of scientific visualization, with particular
focus on flow visualization and feature-based techniques.

2.1 Scientific Visualization


9LVXDOL]DWLRQ means making things visible, and visualization in general is concerned with pro-
viding visual ways to understand something that under normal circumstances can not directly
be seen. Injecting smoke in a wind tunnel to visualize fluid flow, slowing time down by means
of high-speed cameras to study very fast processes or producing a schematic that represents
some abstract model are all examples of visualization.
In this text, when we talk about visualization, we restrict ourselves to the visualization of data
stored in a computer. Visualization as a sub-field of computer graphics is concerned with algo-
rithms, programs, techniques and systems that produce images, with the goal of exploring and
understanding some data set.
The field of visualization in computer graphics was outlined in [93]. It can further be subdivided
into two almost disjoint fields:
• ,QIRUPDWLRQYLVXDOL]DWLRQ is concerned with discrete data, often of very high dimensional-
ity. It depicts properties of a usually large but finite number of data items. A typical example
would be the sales records of a company: there is a large number of sale events with many
potential attributes to look at, but each data item stands alone.
• 6FLHQWLILF YLVXDOL]DWLRQ, on the other hand, deals with continuous data, typically of low
dimensionality (2D to 4D). While for practical purposes such data is usually sampled on a
discrete set of locations, the data represents a continuous field. A typical example is the
temperature at a set of locations: what is to be visualized is not the collection of measure-
ments but the continuous temperature field they represent. In some cases, the continuous
data may contain discontinuities (such as shocks).
Of course, sometimes the two fields can not be clearly separated; some books on scientific visu-
alization such as the Scientific Visualization [99] or Visualization in Scientific Computing [98]
do not make this distinction. Textbooks which focus on scientific visualization according to
above definition are for example Earnshaw and Wiseman [38], Brodlie [18] and Rosenblum
[118].

5
2 Flow Visualization Basics
2.1 Scientific Visualization

Grid types
It is very rare that fluid dynamics results to be visualized can be given as an analytical formula.
Usually, the continuous field has been discretized to a collection of samples called QRGHV, usu-
ally forming a JULG. There are two basic types of grids (see Fig. 2.1): an XQVWUXFWXUHGJULG con-
sists of an unordered collection of sample points called nodes, connected by (usually hexahedral
or tetrahedral) cells; this data type stores a list of nodes with their position and field data, and
an explicit list of cells, which enumerates the nodes that form the cell. A VWUXFWXUHGJULG on the
other hand consists of a (usually 2D or 3D) array of nodes, forming quadrilateral or hexahedral
cells whose node connectivity is implicitly defined by the node indices.
There are some special cases, most notably XQLIRUPJULGV, which consist of a regular sampling
along orthogonal directions. This is the easiest type of grid to handle and can be applied where
the whole space can be sampled uniformly without taking special care of domain boundaries.
For typical simulations however, the grid boundaries are very important and need to follow a
given, often complex, geometry.

uniform grid

unstructured grid structured grid

hybrid grid hierarchical grid multiblock grid

Fig. 2.1: Illustration of some grid types.

Some advanced grid types can be formed by combining several basic grids: if the grid uses both
structured and unstructured parts, resulting in an unstructured grid with mixed cell types, it is
called a hybrid or “zoo” grid. In a hierarchical grid, a structured grid is locally refined by sub-
division in the manner of quadtrees or octrees. A multi-block grid combines a list of large
unstructured hexahedral blocks with a structured grid refining each of the blocks. If the domains

6
2 Flow Visualization Basics
2.1 Scientific Visualization

of some the blocks overlap such that some regions are covered by multiple grids, the grid is
called a Chimera or overset grid.
More on the various grid types and on the generation of these grids can be found in Nielsen et
al. [99]. It is also notable that some simulations model a continuous field by a large number of
discrete particles without having to specify an underlaying grid. For visualization, a grid struc-
ture is usually added (for example by building a Delaunay tetrahedrization), and the data is
treated as an unstuctured grid.

Visualization pipeline
The process of obtaining an image from a data set can be coarsely structured according to the
basic YLVXDOL]DWLRQSLSHOLQH, four stages of transformations of the original data leading to the
final image:
• GDWDLQSXW: in this stage, a data set is read in or generated. The output of this stage is the
original field data in the form of a grid.
• ILOWHULQJ: several filters may act on the data, for example by calculating derived fields, or
sampling a 2D slice from a 3D grid. Typically, both the input and output are grids.
• PDSSLQJ: the grid data is somehow transformed into geometrical primitives. This is the
main visualization step which converts the data into a collection of triangles, lines, points or
icons.
• UHQGHULQJ: an image is finally generated by rendering the geometrical primitives according
to a particular computer graphics model, most often a polygon rendering as supported in
hardware by today’s workstations.
Most algorithms specific to scientific visualization are in the mapping stage. The most promi-
nent visualization algorithm is Marching Cubes [83], which is an approximation of an iso-sur-
face (the surface where a scalar value of a 3D field has some prescribed constant value). Other
visualization techniques include scatter plots, contour plots, arrow plots, height field represen-
tation, icons, or direct volume rendering techniques; details can be found for example in Brodlie
[18].

Modular visualization environments


A visualization software system general enough to handle many different fields of application
needs a very rich and complex user interface in order to handle the their diverse requirements.
Fortunately, visualization lends itself to a modularization. A relatively limited set of data types,
such as the various grid types and a geometry type, allows visualization algorithms to be imple-
mented as small functional units. Each of these modules works on a set of input data sets of

7
2 Flow Visualization Basics
2.1 Scientific Visualization

specified types, and outputs another set of data. A typical filter module would read a field and
produce another field, while a typical mapper reads a field and produces some geometry.
0RGXODUYLVXDOL]DWLRQHQYLURQPHQWV (MVEs) are software systems which support building a
visualization by combining functional modules working on a common set of data types. Many
such systems have a visual programming language to let users combine existing modules
dynamically without any programming. Most allow to write additional modules for use within
the system; it is usually necessary to program an own module to read a proprietary data format,
apply a specific filter that can not be built using existing modules, or for adding visualization
techniques which are not provided with the system or do not work on a particular data type.

Fig. 2.2: Example of an AVS 5 module network.

A typical example of such a system is AVS 5 (Advanced Visualization System, [1], Fig. 2.2), in
which we did most of our applications and research. The system was the clear market leader
some years ago and provides a stable platform for both production of and research in scientific
visualization.
Examples of competing MVE systems are AVS 5’s successor AVS/Express, IBM’s Data
Explorer [3] or NAG’s Iris Explorer [4]. There are also some non-commercial projects for
MVE’s, most notably the open source vtk [7], which comes in source code with the vtk book
[131]. Recently, in addition to AVS 5, we started using the newly commercialized MVE Covise
[5], mainly because of its support for virtual reality systems such as the VisDome [6] at ETH.
For CFD visualization, many specialized visualization programs have been developed, such as
FAST (by NASA and Sterling Software), Fieldview (by Intelligent Light), Ensight (by Compu-
tational Engineering International), Tecplot (by Amtec Engineering) or Visual3 and pV3 (MIT).

8
2 Flow Visualization Basics
2.2 Basic Flow Visualization Techniques

2.2 Basic Flow Visualization Techniques


After this primer on scientific visualization, we will now discuss the particular visualization
techniques used to display flow fields or other vector fields. Again, this section is not meant to
be a thorough introduction to flow visualization, it only presents an overview and refers to other
publications for details and advanced topics. A good introduction to all the topics mentioned
here is given by Post and Van Walsum in [111]. In the following, the vector field v will always
be the vector field to be visualized; most often, v is the velocity of a fluid. The vector field is
defined in an nD euclidean space x. Basics on the mathematics of vector fields and the notation
used here can be found in appendix A.
In order to study a flow, one does not always have to visualize a vector field: scalar fields such
as pressure, density or temperature can be used for visualization. Scalar fields can also be
derived from a vector field (e.g. helicity, vorticity magnitude). In this case, all the visualization
techniques for scalar fields like iso-surfaces, contour plots, or volume rendering can be applied.
We deal here only with visualization techniques which actually try to depict the vector informa-
tion directly.

2.2.1 Arrows and Other Point Icons


The most basic flow visualization technique is to draw a set of DUURZV indicating the flow direc-
tion. Arrow plots are widely used for depicting 2D flows. Yet, they soon lead to a cluttered
image when too many arrows are used. If on the other hand only few arrows are used, it is dif-
ficult to perceive a continuous flow field (see Fig. 2.3).

Fig. 2.3: Arrow plots (left: proportional to speed, right: normalized arrow length).

The arrow is just a simple example of an icon, which displays some local properties of the flow
(direction and speed) at the position where it is drawn. Since the representation of an arrow
occupies a large space compared to its reference location, the arrows can cross each other (Fig.

9
2 Flow Visualization Basics
2.2 Basic Flow Visualization Techniques

2.3, left). Especially when the speed and thus arrow length varies significantly, it can be impos-
sible to choose a scaling such that the direction of smaller arrows is still visible while avoiding
clutter by crossings. This particular problem can be solved by drawing all arrows at constant
length, such that only direction is represented (Fig. 2.3, right). While widely used for simple
visualization, arrows are often not a good representation for a continuous vector field, especially
in 3D. Since in a static image of 3D arrows, one only sees a particular projection, 3D arrow plots
can even be misleading. In addition, artefacts may appear in the visualization due to the regular
placement of arrows; this is addressed by randomizing the arrow placement [37].

Fig. 2.4: The flow probe point icon by De Leeuw [30], depicting local values of velocity,
curvature, helicity, shear, divergence and acceleration.

In [33], De Leeuw and Van Wijk extend the simple arrow icon to a complex icon for probing a
flow field (Fig. 2.4). It incorporates graphical elements depicting local flow direction, curva-
ture, vorticity, shear and divergence. Such point icons are most efficient when they can be used
interactively, or when the icons are placed automatically at points of special interest, such as
critical points - this will be covered below in the section on feature-based visualization.

2.2.2 Streamlines and Related Techniques


Streamlines and other integral lines are most often used for flow visualization. A VWUHDPOLQH of
the vector field v is a curve x ( t ) parametrized by time t, which solves

dx ( t )
------------- = v ( x ( t ) ) (2.1)
dt
This mandates that the curve is everywhere tangent to the vector field. In order to calculate a
particular streamline, a start point x ( 0 ) has to be chosen as an initial condition to (2.1). The
streamline can then be integrated forward and/or backward from this seed point. In Fig. 2.5
(left), streamlines have been started from the regions along the top and left borders, where the
flow enters the depicted domain.

10
2 Flow Visualization Basics
2.2 Basic Flow Visualization Techniques

Fig. 2.5: Streamlines (left) and arrow plot (right) of 2D slice of flow
in a reversible turbine in pump mode.

In numerical data, simple explicit schemes such as Euler or Heun (a Runge-Kutta method of
second order) are usually applied for this integration. Discussion of basic streamline integration
algorithms can be found in Neeman [97], a discussion of the different kind of numerical errors
in typical CFD visualization algorithms are examined by Buning [20]. While integrating in
physical space is straightforward, finding the location in a structured or even unstructured or
multiblock grid is tricky. Usually, the stencil walk algorithm (described for example by Buning
[21]) is used to find the position in computational space given a position in physical space.
Sadarjoen et al. [124] compares different integration schemes. For structured grids and the con-
text of turbomachinery, an integration in computational space as described in [104] allows to
handle the no-slip boundary conditions such that particles do not exit through or stick at solid
boundaries.
If the flow field is time-dependent, one has to discern between (instantaneous) VWUHDPOLQHV,
(everywhere tangent to the vector field at one given instant), SDWKOLQHV (the actual path taken
by a particle released at a particular location and time), and VWUHDNOLQHV (the line formed when
releasing a constant stream of particles at a particular location). An overview is given by Mal-
linson [89]; a comparison of some integration algorithms with special focus on particle paths in
time-dependent flow fields can be found in [28] or [146]. In our work, we will consider steady
flow fields only, and deal with time-dependent flows by interpreting them as a sequence of
instantaneous flow fields (ignoring the temporal derivatives), handled independently. For
steady flow fields, streamlines, pathlines and streaklines are all the same and will simply be
called streamlines.
Depicting the flow with streamlines conveys more of the continuous nature of the flow field to
the observer. As can be seen in Fig. 2.5 (left), streamlines tend to result in a very uneven distri-
bution, even if started on regular locations at all inflow boundaries: streamlines accumulate in
some regions while avoiding others, such as the vortex region in the above image. This problem

11
2 Flow Visualization Basics
2.2 Basic Flow Visualization Techniques

has been addressed by Turk and Banks [153] with an automatic method to globally optimize the
choice of streamline seed points and integration length in order to produce a picture with an
even distribution of streamlines. In a similar vein, Telea and Van Wijk [147] try to find the n
“best” streamlines to illustrate the vector field, using an optimization method.

Fig. 2.6: Stream ribbons (left) and tubes with candy stripes (right) both
visualize a streamline with the local rotation around it.

Streamlines have been extended in many ways. 6WUHDPULEERQV [27] and candy-striped WXEHV
are able to show the local rotation of the flow at the streamline graphically (Fig. 2.6). Stream
tubes may also vary their diameter to visualize diffusion [88].

Fig. 2.7: Stream surface. Grid shown to illustrate insertion of new streamlines
(after triangles) and ripping of the surface at an obstacle (turbine blade)

Another extension replaces isolated start points by polylines. The collection of streamlines
spawned from a line form a surface, called a VWUHDPVXUIDFH [57, 58, 112]. In order to calculate
a stream surface numerically, it is necessary to add new streamlines where the flow locally
diverges. In Fig. 2.7, an additional streamline is inserted where triangles appear in the stream

12
2 Flow Visualization Basics
2.2 Basic Flow Visualization Techniques

surface grid. It is also necessary to allow the surface to divide in front of an obstacle (turbine
blade in Fig. 2.7). 6WUHDPIXQFWLRQV [164] can be used alternatively to calculate streamlines
[39, 42, 70, 75] and stream surfaces [156]. On the question whether there is a special stream
surface, Cai and Heng [23] defined a 3ULQFLSDO6WUHDP6XUIDFH (PSS), where the streamlines
are geodesic lines of the PSS. However, Peikert [106] showed that PSS can only exist when the
field of the streamlines’ principal normals has zero helicity, which is not true for general 3D
flows. When stream surfaces are started from closed curves, the resulting stream surface bounds
a IORZYROXPH [91].

Fig. 2.8: Flow volume (bounded by dark surface) and stream surface (light surface)
depicting separation at a stay vane. See Color Figure 1 on page 191.

Streamlines have also been implemented for hierarchical multiblock grids by Grosso et al. [43].
6XUIDFH SDUWLFOHV [141,155] are particles advected by the flow which carry a given normal.
They allow a variety of effects such as approximating stream surfaces. In Hin and Post [54] and
Hin [52], particle path integration is augmented by incorporating a VWRFKDVWLFSHUWXUEDWLRQ
according to the local turbulence. In a similar intent, Ma and Smith [87] incorporate GLIIXVLRQ
into the display of a vector field and renders the particle flow as a smoke. Particles with normal
information can be used to represent stream surfaces and other particular surfaces. Streamlines
have also been extended to K\SHUVWUHDPOLQHV for visualizing symmetric second-order tensors
by Delmarcelle and Hesselink [35]. Only recently has a method been published to properly illu-
minate lines by clever use of texture hardware [167], which particularly benefits the display of
bundles of streamlines in 3D.

13
2 Flow Visualization Basics
2.2 Basic Flow Visualization Techniques

2.2.3 Texture Methods


The publication of /LQH,QWHJUDO&RQYROXWLRQ (LIC) [22] represented a novel and important
method to display vector fields, especially in 2D. A noise image is smoothed along streamlines,
resulting in a picture where streamlines are visible as streaks (Fig. 2.9). The method has
spawned many improvements, most notably a faster implementation [140] and an implementa-
tion for unstructured grids [12, 66]. While in principal, LIC can be applied directly for 3D flow
fields [61, 62] using volume rendering techniques, this has hardly been used in practical visual-
izations and results in an image that is very difficult to interpret.

Fig. 2.9: Line Integral Convolution (LIC) image of 2D flow in the stator of a pump-turbine
in pump mode (reversed); main flow direction is from lower left to upper right.

Max et al. [92] use moving cloud textures to depict wind. Other texture methods are 7H[WXUH
6SODWV [26] and 6SRW1RLVH [154], which have been improved and applied by De Leeuw in [30,
31, 32]. Recently, LIC has been extended to a more general anisotropic nonlinear diffusion by
Preusser and Rumpf [113].
In summary, texture methods have proven very successful in the display of 2D vector fields.
They are able to present in a grayscale picture both an overview and many details of the flow,
leaving color (hue) to display some additional scalar such as speed or pressure. In 3D, the result-
ing volume image is too confusing to be useful for visualization of general flow fields in their
entirety.

14
2 Flow Visualization Basics
2.3 Feature-Based Visualization

2.3 Feature-Based Visualization


In 3D, streamlines and related techniques are the only classical techniques to efficiently present
particular effects in a flow. However, finding appropriate starting points requires significant
user effort and time. )HDWXUHEDVHG YLVXDOL]DWLRQ aims at making the visualization process
more efficient by focussing on the effects or events the user is interested in. In feature-based
visualization, an automated analysis step is added to the normal visualization pipeline. This
analysis is performed directly on the data set in question, resulting in a set of features which are
typically represented as icons at the location of the feature.
Research on feature-based visualization aims at providing meaningful visualization techniques
that are semi-automatic and need less user time and no a-priori knowledge of the places to look
for interesting effects. A IHDWXUH is defined in this context as anything contained in the data set
that might be of interest for interpretation. The vagueness of the definition is deliberate, as the
nature and type of features vary strongly with the application area, the measurement or simula-
tion methods, the phenomena studied, and the aim of the research.
A feature-based data representation is a high-level data description that can replace the original
representation in a more compact, clear, and meaningful manner. Important characteristics are
extracted for further analysis and for emphasis in visualization. The goals are to reduce com-
plexity, to increase information content, and to match the concepts of the application area.
Feature-based visualization has been recognized as an area requiring further research already in
the 1993 book by Rosenblum et al. [118]. In the meantime, the demand for feature-based tech-
niques has even been growing, especially with the growth of the simulation data sets. In fluid
dynamics, the size of data sets explodes with the wider adoption of time-dependent simulation,
which represents an increase in resulting data of several orders of magnitude over a steady sim-
ulation. Only a few groups have been actively pursuing research in feature-based visualization.
The most prominent example of a feature-based technique is the extraction of FULWLFDOSRLQWV
from flow fields. A critical point is a point x where v ( x ) = 0 . The flow in the vicinity of crit-
ical points can be classified into basic patterns. In 2D, the fundamental (non-degenerate) pat-
terns are focus, node and saddle. Such a classification of 3D flow patterns is the subject of
Chong, Perry and Cantwell [24], Tobak and Peake [151], Perry and Chong [108, 109], Soria and
Cantwell [139] or Hunt et al. [59].
For visualization, critical points can be represented by an icon: Hesselink et al. [51], Globus et
al. [41], Happe and Rumpf [44]. Critical points also give rise to vector topology, which is dis-
cussed in the following section 2.4.
A critical point is an example of a SRLQWIHDWXUH. There are also OLQH, VXUIDFH and UHJLRQ (or
volume) IHDWXUHV (classification of Delmarcelle and Hesselink [36]). In this work, we focus

15
2 Flow Visualization Basics
2.3 Feature-Based Visualization

mainly on line features such as vortex cores. An example for a surface feature is a shock front
[102] in supersonic flow (a surface discontinuity in pressure). Many publications define a fea-
ture simply as a region bounded by some implicit surface f ( x ) = 0 , e.g. Silver [134]. For
example, as a definition of a vortex region, many people use a threshold of vorticity magnitude
ω threshold , in which case the implicit surface bounding the volume is
f ( x ) = ∇ × v – ω threshold 1. Such a volume feature can be extracted by calculating the zero
iso-surface of f ( x ) . Another possibility is that the condition is evaluated at every gridpoint,
resulting in the volume feature being represented by a set of grid points (e.g. in [123] or [134]-
[137]). In order to define coherent feature regions on such a set of gridpoints, one also has to
choose a neighborhood (4 or 8 neighbors in 2D; 6, 18 or 26 neighbors in 3D) and find connected
components.
Once the features are defined and extracted, they can be represented by icons, either separately
or combined with classical visualization techniques. Features can also be used to guide classical
visualization techniques, for example by placing streamline seed points close to or on a vortex
core. In addition, the higher-level data description of the features can be used for selective visu-
alization, e.g. by the user picking a set of features to be visualized instead of displaying all fea-
tures found in a data set. Since the representation especially of point and line features does not
use many graphic primitives, feature-based techniques are also well suited for virtual reality
(VR) environments, where limiting the geometry to be drawn is still a major concern.
Apart from direct display, features lend themselves to further processing. For example, the
shape of volume features can be simplified by fitting an ellipsoid as described by Silver et al.
[135] to each of the connected components or using deformable models to simplify and repre-
sent a feature as done by Sadarjoen [123]. Also, it is often the case that there is a sequence of
related data sets, as for example in a time-dependent flow simulation. Or, a set of simulations
may represent a continuous change in a particular design parameter or a varying operating point.
For such a sequence of related data sets, it is interesting to see how features detected in one
frame change in the subsequent frames. Identifying matching sets of features in several data sets
is called IHDWXUHWUDFNLQJ. In Villasenor and Vincent [157], a vortex skeleton is tracked in a
time-dependent data set. Silver et al. have been focusing on feature tracking [126, 136, 137] and
have also defined a number of events which may occur in the transition of features: a feature
may break up into several parts, or several pieces may merge into one, features may newly
appear or disappear. Another publication on feature tracking is Berroir et al. [15].
Tracking allows to visualize the evolution of particular features in time, as visualized in Fig.
2.10. The features are represented by ellipsoids which were fitted to a connected component of
an iso-surface of a scalar. The upper part of the image shows a particular feature at different

1. Those not familiar with this Nabla-Notation or with the definitions of gradient, vorticity, curl or helicity are
referred to appendix A.

16
2 Flow Visualization Basics
2.3 Feature-Based Visualization

Fig. 2.10: Feature tracking in a time-dependent data set allows to


track particular features in time and visualize their evolution.
Image by Freek Reinders, ZZZFJLWVWXGHOIWQOaIUHHN.

times in a time-dependent data set, together with two other features at one particular time. The
lower view shows a graph with time to the right; the vertical selection is the current time in the
other view. This graph display can be enriched by indicating the type of event when a feature
splits, merges, ends or begins, as in Fig. 2.11.

Fig. 2.11: Enhanced feature tracking graph with symbols indicating the type of event.
Image by Freek Reinders, ZZZFJLWVWXGHOIWQOaIUHHN.

17
2 Flow Visualization Basics
2.4 Topology of Vector Fields

2.4 Topology of Vector Fields


In this last section of this chapter, we will take a closer look at one prominent feature-based
method, the vector field topology. As mentioned above, the critical points of a vector field
(where the vector is zero) are point features. Critical points are stable, that is they do not appear
or disappear when the flow is perturbed a little bit. They have a unique property regarding
streamlines: the point itself is a degenerate streamline, and other streamlines may “end” or
“start” at the critical point. To be more mathematically precise, a streamline approaching the
critical point never actually reaches it, as it constantly slows down while closing in. Like an
open interval, the streamline reaches arbitrarily close, but the critical point itself is not included.

Fig. 2.12: Topology consists of FULWLFDOSRLQWV(at = attachment, de = detachment, rf =


repelling focus, af = attracting focus, sp = saddle point) and VWUHDPOLQHV started in
eigenvector directions from saddles, detachment and attachment points.
Figure from Delmarcelle and Hesselink [36].

Since the flow in the neighborhood of a critical point is characterized primarily by its Jacobian
(the matrix of its first order derivatives, see (A.10)), the points can be classified according to
one of the linear flow patterns. A complete overview of all 2D cases has been collected on the
Web at [107]. Furthermore, there are some characteristic directions, in which the streamlines
are straight lines; these correspond to the eigenvectors of the Jacobian. The streamlines which
“end” or “start” at the critical point as defined above approach the critical point in the direction
of these eigenvectors.

18
2 Flow Visualization Basics
2.4 Topology of Vector Fields

The WRSRORJ\ of a vector field is visualized by the set of the critical points, all streamlines “start-
ing” or “ending” at the critical points (in the eigenvector directions), and all closed streamlines.
Note that unlike the mathematical notion of topology, the use of topology in visualization also
contains elements of geometry, namely the locations of critical points and streamlines. The crit-
ical points can be classified as in Fig. 2.12.
In Fig. 2.13, the topology of the flow past a cylinder is depicted and compared to a LIC image
of the same flow. The field data is an instantaneous flow from a time-dependent simulation,
showing the characteristic vortex pattern shed by the cylinder, called a von Karman vortex street
(see also Fig. B.1). This flow contains two attachment and two detachment points on the cylin-
der surface (the attachment point on the front of the cylinder is not included in the image). There
are four spiral centers (the vortices), one source, four saddles, and two closed streamlines
(around the two larger vortices). Since the flow is only a frozen image of a time-dependent sim-
ulation, this instantaneous flow is not mass conserving even if the overall time-dependent flow
is.

Fig. 2.13: Vector field topology (below) and LIC (above) of the flow
past a cylinder (von Karman vortex street).

19
2 Flow Visualization Basics
2.4 Topology of Vector Fields

The flow topology picture can be computed completely automatically by finding the critical
points and calculating streamlines starting in the direction of the eigenvectors of all saddles,
attachment and detachment points; the only thing that has been manually adjusted in Fig. 2.13
are the integration lengths of each of the streamlines. Also, to illustrate the spiraling inside the
two regions enclosed by a closed streamline, an arbitrary streamline emanating from those two
spiraling centers have been added (since none of the lines starting from or ending at a spiraling
critical point is special in a topological way, a vector field topology image would usually not
contain streamlines started from spiraling critical points. However, since spirals are either
sources or sinks, they tend to attract other streamlines).
The vector field topology image shows the essential information since (in sufficiently smooth
fields), streamlines can not cross each other and can only end or start at critical points (or leave
the domain, of course). The vector field topology divides the flow into regions, in which each
streamlines is “similar” to its neighbors. It conveys the essential parts of a 2D flow field by leav-
ing out some geometric details about the flow inside those regions.
This exposition was only a very short summary about the topology of vector fields. Vector field
topology was introduced as a visualization tool by Helman and Hesselink [48], [49] and [50]
and represents the first research effort into the definition and use of specific features for flow
visualization. An excellent introduction to the mathematics on this topic was written by Asimov
[10]. Levit created an annotated bibliography [79].

Fig. 2.14: Topology of skin friction field of hemisphere cylinder at an angle of attack.
Figure from Delmarcelle and Hesselink [36].

Vector topology is very successful in depicting essential features of 2D flows such as in Fig.
2.14. In principle, one could also extract the topology of 3D flows, but its use for general 3D
flow is very limited. While there are the same basic patterns of critical points as in 2D, there are
more combinations in 3D. For example, a spiral saddle has a plane in which the flow spirals,
say, inward and a single direction where the flow leaves from the critical point in a straight line.

20
2 Flow Visualization Basics
2.4 Topology of Vector Fields

In order to generate the same kind of topology, one would have to start not only a set of stream-
lines (such as the outflowing straight line in the example), but also a set of streamsurfaces (the
spiraling inflow surface in the example). Only by including the stream surface one can divide a
3D flow into regions and find a topology of the flow which is as complete as for the 2D case.
In 2D, the attachment and detachment points (essentially critical points on the 1D boundary of
the domain) have to be included for a complete topology (see Fig. 2.12). This is not very com-
plex and only adds a few additional critical points to handle. In 3D however, the boundary is a
set of 2D surfaces. To form a complete topology, one will have to include all attachment and
detachment lines on the boundaries; in fact, we need all places on the boundary where the flow
is perpendicular to the boundary surface (a set of lines).
An implementation of 3D vector field topology in the same complete sense as for 2D is thus
rather complicated. Also, there is not much to be gained from the display of the complete 3D
topology, as the large number of stream surfaces will be impossible to understand in a set of
pictures except for some very simple cases. For 3D, the focus has been on more specific features
or some essential parts of the topology. Globus, Levit and Lasinsky [41] describe a tool for 3D
topology which automatically finds all critical points and displays them as icons, and lets the
user start specific streamlines emanating from some of the critical points.
The research on the topology has been extended to the topology of 2D symmetric second-order
tensor fields by Hesselink and Delmarcelle [51]. Scheuermann and others have been focussing
on the topology of flows containing higher-order singularities [129, 128].

21
2 Flow Visualization Basics
2.4 Topology of Vector Fields

22
3 Line-Type Features: The State of the Art

3 Line-Type Features: The State of the Art

In this chapter, we will classify features according to their dimensionality and then concentrate
on line-type (1D) features. In particular, we will examine various published methods for extract-
ing vortex core lines from flow data. The methods are described here in a similar way as in the
original publications. After we introduce the parallel vectors operator in chapter 4, we will ana-
lyze each of these methods and express their underlying feature definition using a common
notation in chapter 5.

3.1 Types of Features

Localizability
In the field of feature-based visualization, there is no formal definition of a feature in general.
Usually, the explanation is that a feature can be any pattern or structure of interest in the data.
However, it is important to note a property that is implied in this explanation: any feature used
for feature-based visualization must be localizable in the continuum represented by the data.
The structure or pattern can in principle appear anywhere in the domain. If the pattern is present
in a particular data set, the location of the occurrence is of primary interest. The whole field of
feature-based visualization relies on this property; in fact, the two main tasks for developing a
feature-based visualization are finding an appropriate definition of the feature and designing an
algorithm that finds the locations in the data where the definition applies.

Dimensionality
For some features, such as critical points, the location is simply described as a point in the
domain. Other features, such as a shock front, are located on a particular surface in the domain.
We can therefore classify the features by the dimensionality of their location. In the following,
we will assume that the data domain is a 3D space.
We call SRLQWIHDWXUHV the features which are described by a 0D location, a single point. Exam-
ples are critical points or their subclasses (saddle points, centers, foci).
/LQHIHDWXUHV are features located on a 1D set of points in the domain, like vortex core lines,
attachment and detachment lines.

23
3 Line-Type Features: The State of the Art
3.1 Types of Features

6XUIDFHIHDWXUHV are described by a 2D set of points. The most prominent example for a sur-
face-type feature is a shock wave, a surface of discontinuity in some physical measure such as
pressure.
Finally, UHJLRQ or YROXPHIHDWXUHV are features whose location is a 3D set of points. A region
of reversed flow or a vortex region are examples of such 3D features.
Volume features can also be viewed as surface features, as each volume is bounded by some
surface. A typical example is a threshold for some scalar value: for a continuous 3D scalar field,
all value larger than a given threshold form a volume feature. The same feature can also be
described as the interior of the closed iso-surface where the value is equal to the given threshold.
However, general surface features such as a shock front must not necessarily be closed surfaces.

Local, global and set features


Another classification of features can be obtained by examining the locality of data the feature
definition depends on. Most features have strictly ORFDO definitions. This means that, in order to
decide whether a particular point is part of the feature, only information about local quantities
of the field are needed. This can involve arbitrary derivatives of the field, but only at the partic-
ular location. Such a ORFDOIHDWXUH can be entirely defined using a local Taylor series, describing
the field in an epsilon-neighborhood around the point.
If a feature can potentially depend on any value in the field, we call it a JOREDOIHDWXUH. For
example, a part of a vector field topology are streamlines started in particular (eigen-) directions
from critical points. These streamlines distinguish themselves from other streamlines only by
the fact that they “start” or “end” at a critical point. Their shape away from the critical points
depends on vector fields values at all positions along the streamline. There is no a priori limit in
the locations which the streamline can reach. The feature potentially depends on all values in
the field, so it is global. Flow topology has local and global elements: the critical points of a
field are purely local features, whereas the streamlines emanating from them are global.
Lying somewhere in between these two cases is the vortex definition proposed by Portela [110]
in his recent thesis. He defines a vortex as a set of points swirling around another set of points
(the vortex core); he also proposes an exact definition for a set of points “swirling around”
another set. In general, the sets fulfilling his definitions form regions. A particular vortex by this
definition thus depends on the field values in only a sub-region of the domain. The definition is
certainly not local, but it is also not quite global. We call this type a VHWIHDWXUH, since it must
be expressed in terms of set operations; it can not be rewritten as a local or global definition
without the set concept.

24
3 Line-Type Features: The State of the Art
3.2 Vortices in Fluid Flow

3.2 Vortices in Fluid Flow

Lack of a proper definition


Vortices are the most important features in fluid flow data. Everybody has an intuitive concep-
tion of a vortex and typically imagines something like a tornado (Fig. 3.1). Fluid dynamicists
might have a less stereotypical mental image (such as Fig. 3.2), but there is no agreement on a
formal definition of a vortex. Standard textbooks on fluid mechanics such as Landau and Lif-
shitz [78] or White [160] ignore this problem entirely and speak of vortices only as an informal
notion without attempting to define it.

Fig. 3.1: Popular conception of a vortex (left), and a childs rendition (right).
Tornado photograph from NOAA library, , Child’s drawing from IDNDR-CNC,
ZZZOLEQRDDJRY .
ZZZUVFFDLGQGU

When dealing with the nature of a vortex, the following definition of Robinson [117] is fre-
quently cited:
A vortex exists when instantaneous streamlines mapped onto a plane normal to the vortex
core exhibit a roughly circular or spiral pattern, when viewed from a reference frame mov-
ing with the center of the vortex core.
However, this is not a proper definition in a strict sense: the definition is self-referential. In order
to check the presence of a vortex, one has to take a slice perpendicular to the vortex core direc-
tion; the direction of the vortex thus has to be known a priori. Furthermore, it is not specified
how exactly the presence of a swirling motion is to be verified.
So the notion of a vortex is very fuzzy. Furthermore, different groups appear to designate two
fundamentally different things by this term. A group of publications close to the field of physics
appears to use the terms vortex and vorticity as largely equal. Since vorticity is a well-defined

25
3 Line-Type Features: The State of the Art
3.2 Vortices in Fluid Flow

concept (the rotation (A.12) of the flow field), this suggest the definition of a vortex as a region
with non-zero vorticity. However, vorticity will be non-zero everywhere for any nondegenerate
general flow, except at isolated points. Often, a vortex is assumed to contain “concentrated” vor-
ticity, usually idealized in a line. However, unless this “concentration” is made precise (as was
done by Strawn, Kenwright and Ahmad, discussed in section 3.4.7), a vortex can not be properly
defined as “concentrated vorticity”.

Fig. 3.2: Simple U-shaped separation vortex occurring when the flow separates
from the solid surface (the plane spanned by x1 and x2).
From Perry and Chong [108].

The other group, typically having more of an engineering perspective and the one we will focus
on, has a more specific pattern in mind when speaking of a vortex. An example is the pattern
depicted in Fig. 3.2. For an engineer, there is a clear distinction between shear flow (layers of
fluid moving at different speeds in the same direction) and a vortex. A vortex is also different
from the small and chaotic eddies that make up turbulence. The first group tends to imagine a
boundary layer (the layer of fluid close to a solid wall) as a collection of infinitesimally small
vortices, forming a vortex sheet. The more technical group does not carry the definition of a
vortex to these infinitesimally small scales. In the following, we will always take the view of

26
3 Line-Type Features: The State of the Art
3.2 Vortices in Fluid Flow

this second group when discussing a vortex: we mean a particular flow pattern having some
minimal size.
A number of publications in fluid dynamics deal with the characterization of a vortex, for exam-
ple Liebe [81] or Lugt [84, 85].

Linear flow fields


Most publications refer to the concept of a vortex by a set of examples. There exist a number of
flows which model a particular notion of a vortex. All of them are essentially 2D flows, or 3D
flows where the flow component perpendicular to a 2D plane is trivial (for example, constant).
Furthermore, many are rotationally symmetric. In a cylindrical coordinate system, the flow in
these vortex models thus typically varies only as a function of the radial distance to the straight
axis.
The easiest such model is expressed by a linear vector field1

v = v 0 + Mx (3.1)

for some particular, constant matrix M (which also is the Jacobian of this flow field). For any
position x in a 2D or 3D space, (3.1) defines a vector v ( x ) .
With a linear vector field, we can always transform our coordinate system such that the additive
constant vector v 0 becomes zero, without loss of generality: any nondegenerate linear vector
field has always exactly one critical point x 0 , where the vector field is zero (in the degenerate
case of more than an isolated point being zero, any of the zero points can be chosen). By trans-
lating the origin of the coordinate system, we can write each linear vector field in the form

v = M ( x – x0 ) (3.2)

with the same matrix M. As the choice of origin of the coordinate system clearly can not have
an influence on the properties of the flow field, we can in the following place the origin at the
critical point and write a linear field in this new coordinate system simply as

v = Mx (3.3)

without loss of generality.


The patterns observed in linear vortex fields are well known. Based on invariants and eigenval-
ues of the linear field (or local linearization of an arbitrary field), the topological patterns such
as saddle, spiral focus, node can be determined. Every point in a general vector field can be clas-

1. For notation conventions and basics on vector fields, refer to appendix A.

27
3 Line-Type Features: The State of the Art
3.2 Vortices in Fluid Flow

sified into one of these cases, according to the local linearization. Many publications discuss
these patterns or their application, such as Tobak and Peake [151], Perry and Chong [108],
[109], Soria and Cantwell [139]. A visual overview of all 2D patterns (including all degenerate
cases) is given in [107].

A simple vortex model: solid body rotation


The easiest example of a model of a vortex flow is a VROLGERG\URWDWLRQ in some plane. In 2D,
this means that the constant Jacobian is

M = 0 –ω (3.4)
ω 0

which describes a rotation about the origin with rotational speed ω . The streamlines of this flow
are concentric circles. The flow velocity increases proportionally to the distance from the cen-
ter.
If the zeros on the diagonal are replaced by other constants, the circular motion transforms into
a spiral motion and all streamlines become spirals, either spiralling into the center or out of it
depending of the sign of the constant.
This example is lifted to 3D by adding a constant motion perpendicular to the plane of rotation,
resulting in the KHOLFDOIORZILHOG. If we assume that the rotation is within the x-y plane, the
Jacobian then takes the form

0 –ω 0
M = ω 0 0 (3.5)
0 0 γ

and the flow field consists of a solid body rotation with rotational velocity ω in one plane and
a constant motion perpendicular to the plane with velocity γ .
This vortex model has the nice property that it exhibits a rotation as a solid body rotating around
an axis does. It clearly has the disadvantage that the velocity goes to infinity with increasing
distance from the rotation axis.

The potential vortex


The SRWHQWLDOYRUWH[ in 2D has the same streamlines and flow directions as the solid body rota-
tion, so the streamlines look the same as Fig. 3.3. However, the speed of the flow decreases with

28
3 Line-Type Features: The State of the Art
3.2 Vortices in Fluid Flow

Fig. 3.3: Helical flow field, view from top (left) and down the vortex core axis (right).

increasing distance r from the center line (the z-axis) as 1 ⁄ r . In 3D, with x = [ x, y, z ] , this
results in

ω
0 – ---- 0
r
v = ω x (3.6)
---- 0 0
r
0 0 γ

where r is the distance from the rotation axis (z-axis):

r = x2 + y2 (3.7)

Note that although we used the same form v = Mx to describe this field, this field is no longer
linear as M now depends on x (respectively, on r).
This makes the flow approach zero when going away from the rotation axis, but has the draw-
back that the flow speed approaches infinity when moving closer to the rotation axis. Fig. 3.4
(left) illustrates this property in the arrow plot. A practical approximation of a potential vortex
occurs when water enters a cylinder tangentially at the top and exits through a hole in the center
(Fig. 3.4, right).
The potential vortex has the notable property that its vorticity1 is zero everywhere except at the
axis (where it is infinite). In comparison, the solid body rotation (helical flow) has a constant,
non-zero curl: since the flow field is linear, its Jacobian and thus its curl is constant. As seen
from (3.5), the vorticity of the helical flow is 0 0 – 2ω . Although the potential vortex is the

1. For a definition of vorticity (A.12) and similar basic operators on vector fields, see appendix A.

29
3 Line-Type Features: The State of the Art
3.2 Vortices in Fluid Flow

Fig. 3.4: Left: Potential vortex (2D, or projection of 3D flow) as arrow plot.
Right: a practical approximation of a potential vortex.
Photo from the Exploratorium’s Artist in Residence Project, .
ZZZH[SORUDWRULXPHGX

second easiest model for a vortex, it already serves as a counterexample that the presence of a
vortex is easily connected to the presence of vorticity.
The potential vortex assumes its name since this flow field can be written as the gradient of
some scalar. If a vector field can be expressed as the gradient of a scalar field, it is called a
SRWHQWLDOILHOG, and the scalar field is called its SRWHQWLDO. There are two problems when actu-
ally writing down the potential of this field: first, there is a singularity in the center of the flow.
Furthermore, since the streamlines are circles and the flow is in direction of the gradient of the
potential, the potential must increase along the streamline. This is a contradiction since the
streamline closes onto itself. The domain has to be cut somewhere in order find an actual poten-
tial for the flow. However, this discontinuity can be placed anywhere; any region of the flow
can be written as a the gradient of a potential as long as the region does not contain the center
and has no holes.

More elaborate vortex models


Since infinite velocities obviously do not correspond well with real physical flow fields, more
elaborate vortex models have been proposed. For example, the 5DQNLQHYRUWH[ (after William
Rankine, 1820-1872) combines the two models we met so far: inside a circle of fixed radius R,
it uses a solid body rotation; on the outside, it employs a potential vortex. The inner region,

30
3 Line-Type Features: The State of the Art
3.3 Region-Type Vortex Definitions

called the core region, avoids the singularity of the potential vortex model, while the outside
nicely decays with distance as the potential vortex. The vorticity is constant inside the circle of
radius R, and zero outside. The rotational speeds ω of the two parts are chosen such that the
flow field is equal at the circle of radius R. Fig. 3.5 shows the tangential velocity of the three
vortex models as a function of the radius from the vortex core.

solid body rotation potential vortex Rankine vortex


vt vt vt
vt = ω/r
vt = ωr

r r R r

Fig. 3.5: Tangential velocity in solid body rotation (left), potential vortex (center) and
Rankine vortex (right), as a function of distance to the rotation axis.

There exist a number of other, more elaborate models for a vortex. However, none of these
models can be taken as a rigorous definition of a vortex, as they are not general enough. Usually,
they employ some 2D flow plus a trivial component in the third direction. In general however,
we expect that vortices can have a variety of shapes; in particular, the vortex axis (vortex core
line) is not limited to a straight line.

3.3 Region-Type Vortex Definitions


A large number of publications define a vortex as a region in the flow which fulfills some con-
dition. A vortex by such a definition is a region feature, a connected 3D set of points in the
domain. We have examined these methods in a case study [120], using a common example data
set: the flow in the draft tube of a Francis turbine contains a strong residual swirl, which we
expect to be detected by a vortex method. This example flow is depicted in Fig. 3.6; the images
are stills from the video animation accompanying [120].

3.3.1 Threshold on Vorticity Magnitude


The first idea uses vorticity as the definition of rotation and simply defines a vortex as a region
of high vorticity. A vortex is the region where the vorticity is greater or equal than some thresh-
old ω thresh :

∇ × v ≥ ω thresh (3.8)

There are many publications employing this definition in the field of fluid mechanics. An exam-
ple specifically focussing on CFD flow visualization is Zabusky, Silver et al. [166].

31
3 Line-Type Features: The State of the Art
3.3 Region-Type Vortex Definitions

Fig. 3.6: The flow in a draft tube of a Francis turbine contains a strong counterclockwise
swirl. This example is used in the following figures.

As Fig. 3.7 shows, the swirling structure in our example flow in a Francis draft tube is not char-
acterized by high vorticity in the center of the swirl. The opposite is true: vorticity is highest
near the boundary due to the strong shear there.
The two problems of this definition are that first, some arbitrary value for ω thresh has to be cho-
sen. Second, the absence of vorticity (at least in a practical sense on a discretized grid) does not
necessary mean that there is no vortex, as the simple example of a potential vortex illustrates.

3.3.2 Threshold on Pressure


A similar idea is to use an area of low pressure as the definition of a vortex region. The vortex
is then the region where

p ≤ p thresh (3.9)

The rationale is that the centripetal force of a rotating motion is produced by a pressure gradient
with a minimum of pressure in the center of the vortex. Again, this method requires an arbitrary

32
3 Line-Type Features: The State of the Art
3.3 Region-Type Vortex Definitions

Fig. 3.7: Iso-surfaces of high vorticity fail to capture the vortical flow in this draft tube.

threshold. Furthermore, the method ignores the viscous forces acting on the fluid. We will find
the same basic idea (a minimum of pressure in the center of a vortex) properly carried to 3D as
a valley line of pressure in section 3.4.6.
In our example flow in a draft tube, the pressure increases downstreams as the channel widens
and the flow is slowed down. Pressure variation is dominated by this effect. Fig. 3.8 shows that
iso-surfaces of pressure fail to capture this vortical structure; pressure mainly increases down-
streams.

3.3.3 Threshold on Helicity


In order to alleviate some of the shortcomings of the vorticity method, one can use a high helic-
ity (A.50) as the criterion and define a vortex as the region where

( ∇ × v ) ⋅ v ≥ h thresh (3.10)

33
3 Line-Type Features: The State of the Art
3.3 Region-Type Vortex Definitions

Fig. 3.8: Iso-surfaces of low pressure fail to capture the vortical flow in this draft tube.

This way, if the vorticity is perpendicular to the flow such as in a straight shear flow, the helicity
is zero and no vortex can be falsely detected. However, the method fails in other simple exam-
ples, such as a potential vortex (which has zero vorticity, and thus zero helicity).
Iso-surfaces of helicity for our example flow in Fig. 3.9 look qualitatively similar to the iso-sur-
faces of vorticity above: helicity is highest near the walls, it is strongly dominated by shear
effects. Since the shear flow along the curved wall is not straight, helicity does not vanish. The
swirling flow is not characterized by a high helicity.
A variant is uses normalized helicity h n

∇×v v
h n = ---------------- ⋅ ------ (3.11)
∇×v v
which is the cosine of the angle between vorticity ∇ × v and velocity v.

34
3 Line-Type Features: The State of the Art
3.3 Region-Type Vortex Definitions

Fig. 3.9: Iso-surfaces of helicity are qualitatively similar to vorticity


and also fail to capture this swirling flow

3.3.4 Positive Second Invariant of Jacobian


The second invariant of a 3D matrix m ij is

Q = m 11 m 22 – m 12 m 21 + m 11 m 33 – m 13 m 31 + m 22 m 33 – m 23 m 32 (3.12)

and is derived in (A.22). Hunt, Wary and Moin [59] suggest a vortex definition which demands
that the second invariant Q of the Jacobian is positive, and that local pressure is smaller than the
surrounding pressure. Regarding this definition, Jeong and Hussain [63] observe that the second
condition is always true if the first one is. The condition can thus be reduced to only demanding
a positive second invariant:

Q>0 (3.13)

Truesdell [152] defines a kinematic vorticity number and uses it to create a criterion for a vortex.
Obrist [100] concludes that Truesdell’s criterion is equivalent to a positive second invariant.

35
3 Line-Type Features: The State of the Art
3.3 Region-Type Vortex Definitions

3.3.5 Lambda2
A widely used definition for a vortex was proposed by Jeong and Hussain [63] and is commonly
called the lambda2 method. First, the local Jacobian J is decomposed into its symmetric part S

T
J+J
S = ----------------- (3.14)
2
and its antisymmetric part Ω

T
J–J
Ω = ----------------- (3.15)
2
Then, the eigenvalues of the matrix S 2 + Ω 2 are determined; since this matrix is symmetrical,
all three eigenvalues are real. The lambda2 criterion then defines a vortex as the region where
at least two of the three values are negative. When the eigenvalues are ordered according to size
( λ 1 ≤ λ 2 ≤ λ 3 ), the border case is the surface where the second largest eigenvalue λ 2 is zero.
In Fig. 3.10, different iso-surfaces of lambda2 near zero are shown. We see that almost all of the
points in this flow have a negative lambda2: It is negative both inside the swirling flow and near
the walls, with only a small area of positive values in between. While the method can be called
successful in detecting the vortical structure in this flow, it also does indicate the zone of high
shear near the boundary, and at some places, the two regions are connected. Thus the method
poorly isolates different structures, as characteristic of region-type vortex definitions.
The lambda2 definition is widely used to visualize vortices, for example in [94] and [100]. Rist,
Müller and Wagner [115, 116] use this criterion on time-dependent data and track the vortices.

3.3.6 Set-Concept by Portela


Portela in his recent thesis [110] introduced a new concept of a vortex based entirely on con-
nected sets of points; the technique has already been detailed above in section 3.1. He also
defines a vortex as a 3D region; the core can be a 1D line-type set or a full 3D region. Unlike
the other region criteria mentioned above, Portelas criterion is not local in the sense of section
3.1.
While Portela built a mathematically sound set of definitions both for 2D and 3D, his example
application demonstrates results for 2D fields only - although his simulation data actually is a
3D flow field. An implementation for reference purposes was prohibitively laborious at the time
of the publication; other work will have to demonstrate the usability of these definitions in 3D
data.

36
3 Line-Type Features: The State of the Art
3.3 Region-Type Vortex Definitions

Fig. 3.10: Iso-surfaces of lambda2 with varying values near zero.


The volume enclosed by the surfaces contains values lower than the threshold.

3.3.7 Shortcomings of All Surface Methods


As suggested by the previous four figures, none of the methods was able to reliably detect all
vortices in typical turbomachinery flow data. Animations of these figures can be found in the
video accompanying [120]. Compared with other CFD applications, vortices in turbomachinery
flows are very weak and often curved since the whole flow is usually constrained to curved
channels. Often, streamlines wind around the core only for one or even just a fraction of a full
rotation over the whole length of the vortex. Typical effects occurring in hydraulic turboma-
chines are described by Sebestyen [133].
Even when vortices are captured by any of the region-type methods, these methods are very
poor in isolating different vortices. If two vortical structures are close together, they will typi-
cally be lumped together, even if they for example have opposite sense of rotation.
Finally, in practical data, it is notoriously hard to define a sharp surface which divides a vortex
from the rest of the flow. The region methods, by their nature, focus exactly on this bordering
surface and typically treat the interior uniformly as the vortex region. This is even more empha-

37
3 Line-Type Features: The State of the Art
3.4 Line-Type Definitions of the Vortex Core

sized when region-type definitions are used for feature tracking: Tracking algorithms only find
what happens to the connected components and do not care to verify whether, in fact, there is
just one vortex core inside each structure. If such vortex tracking methods indicate that two vor-
tices merge into one, it should be closely examined weather this is actually the case or whether
two vortices simply move too close to each other to be discerned by the region definition, but
still have two distinct vortex cores.
In spite of these disadvantages, vortex region methods have been applied in many applications
with success. As long as the vortices in question have strong rotation around the core, or almost
straight vortex cores and are occurring in sufficient isolation from each other, all of the methods
can be used and meet the expectations set by the intuitive interpretation of the flow patterns. If
any one of these conditions is not met, some of the methods still may produce useful results. For
classifying demanding situations such as the weak vortices occurring in turbomachinery flows
however, these methods typically reveal not many of the meaningful vortical structures present.

3.4 Line-Type Definitions of the Vortex Core


Due to the general shortcomings of surface methods, we focus in the remainder of this text
entirely on definitions and methods to find a YRUWH[FRUHOLQH, that is the center line of the swirl-
ing flow structure, around which the flow spirals. The concept of a vortex core line or vortex
skeleton is frequently used in fluid dynamics, often without attempting a formal definition. Fig.
3.11 shows how vortex cores are used to illustrate one possible flow pattern that leads an “owl-
face of the second kind” in the skin friction field on a solid surface (this pattern has its name
from the two symmetrical spiral-type critical points occurring in the skin friction fields, which
look like an owl’s eyes in surface flow visualizations).

Fig. 3.11: Vortex cores used to illustrate a particular separation pattern. The pattern in the 2D
skin friction lines on the solid horizontal surface is an “owl-face of the second kind”.
Manual sketch from Perry and Chong [108].

38
3 Line-Type Features: The State of the Art
3.4 Line-Type Definitions of the Vortex Core

Focussing only on the vortex core line has the advantage that different vortical structures can be
clearly differentiated. Also, since it seems to be very hard to define a sharp boundary surface
for the whole vortical structure, we hope that methods primarily focussing on the vortex core
lines are more stable, as they concentrate on the center of the vortex where it should be more
evident.
However, there is also a significant drawback: since we assume to find a line as the core of a
vortex, we can not expect the definition to properly handle situations where in the center of a
swirling flow, there is a whole region or surface of constant or zero flow. Also, if a portion of a
flow rotates around an inner region containing a rotation in the opposite direction (as sometimes
is the case directly below the runner of a water turbine), we can only expect to find the core of
the inner rotation, but will not detect the outer rotation. In fact, any local method will fail detect-
ing the outer vortex in this situation.
For the most common cases however, the vortices actually do have a core in the form of a (not
necessarily straight) line, and we can expect a line-type definition of the vortex core to be appli-
cable.

3.4.1 Streamlines from Critical Points


Globus et al. [41] suggest to find vortex cores using methods of 3D flow topology: find critical
points of a spiraling type and trace the two streamlines in the direction of the third, real eigen-
vectors. The streamline is supposed to be the vortex core. Two such examples are shown in Fig.
3.12: the critical points can occur within the 3D domain or at the domain boundary.
There are several issues with this method. While the critical point itself is a purely local feature,
the streamline traced from it is of global nature. As such, the method does not fit into the scheme
we will present in the next chapter. Furthermore, while the particular streamline ending or start-
ing at the critical point is special in the neighborhood of this point, it is hard to envisage why
this particular streamline should remain the center of the vortex far away from the critical point.
In fact, we will show in section 6.1.3 an example flow which suggests that a vortex core can not
be a streamline, although for well-formed vortices the core is often “close” to a streamline (we
will make this notion of “close, but not quite a streamline” more precise by introducing a quality
measure later on).
Our example flow from Fig. 3.6 does not have a critical point of velocity in the inside of the
domain; points with zero velocity occur only on solid boundaries. In Fig. 3.13, vortex cores are
calculated by integrating streamlines from the critical points.

39
3 Line-Type Features: The State of the Art
3.4 Line-Type Definitions of the Vortex Core

Fig. 3.12: Two examples where the vortex core is a streamline starting from a singular point,
which can be a point in the interior of the 3D domain (a) or within the domain boundary (b).
Figure from Tobak and Peake [151].

3.4.2 Curvature Center Density


Sadarjoen [123] for 2D and Pagendarm et al. [101] for 3D proposed a method of locating vortex
cores using the density of curvature centers. The idea is that, for any (non-degenerate) point in
the field, the curvature of the streamline can be calculated as κ = c with

v×a
c = ------------- (3.16)
v3
where a = Dv ⁄ Dt = ( ∇v )v (A.32). Eq. (3.16) is derived in appendix A, (A.35). Where this
curvature κ is defined and not zero, a corresponding curvature center is uniquely defined. The
method now samples the whole field and for each location determines the curvature center. The
collection of curvature centers is turned into a density field by subdividing the domain into bins

40
3 Line-Type Features: The State of the Art
3.4 Line-Type Definitions of the Vortex Core

Fig. 3.13: Hemisphere cylinder at an angle of attack: flow topology of the skin friction
field on the surface, and vortex cores defined by streamlines from the spiral-type
critical points of the skin friction field. Contours on cut planes indicate helicity.
Image by Delmarcelle and Hesselink [36].

and counting the centers in each bin. It is then expected that the vortex cores distinguish them-
selves by having a peak in this curvature density field.
A single streamline defines another curve for the locations of its curvature centers; an oval
streamline for example would lead to a diamond-shaped curve. In particular, the point in the
center of an ellipse is not on the curve of its curvature centers. So it is doubtful that, except for
perfectly circular flows, a peak in the curvature center density occurs near the vortex center.
In 3D, an additional problem occurs. A helical streamline has curvature centers which lie on a
second helix. The radius of this second helix increases with d 2 , where d is the separation of the
helix’s loops.
For application in 3D, [101] depicts vortices by an iso-surface of the curvature density field,
which would qualify it as a surface-type definition. It is listed here with the line-type definitions
since in 2D, the local maxima of the density fields are just core points. The notion of a local
maximum can be relaxed such that the solutions are so-called ridge lines, which will be dis-
cussed in section 3.6. Using the ridge lines of the curvature density field would result in a def-
inition for the 3D vortex core lines.

41
3 Line-Type Features: The State of the Art
3.4 Line-Type Definitions of the Vortex Core

3.4.3 Levy/Degani/Seginer
Levy, Degani and Seginer propose the use of QRUPDOL]HGKHOLFLW\ to define a vortex in their
pioneering paper [80]. Normalized helicity h n is the dot product of velocity and vorticity when
the two vectors are first normalized to unit length (illustrated in Fig. 3.14):

∇×v v
h n = ---------------- ⋅ ------ (3.17)
∇×v v

ω/|ω|

1 v/|v|
1
d
a lize
m
nor city
i
hel

Fig. 3.14: Normalized helicity can be interpreted as a projection of the curl ω onto the
velocity v; the two vectors are first normalized to unit length.

Normalized helicity is a scalar field defined everywhere in the domain, except at critical points
of v or ∇ × v , with a range between – 1 and 1. It is the cosine of the angle between the vorticity
and the velocity at each point.
The authors expect that approaching a vortex core, the normalized helicity should go to plus or
minus one. They use slices with contour plots of normalized helicity to manually locate sec-
tional maxima or minima and integrate streamlines (forward or backwards) from there, assum-
ing that the vortex core is also a streamline.
The paper ignores the fact that a global definition for a vortex core (a streamline) and a local
definition (normalized helicity of ± 1 ) can not be equivalent for general vector fields. The paper
also does not directly suggest a method to automatically extract vortex core lines from flow
fields. We list it as a vortex core line method since it immediately gives rise to such a method
as we will discuss in section 5.2.1.
Yates and Chapman [163] also use normalized helicity extensively in their discussion of flow
phenomena.

42
3 Line-Type Features: The State of the Art
3.4 Line-Type Definitions of the Vortex Core

3.4.4 Banks/Singer
In a paper [11] and, in more detail, in a technical report [138], Banks and Singer presented in
1994 the first method which explicitly constructs vortex cores as line-type features. Their
method is presented as a SUHGLFWRUFRUUHFWRUDOJRULWKP. The following inner loop tracks a
vortex core line once a point on the vortex core is known (numbers in parentheses refer to Fig.
3.15):
loop:
determine the vorticity at the current point
on the vortex core (1)

make a small step in the direction of this vorticity


to predict the next point (2)

compute the vorticity at this new (predicted) point (3)

construct the plane perpendicular to this vorticity


vector (4)

find the local minimum of pressure within this plane (4)

if the distance of the minimum point to the predicted point


is smaller than some given threshold:
take the location of this minimum as the new
corrected point on the core
else
break
end loop

This algorithm steps along the vorticity vector, but corrects each step onto a sectional minimum
of pressure in a plane perpendicular to the vorticity. The two guiding principles of this method
are that the vortex core should approximately be a vorticity line (a streamline of the vorticity
field), and that the pressure should assume a minimum perpendicular to the core.
The algorithm terminates when a minimum of pressure (the correction) is too far from the pre-
dicted point. In order to start the integration, a set of suitable seed points have to be found. The
authors suggest to restrict the starting seed points to grid point with low pressure and large mag-
nitude of vorticity. From each such point, the predictor-corrector method is applied for a fixed
number of steps. When this does not terminate due to overly large correction, it is assumed that
the end point of this procedure then lies on the core, and the algorithm can be used to trace the
core forward (as described) and backwards (stepping in the direction of negative vorticity). Spe-

43
3 Line-Type Features: The State of the Art
3.4 Line-Type Definitions of the Vortex Core

Fig. 3.15: Schematic of predictor-corrector algorithm by Banks and Singer.


Illustration from [138].

cial care has to be taken in order to find each vortex core line only once, as trial starts from many
seed points may end up on the same vortex core line.
In addition to just the vortex core lines, the paper also presents a method to define a vortex cross-
section at each point on the core. A radius of the vortex is defined using two criteria: a threshold
of pressure, and the angle between the vorticity at the core and the vorticity at the current point;
if the angle is larger than 90 degrees, the point is considered outside the vortex radius.
This is a particular example of how a vortex boundary can be defined once a vortex core line is
known. We will discuss that in section 6.4.
As is typical of publications of vortex methods, a formal definition of the feature that is
extracted is not given explicitly; the feature is only described implicitly by an algorithm that
extracts it. We will further analyze the formal definition that appears to underlie this algorithm
in section 5.2.2.

3.4.5 Sujudi/Haimes1
In an AIAA paper and an MIT technical report 1995, Sujudi and Haimes [143, 144] describe the
HLJHQYHFWRUPHWKRG to define and extract vortex core lines from flow data. They also present
their method as an algorithm; however, the underlying definition is easily visible. The algorithm
bases on a decomposition of the whole domain into tetrahedral elements and examines each tet-
rahedron with the following pseudo-code:

1. Just before printing this thesis, David Kenwright pointed out to us that there are earlier publications of this
method by Sawada [127] and by Berdahl [14].

44
3 Line-Type Features: The State of the Art
3.4 Line-Type Definitions of the Vortex Core

loop over all tetrahedra

determine the Jacobian of the flow field in the tetrahedron;


since the flow field is assumed to be linear in this tetrahedron, the Jacobian is a constant
matrix J (Fig. 3.16, left).

compute the eigenvalues of J.

if all eigenvalues are real:


break
end if

at this point, there is one real eigenvalue λ 0 , and a pair of conjugate complex
eigenvalues λ 1 and λ 2 .

compute the eigenvector e 0 corresponding to λ 0


(Fig. 3.16, dashed arrow)

for each node of the tetrahedron


compute the UHGXFHGYHORFLW\ as the velocity minus its
component into the direction of the eigenvector e 0

This is equivalent to projecting the velocity onto the plane perpendicular


to e 0 (Fig. 3.15, center).
end for

determine the Jacobian of the reduced velocity


again, this is a constant matrix.

compute the location of zeroes in the reduced velocity


field.
Setting the linear vector field or reduced velocity to zero gives rise to a system of three
equations (one for each component). However, since all reduced velocities lie within a
plane (perpendicular to e 0 ), the equations are dependent and only have two degrees
of freedom. Any two (linearly independent) equations can be chosen, describing two
planes on which the solution line lies. The two planes are intersected to find the straight
line where reduced velocity is zero (Fig. 3.16, right).

find the intersection points of the straight line of zero


reduced velocity with the tetrahedron
in the general, non-degenerate case there will either be none or two intersection
points (Fig. 3.16, right).

if there are two intersection points:


add the straight line segment between the two points
to the list of vortex core segments.
end if
repeat loop with next tetrahedron

45
3 Line-Type Features: The State of the Art
3.4 Line-Type Definitions of the Vortex Core

line of zero
reduced velocity

direction of real
eigenvector
velocities reduced velocities core segment

Fig. 3.16: Sketch of steps in the Sujudi/Haimes algorithm.

By traversing all tetrahedra, the algorithm builds a list of straight line segments which in their
entirety make up the vortex cores of the data set extracted by the algorithm. Obviously, the cal-
culation for each tetrahedron is independent, so this is a trivially parallelizable algorithm. It is
important to note that the line segments produced by this algorithm do not connect to a (poly-)
line due to the chosen piecewise linear interpolation (constant Jacobian), which causes discon-
tinuities (jumps) in the Jacobian across each face of the tetrahedrization and causes mismatch
in the vortex cores on the two sides of the face unless the field is truly linear across both tetra-
hedra.
We will further analyze this algorithm and its underlying definition of a vortex core in section
5.2.5. We will see that the definition can be put in much simpler terms than reciting the above
algorithm. Also, we will see that the algorithm preforms perfectly for all globally linear vector
fields.
The eigenvector method was applied in a 1997 case study by Kenwright and Haimes [67],
depicted in Fig. 3.17. Especially the video sequences presented in this case study, where the
vortex core method is applied to a large time-dependent aerodynamic simulations, impressively
illustrate the merits of feature-based visualization to find essential features in huge data sets.
Interestingly, the method is able to represent a skeleton of continuous vortex cores reasonably
in spite of the fact that the method produces a set of line segments which are not continuous, but
amost aligned in areas where the vortex core is straight.

46
3 Line-Type Features: The State of the Art
3.4 Line-Type Definitions of the Vortex Core

Fig. 3.17: Vortex cores (black) extracted by the Sujudi/Haimes algorithm and
particles of flow over F/A-18 (still from video animation).
Animation by Kenwright [67]

3.4.6 Miura/Kida
Miura and Kida in 1997 [95] and a number of subsequent publications [71, 72, 73, 74, 96] pro-
pose and apply another method to find vortex core lines based on sectional minima of a SVHXGR
SUHVVXUH: the specific inertia force or acceleration is decomposed into a potential force and a
torque:

( ∇v )v = – ∇p pseudo + ∇ × q (3.18)

This decomposition gives rise to a potential p pseudo and a vector potential q, defined uniquely
by the velocity field together with appropriate boundary conditions. Note that p pseudo is gener-
ally different from the true pressure because the time-derivative and viscous terms of the
Navier-Stokes equation (B.16) are absent in (3.18). They are identical, however, for homoge-

47
3 Line-Type Features: The State of the Art
3.4 Line-Type Definitions of the Vortex Core

neous turbulence with periodic boundary conditions and for the idealized model of a Newtonian
fluid without any external torques.
The pseudo-pressure p pseudo obeys a Poisson equation

∇ 2 p pseudo = – ( ∇ ⋅ a ) (3.19)

with

a = ( ∇v )v (3.20)

The right side, the negative divergence of acceleration, can be easily calculated from the flow
field. In order to actually calculate p pseudo , one would have to find appropriate boundary con-
ditions and solve this Poisson equation. The papers are not specific as to how appropriate values
for all boundaries can be determined. Instead, the authors always use the real pressure instead
of the pseudo-pressure. We will also use the real pressure for all our applications.
Given this pressure p, on each grid node x the method calculates its Hessian H (the matrix of
second derivatives) and its eigenvalues (and orders them such that λ 0 ≤ λ 1 ≤ λ 2 ). The Hessian
is always symmetric and therefore has three real eigenvalues and orthogonal eigenvectors.
Introducing local coordinates ξ i aligned with the eigenvectors of H, the Hessian reduces to a
diagonal matrix with λ i on the diagonal. In this coordinate system, we can approximate the
local pressure up to quadratic order as

1
p̃ = --- λ ( ξ – c ) 2 + λ ( ξ – c ) 2 + λ ( ξ – c ) 2 + p 0
2 0 0 0 1 1 1 2 2 2
or shorter
1 2
p̃ = --- λ i ( ξ i – c ) + p 0 (3.21)
2
Clearly, p̃ acquires a local extremum at the point c 0, c 1, c 2 . Requiring λ 1 and λ 2 to be positive,
implies that p̃ will increase when going away from this point in the plane spanned by eigenvec-
tors e 1 and e 2 . On any plane parallel to this, p̃ assumes a minimum on a straight line through
point c and aligned with the e 0 direction. The point on this straight line closest to the current
point x is taken as an estimated position c’ on the vortex core. Since the same vortex core will
be found by many grid points examined by the algorithm, they only use the information from
grid points which are closer than one half of the grid width (obviously assuming uniform grids).
Fig. 3.18 sketches the situation of the quadratic field p̃ as estimated from a grid point x: the
contour lines are either ellipses or hyperbola, centered around a critical point c.

48
3 Line-Type Features: The State of the Art
3.4 Line-Type Definitions of the Vortex Core

e1 e1
x -1
1
x e0 e0
c c
c’ 1 c’
2 3 1 0
-1
0

Fig. 3.18: 2D sketch for algorithm by Miura and Kida. The thin lines represent contour lines
of the quadratic formula for p̃ (3.21); they are numbered to indicate values
higher (positive) or lower than p0. Left, the case of elliptic contour lines;
right, hyperbolic contour lines. In both cases, a local sectional extremum
is along the line in direction of e0.

In this way, the algorithm predicts a single point c’ on the vortex core from each grid node x,
and keeps the prediction in a list of core points if c’ is closer than half the grid width from x.
The result is an unordered list of points c’ on the core lines. In order to actually be able to draw
lines, each point is connected to its two closest neighbors if the distance is no more than two
grid width units.
We will examine this method in section 5.2.9 and be able to give a simpler definition of the fea-
ture approximated by this procedure.

3.4.7 Strawn/Kenwright/Ahmad
A recent paper by Strawn, Kenwright and Ahmad [142] suggests that vortex cores can be found
by looking for maxima of vorticity magnitude in a plane perpendicular to the vorticity vector.
The implementation precomputes the vorticity and transforms it to computational space, such
that it can be treated as a uniform grid. The algorithm iterates over all the internal faces (the
quadrilaterals bounding the hexagonal cells of the uniform grid) and examines one such face
and its eight neighboring faces; the calculation thus involves four by four grid nodes. In order
to simplify calculation, the algorithm does not look for maxima on planes perpendicular to the
vorticity as proposed in the idealized definition, but instead locates the maxima of vorticity
magnitude in planes aligned with the grid faces.
First, a simple and fast test is done to exclude grid faces which do not contain a local maximum
of vorticity magnitude: The maximum vorticity magnitude value among the four by four
involved nodes is found. If it is located on one of the four nodes bounding the current central
face, this face is considered a candidate; otherwise, computation continues with the next face.

49
3 Line-Type Features: The State of the Art
3.5 Flow Attachment and Detachment

For each candidate face, the exact location of the maximum is then calculated. The maximum
within the plane of the face lies where the gradient of the vorticity magnitude is perpendicular
to the face. This gradient is assumed to vary bilinearly over the central face; the values in the
four corners are determined using central differences from their direct neighbors. The two com-
ponents of this gradient parallel to the two grid axes spanning the face must be zero for an extre-
mum point of the vorticity magnitude to occur in this face. This gives rise to two quadratic
equations, resulting in potentially four solution points. However, valid solution points have to
lie within the central face; solutions outside the current face are discarded, those inside are kept
in a list.
At these points, the gradient of vorticity magnitude is perpendicular to the face. This implies
that imply that the point found is either a local maximum, minimum or a saddle point. Since
only the local maxima are of interest, an appropriate test is necessary.
The algorithm examines each internal face in turn and ends up with a list of unconnected points
on the vortex cores. No attempt is made in this publication to connect the resulting points to
proper lines.
We will see in section 3.4.7 that we can also simplify the description of this method. In addition,
we can compute solutions of the idealized definition without approximating the planes perpen-
dicular to the vorticity by the plane through the grid faces, and we can deal with irregular or
unstructured grids.

3.5 Flow Attachment and Detachment


In [68] and [69], Kenwright presents an algorithm to locate the lines of flow separation and
attachment on solid surfaces. While embedded in a 3D flow simulation, these are line-type fea-
tures of the 2D flow on a surface: the skin friction field on solid surfaces in the flow. Of special
interest are the lines along which the 3D flow separates from the surface or where it (re-)
attaches. The regions of flow separation, where the flow does not follow the surface, are impor-
tant for aerodynamic design due to increased drag and reduced lift. Separation occurs frequently
in combat aircrafts flying at slow speed and high angle of attack.
We include the method here since we will see that it is very closely related to the vortex defini-
tion according to Sujudi and Haimes described above in section 3.4.5. Similar to this approach,
the local Jacobian is used to classify the flow pattern and identify line segments of the feature.
The 2D domain is decomposed into triangles, each of which is considered separately, using the
following algorithm.

50
3 Line-Type Features: The State of the Art
3.5 Flow Attachment and Detachment

loop over each triangle

determine the local Jacobian


since the flow is assumed to be linear on the triangle, the Jacobian is a constant
2×2 matrix.

calculate the discriminant

if the discriminant is positive

calculate the eigenvalues of the Jacobian


the positive discriminant ensures that they are real numbers. Calculation stops
when an eigenvalue of zero is encountered, indicating a degenerate case.

determine the eigenvectors corresponding to the


eigenvalues, and the critical point of the linear
vector field.

transform the corners of the triangle from real space


into SKDVHVSDFH,
SKDVHVSDFH is the coordinate system where the coordinate axes are aligned
with the eigenvectors and the origin is centered at the critical point. In this
space, the remaining flow patterns (saddle, attracting or repelling node; others
have been excluded by the previous steps) are normalized such that the funda-
mental pattern remains the same but the x and y axes of the space are the critical
streamlines (terminating at or originating from the critical point).

according to the signs of the eigenvalues, classify


the pattern as one of the three cases saddle, repel-
ling node or attracting node.

determine if the x or y axis intersects the triangle,


depending on the pattern (both axes for the saddle,
only one for the nodes) and classify the line as
either attachment or detachment, depending on the
eigenvalues.

if these lines intersect the transformed triangle:


transform the two points bounding the inter-
sected segment back to physical space and add
the segment to either the list of attachment or
detachment points, according to the previous
classification.
end if
end if
end loop

51
3 Line-Type Features: The State of the Art
3.6 Rigdes and Valleys

Similar to the vortex core algorithm of Sujudi and Haimes, the domain is decomposed into a set
of linear facets, each potentially producing one or two straight line segments. Again, the discon-
tinuities at the borders will prevent the line segments from joining and forming polylines. We
will further analyze this feature definition in section 5.2.7.

3.6 Rigdes and Valleys


Ridge lines and valleys are line-type features originally defined for 2D scalar fields. We will see
that they fit naturally into the framework for line-type features developed in the following chap-
ters. Also, we will later discuss how ridge and valley lines can be defined in 3D data and how
they are closely related to the vortex methods discussed previously.

3.6.1 Geomorphology (Topography)

Fig. 3.19: Left: simplified contour map with critical points. Right: ridge lines (solid), valley
lines (dashed). Hollow dots are saddle points, filled points are local maxima.
Figure from Mark [90].

In geomorphology or topography, the ridge and valley lines are important features of a topo-
graphical terrain, see e.g. [77] or [114]. As is intuitively obvious, the ridge of a mountain is a
line emanating from a peak (a local maximum) or a pass (saddle), denoting in an intuitive way
the generalization of a local maximum (which is just a point) to a local line-type “maximum”.
Likewise, a valley line is the inverse (it could be obtained by finding the ridge lines of the
inverted height field). The ridge line of a terrain is illustrated in Fig. 3.19.
Given a scalar field p, it is an elementary fact that a necessary condition for an inner local min-
imum or maximum is ∇p = 0 . Less obvious is how to relax this condition to make the general
type of solution a set of lines instead of a set of points. Let v be the vector field ∇p . The VORSH

52
3 Line-Type Features: The State of the Art
3.6 Rigdes and Valleys

of the terrain p is then the vector magnitude v and the VORSHOLQHV(or lines of steepest descent)
of p are the trajectories (streamlines) of v.
Finsterwalder [40], Rothe [122] (in 1915) and De Saint-Venant [34] (already in 1852) define a
WRSRJUDSKLFULGJH RUYDOOH\OLQH as the set of points where the slope is locally minimal com-
pared to points of the same elevation. The distinction between ridge lines and valley lines can
be made by looking at a profile taken in the direction normal to v. A more formal distinction
can be based on the eigenvalues of the elevation Hessian H as will be shown in section 5.2.8:
For points on ridge or valley lines, one eigenvector of H is aligned with the elevation gradient
and the other is tangential to the contour line. The eigenvalue associated with the latter discrim-
inates ridges (negative sign) from valleys (positive sign).

height
x2

x1

x2

x1

Fig. 3.20: Top view (left) and perspective view (right) of the inclined cylinder example height
field. The ridge line does not pass through the points of maximal contour curvature.

Some confusion about the correct definition of topographic ridge and valley lines has appeared
in the literature. A number of methods produce only approximate solutions. In [64], elevation
maxima in axis-parallel sections are chosen. Other authors (e.g. [158]) search for maximum cur-
vature of contour lines. Lines generated by both these methods can differ visibly from correct
extremum lines. A simple example for this is the inclined elliptical cylinder already given in the
19th century by Wiener [161]. Fig. 3.20 shows this example in both top view and perspective
view. The ellipse is aligned with the image axes, therefore the marked points are the elevation
maxima in sections of constant x 1 (axes see Fig. 3.20) and at the same time the contour curva-
ture maxima.
Another approximation is to extract the critical lines [90], i.e. the slope lines (lines of steepest
descent) connecting passes (saddles) with peaks or pits, exactly the vector field topology

53
3 Line-Type Features: The State of the Art
3.6 Rigdes and Valleys

described above in section 2.4. In general, however, a ridge or valley line is not a slope line:
Breton de Champ [29] proved in 1854 that it is only if its ground projection is a straight line.
But since in typical terrain data, ridge and valley lines are often close to slope lines, this can be
a reasonable approximation.

3.6.2 Image Processing and Computer Vision


Ridge and valley lines are also commonly used in computer vision [47] to detect or enhance
curves and lines in an image. As Haralick in [45] and [46] describes it, points on a ridge or valley
line can be found by walking in the direction of greatest magnitude of the second directional
derivative. The ridge peak or valley bottom occurs when the first directional derivative has a
zero crossing. This definition of a ridge line is mathematically equivalent to the definition given
above by Finsterwalder.
Especially in image processing and computer vision, there also exist line-type features of 2D
data which become surface-type features for 3D data. In contrast to true 1D features, such
( n – 1 ) -dimensional features cannot be specified with our operator. An example in image pro-
cessing are edges, which can be extracted by finding zero-crossings of the Laplacian (e.g. [47]).
The same method applied to 3D data results in surfaces, used e.g. in volume rendering [159].
As we are focussing on true 1D features, we will not further discuss features like edges.

Different usage of the term ridge in differential geometry


In order to avoid confusion, note that a different usage of the term ridge has been established in
differential geometry: For a surface in 3-space, ridges and ravines are defined as the loci of
points of maximal normal curvature along the curvature line in the direction of maximal curva-
ture (see e.g. [13]). In contrast to topographic ridge lines, this definition is isotropic, i.e. invari-
ant under global rotations. Isotropy is a desirable property for purposes such as feature line
extraction on arbitrary surfaces in 3-space, applied in [8], [60] or [86]. However, if the surface
is a height field, this is not the case: Ridge and valley lines are expected to change when the
whole terrain is tilted. In this document, we will always assume the topographic meaning of
ridge and valley lines.

54
4 Parallel Vectors

4 Parallel Vectors

In this chapter, we propose an elementary operation on a pair of vector fields, which serves as
the fundamental building block for defining and computing a number of line-type features of
vector and scalar fields. We discuss the definition of this operator, some general remarks on its
application, and describe different implementations.

4.1 Definition
We define here an operator which returns the set of locations where two given vector fields are
parallel. Let v and w be n-dimensional vector fields. Then

S = { x : v ( x ) = 0 } ∪ { x : ∃λ, w ( x ) = λv ( x ) } (4.1)

is the set of locations where either the two vectors have the same direction or one of them is
zero. The first term of (4.1) is necessary to avoid λ = ± ∞ . The second term consists of n scalar
equations for the n + 1 unknowns x 1, …, x n, λ . In the nondegenerate case (of independent
equations), solutions are one-dimensional. This can be seen by the following argument.
At each point x, the vector w ( x ) can be decomposed into a component w || parallel to v ( x ) and
a component w ⊥ perpendicular to v ( x ) . The condition that v ( x ) and w ( x ) are parallel means
that w ⊥ is zero, which restricts only n – 1 of the n degrees of freedom.
If n is either 2 or 3, the set can alternatively be expressed as

S = { x : v(x ) × w( x) = 0 } (4.2)

(where the cross product of two 2-vectors is just the scalar v 1 w 2 – v 2 w 1 ).


If n = 3 , this definition involves three scalar equations for three unknowns. However, these
equations are not independent. This is the reason why it is misleading to consider v × w as a
derived field for the purpose of finding the set of its zeros: Such a field is degenerate in the sense
that the zeros in general are not isolated points but lines, which prohibits application of standard
methods to find these locations.
Definition: For two given n-dimensional vector fields v and w, we denote by

v || w (“v parallel w”) (4.3)

55
4 Parallel Vectors
4.2 Selection Criteria

the operator which returns the set S (4.1) restricted to nondegenerate solutions. In other words,
we exclude isolated points and points which have a 2D neighborhood in S.
It can easily be seen that the lines of v || w are closed curves (or end only at the domain bound-
aries) and in general do not intersect: In 2D, they are 0-isolines of the cross product and there-
fore have these properties. In 3D, the cross product has three scalar components, hence there are
three zero iso-surfaces. As shown above, their intersection is a set of lines rather than isolated
points. And finally, because each iso-surface is closed, so is their intersection.
The two vector fields v and w can be given independently, however, in our applications, w is
often derived from v. In any case, we assume the two vector fields v and w are pre-computed
and given on the same grid.

4.2 Selection Criteria


The parallel operator v || w returns a set of lines which are closed (or end only at the domain
boundaries). Many features such as vortex cores or ridge lines on the other hand are not neces-
sarily closed and may end somewhere within the domain, e.g. the open separation lines
described by Kenwright [68]. This is possible since most such features require other conditions
in addition to a particular use of the parallel operator as we explain in the following chapter. All
the line features we describe in the previous and following chapter can be expressed using the
parallel operator in combination with one or several Boolean criteria for each point. Thus, the
full set of solutions of the parallel vector operator usually is a true superset of the actual feature
lines; the parallel vectors are typically necessary for the feature, but not sufficient.
Nevertheless, the parallel vectors operator captures the essential part of the definition, and
reduces the possible feature positions to a small set of lines. The additional Boolean conditions
for a specific feature only restrict the solution points to a subset of the domain, a set of 3D
regions. These additional conditions do not determine the location of the detected feature, they
only select, or classify, among the loci returned by the parallel operator.
A typical example for such a condition is a positive determinant for vortex cores according to
the method of Singer and Banks (eigenvector method), indicating complex eigenvalues of the
Jacobian. Given a random flow, we would expect essentially a random sign of the determinant
and therefore about half of all points in the domain should fulfill the condition. Since the deter-
minant is continuous for a sufficiently smooth vector field, the locations with positive determi-
nant will form a set of 3D regions. In practical data, one could visualize these regions by an iso-
surface.
One can calculate the conditions a priori in order to reduce the amount of the grid that has to be
traversed when looking for solutions of the parallel operator. In fact, many of the algorithms
presented in the previous section employ a priori tests on the grid nodes; if a node fails the test,

56
4 Parallel Vectors
4.2 Selection Criteria

all adjacent cells are ignored by the extraction procedure. However, often the conditions are rel-
atively expensive to compute, such as determining the sign of all eigenvalues of the Jacobian.
Also, some conditions make implicit use of the solution line and therefore can not be computed
before the parallel vectors operator. For these reasons, we suggest to always calculate all solu-
tions of the parallel vectors operator first, and then apply the Boolean conditions to the resulting
set of lines. Advantages of this scheme are:
• 0RGXODULW\: the “parallel vectors” operator can be implemented as a procedure operating
on two arbitrary vector fields. It is implemented once and then used for many purposes.
• 1RLVH WROHUDQFH: Criteria can be applied tolerantly, e.g. accepting single exceptions. We
found that this produces more consistent lines.
We will discuss the specific criteria used by the various features in the next chapter, as they
strongly depend on the feature in question. However, we can identify two general conditions,
which can be applied to all feature definitions equally: a feature strength and a quality measure.

4.2.1 Feature Strength


For all the features we came across, it makes sense to define a measure for the VWUHQJWK of the
feature. How exactly such a strength is defined depends on the particular feature; for a vortex
core line for example, it measures the rotation strength around the core. For a ridge line, one
could use the magnitude of the second derivative perpendicular to the ridge, measuring the
“sharpness” of the ridge line. In some cases, such as in the case of a vortex rotation strength, it
is not entirely obvious how the strength should be defined, and there are several possibilities just
like there are many vortex core line definitions.
However, we found that some measure for the strength of a feature is always useful, since it
allows to classify the detected features according to their importance. A threshold value of a
minimal strength is often necessary to unclutter the image from small and weak structures, and
focus on the strong and large structures.

Vortex strength
For our most important feature, the vortex core lines, we define a YRUWH[ VWUHQJWK which is
designed to measure how fast the flow locally rotates around a particular point on the core line.
In a 2D flow, the speed of a rotation is measured by the absolute value of the imaginary part of
the eigenvalue; it makes sense to use this measure as the spiral patterns distinguish themselves
from the node patterns by the fact that spirals do have complex eigenvalues; the larger the imag-
inary part, the more the flow spirals around the critical point.
In order to use the same idea in 3D, we have to define the plane in which we will apply this 2D
criterion. We decide to project the local flow onto a plane perpendicular to the velocity at the

57
4 Parallel Vectors
4.2 Selection Criteria

LIC in plane perpendicular to


velocity at core

velocity at core

core line

streamlines

Fig. 4.1: Illustration of the definition of a measure for vortex strength.

core; this guarantees that the projection has a critical point exactly on the vortex core line. We
then measure the strength of the rotation at that point by the imaginary part of the eigenvalue of
the projected 2D flow in that plane (Fig. 4.1). We designate this plane normal to v ( x ) and
through the point x as Nx, v .
As a side note, this definition of the vortex strength can be applied anywhere, since it only uses
the local velocity and the Jacobian and does not depend on the actual core line. Such a definition
of the vortex rotation strength, combined with a threshold, could serve itself as a definition for
a vortex region (the region where rotation is larger than a given threshold); however, we mainly
use it to measure the rotation in points on a vortex core as defined by one of the many methods.
Note that this definition of vortex strength measures the rotation strength in a plane perpendic-
ular to the velocity at the core, not perpendicular to the core line itself. Since in general, there
will always be some non-zero angle between the tangent to the core line and the flow at that
location, one has to decide in which plane to measure the rotation. We decide to measure rota-

58
4 Parallel Vectors
4.2 Selection Criteria

tion in a plane perpendicular to the flow, in order to have a critical point in the center; this
implies that the plane of rotation is not necessarily perpendicular to the core line. As we will see
immediately in the next section, this angle is usually small (typically not exceeding 10-20
degrees for reasonably well-formed vortices).

4.2.2 Feature Quality – Angle Criterion


The next chapter will show that many applications of the parallel vectors operator are based on
a overly simplified model, which assumes that the resulting line is a trajectory of one of the
vector fields. Of course, it would then be a trajectory of the other vector field, too, since the two
vector fields are parallel along the core. So, this assumption can obviously not be true in general.
The solution line is defined solely by a local condition (whether the two vectors are parallel or
not), whereas a streamline can only be defined globally. Thus, a solution line of the parallel vec-
tors operator is in general not a streamline.

angle between
velocity at core
and
core line

core line

streamlines

Fig. 4.2: Illustration of the definition of a feature quality measure.


See Color Figure 2 on page 191.

59
4 Parallel Vectors
4.3 Implementation

For all the applications we examined, we found that as long as the feature is well formed, the
feature line is “almost” a streamline of one of the vector fields. In situations where the solution
line of a parallel operator has a large angle to the primary vector field (velocity vector for flow
fields, gradient for scalar fields), the feature does not well conform to the idealized definition
and is no longer clearly recognizable.
We can therefore use the angle between the generated line and the vector (illustrated in Fig. 4.2)
as a measure for how well the model fits the data. This angle is an indication of how clearly the
pattern is present at the current location; the smaller the angle, the clearer the pattern. We use
the cosine of this angle and call it the IHDWXUHTXDOLW\. With t being the tangent vector to the
solution line, the cosine of its angle to the velocity v can be calculated as

v t
cos ( α ) = ------ ⋅ ----- (4.4)
v t

α v

Fig. 4.3: Sketch for quality measure.

A quality approaching one corresponds to an angle approaching zero. The angle is measured as
the angle between two lines in space (without taking into account the orientation of the vectors),
so the angle can be at most 90 degrees and the quality measure is never negative.
Limiting this angle below a certain threshold is a useful technique for selecting meaningful
lines. In order to suppress structures which do not correspond well with the idealized definition
of a vortex, we usually require a minimal quality by prescribing a maximum angle (typically 30
or 45 degrees). This quality criterion appears equally applicable to all feature definitions, not
just to vortex core lines.

4.3 Implementation
In 2D, the “parallel vectors” operator is easily implemented by computing zero level isolines of
the cross product (4.2). However, if simple bilinear interpolation of cells is used, then no higher-
order singularities can be represented. Hence, it is not possible to obtain e.g. a junction of three
ridges in the interior of a cell. Fig. 4.4 shows how such a situation looks like and what a typical
result of an algorithm based on linear interpolation will do.

60
4 Parallel Vectors
4.3 Implementation

actual terrain bilinear approximation


junction of ridges not at a peak

actual terrain bilinear approximation


junction of ridges at a peak

height contour line


ridge line (minimum line)
maximum line

Fig. 4.4: A junction of ridge and valley lines occurs at a higher-order singularity.
Algorithms based on bilinear interpolation will avoid that point by connecting pairs.

For higher quality output, an algorithm such as presented by Haralick [45] can be used, or
higher-order methods such as developed by Scheuermann et al. [128] have to be adapted.
In the following, we assume vector fields in 3D. Unlike in 2D, there is no obvious implementa-
tion of the “parallel vectors” operator, but rather a variety of possible approaches. Since, in
implicit form, the parallel operator has been used several times in the literature, algorithms can
be derived from the publications described in section 3.4. They can be grouped into the follow-

61
4 Parallel Vectors
4.3 Implementation

ing four schemes. The choice becomes a trade-off between conflicting goals such as symmetry,
completeness or smoothness.

4.3.1 Iso-Surface Intersection


The 3D cross product has three components and is zero for two parallel vectors. If it is zero, then
any two of the three projections along the coordinate axes are zero, but not vice versa. There-
fore, one could generate iso-surfaces for two of the components and find their intersection, e.g.
by using the “marching lines” algorithm [150]. On the intersection curve, one then has to verify
that the third component is zero as well.
However, there are a couple of numerical problems associated with this approach. First, testing
for a zero value must be done tolerantly, as for a practical computation, the interpolation of the
third component will not be exactly zero at the intersection of the zero iso-surfaces for the first
two components.
Besides this, choosing a fixed pair of components can cause small angles when intersecting iso-
surfaces. These can be avoided by adaptively choosing the best pair of iso-surfaces for each cell.
But then care has to be taken to preserve continuity as the choice of the best pair may change
from one cell to the next while the lines are expected to be connected.
The following pseudo-code implements the intersection of two zero-iso-surfaces given two
scalar fields:
construct triangle representation of the zero iso-surface of the
first scalar field using the Marching Cubes algorithm

loop over each triangle

interpolate values of the second scalar field on the


corners of the triangle

find the zero contour of the second scalar field on


the triangle
since linear interpolation is used on the triangle, the zero contour is a straight line

if the zero contour intersects the triangle


add line segment to list of solution line segments
end if

repeat loop with next triangle


The algorithm guarantees that the resulting lines are closed, which may be an advantage for
some application. It can be used to find the intersection of two unrelated iso-surfaces. When the
two iso-surfaces are almost parallel, the discretization typically causes many little loops. We
found that for the usual applications of the parallel vectors operator, selecting two of the com-
ponents of the cross product and computing the intersection of the zero iso-surfaces as described
is not a good approach.

62
4 Parallel Vectors
4.3 Implementation

4.3.2 Iterative Method on Grid Faces


A better algorithm was implemented in the AVS 5 module library (see appendix D). It traverses
all internal faces (triangle or quadrilateral) of grid cells looking for zeros of the vector valued
function v × w within the grid cell. Starting in the center of each face, a number of 2D Newton-
Raphson steps are performed. If a zero is found but lies outside the current face, it is discarded.
Otherwise it is an intersection point of the solution line with the face, and the point is added to
a list of solution points.
Each Newton-Raphson step estimates the position of a zero of the cross product, which has three
components. Since we only have two parameters (two local coordinates of the current grid face),
this is an overdetermined system of linear equations. We know that the zero of the cross product
will be reached simultaneously in all three components (since, as explained in section 4.1, the
derived field c = v × w is degenerate). However, in a numerical calculation, this is not neces-
sarily so due to numerical errors in the calculation. We want to minimize the quadratic error;
this results in the following procedure, implemented in the AVS5 library module “parallel vec-
tors” (source code downloadable from [2]).
We call the two parameters describing the grid face ξ 1 and ξ 2 , initially set to 0.5 (the center of
the face). At this position, we evaluate (interpolate) the two vectors v and w, and their partial
derivatives with respect to the parameters, ∂v ⁄ ∂ξ i and ∂w ⁄ ∂ξi . The function to minimize is
the vector

c = v×w (4.5)

and we need its partial derivatives with respect to the ξ i , calculated by chain rule as

∂c ∂v ∂w
------- = ------- × w + v × -------- (4.6)
∂ξ i ∂ξ i ∂ξ i

These partial derivatives of c form a 2×3 matrix which we will call J c .


A Newton-Raphson step in 1D estimates the zero crossing of f as

f ( xi )
x i + 1 = x i – -------------- (4.7)
f '(x ) i

so the correction ∆x in step i is a solution of

f i ' ∆x = – f i (4.8)

63
4 Parallel Vectors
4.3 Implementation

In two dimensions, using above definition, we have to solve

J c ∆ξ i = – c (4.9)

This system is overdetermined (three components of c, only two unknowns ξ 1, 2 ). The normal
equation which finds the least-squares solution is

T T
J c J c ∆ξ = – J c c (4.10)

Since this is only a 2×2 system, it is reasonable to calculate the solution analytically by inverting
T
the matrix J c J c . The solution yields the estimated correction for the position of the solution
point. If the new point lies outside the boundaries of the current face, the correction step is trun-
cated to a point on the boundary. If the square of the cross product c is already smaller than a
fixed ε , the solution point is added to the list and the algorithm terminates. Otherwise, the iter-
ation is repeated for a maximum of 10 times.
This method can handle vector fields defined on the cell face by an arbitrary interpolation func-
tion, for example, a bilinear interpolation on quadrilaterals. Instead of directly yielding a set of
(discretized) lines, it results in a set of points with no direct information about their connections.
With only a small amount of additional computation (also included in the “parallel vectors”
module), a tangent to the solution line can easily be estimated at each of the points. In our imple-
mentation, the tangent is only used in the geometry output of the “parallel vectors” module,
which for debugging purposes displays the set of solution points found by the module by draw-
ing a little line in the direction of the estimated tangent at each of the points.

Connecting points to lines


The set of points may be sufficient for applications in which the feature is simply displayed; to
allow interaction such as selection of a feature, we need a data structure which describes the set
of lines; the points have to be connected by some algorithm.
Especially after the additional criteria for a particular feature are applied, only a small set of
solution lines is typically left. A large number of cells thus have no intersection with the result-
ing lines. Of the cells that a solution lines intersects, most have exactly two intersections (as the
line enters and exits the cell). The algorithm implemented in the AVS 5 module “connect lines”
first connects the lines by connecting entry and exit points by a straight line segment, if there
are exactly two intersection points per cell. The basic algorithm is described by the following
simple pseudo-code:

64
4 Parallel Vectors
4.3 Implementation

loop over all grid cells

count solution points on the current cell’s faces


since solution points are found as the intersection with internal grid faces with the
actual solution lines, all of the found points lie on some cell face. Most of the faces are
shared by two cells; points on such faces will be counted in each of the two cells.

if number of solution points is two


add connection between the two points
end if

repeat loop with next grid cell


Cases where a cell has only one or more than two solution points on its boundary occur for
numerical reasons or when feature lines end or meet in the cell. Apart from the trivial cases of
zero and two points, some decision has to be made what to do when for example three or four
points occur.
One strategy would be to identify the correct topology of the connections, for example by sub-
dividing the cell at one of the points until only cases with two points in each sub-cell remain.
Another idea is to make use of the estimate for the curve tangent mentioned above.
The algorithm implemented in the “connect lines” AVS 5 module uses a set of heuristics instead.
If there are four intersections with a cell for example, it decides for the two connections with
maximal distance from each other out of the three possible pairs of connections. If there are an
odd number of points in a cell, this algorithm does not assume any connections; likewise, it does
not handle cases with six and more points in a cell.
Since the whole library is designed to work with a set of points labeled with an additional Bool-
ean flag to indicate valid and invalid points with respect to some criteria, the implementation is
slightly more sophisticated as described above. The connection algorithm attempts first to con-
nect all the points, regardless of their selection flag. If however there are more than two points
in a cell, the flags are examined and pairs of valid points are connected with priority. For exam-
ple, if the cell has two valid and two invalid points, the algorithm will assume a connection
between the two valid points and one between the two invalid ones. If the total number of points
in a cell is odd, but there are two or four valid points, the invalid points will be left unconnected
while the pairs of valid ones will be connected. More details of the algorithm are described in
comments in the source code.

An alternative connection algorithm


The connection algorithm described above makes use of the knowledge of grid topology. An
additional algorithm which is based solely on proximity of the solution points has also been
implemented. It connects points which are closer than a given threshold, with the following pri-
orities:

65
4 Parallel Vectors
4.3 Implementation

• always connect points to existing lines before adding new lines


• always connect closest points first
The algorithm works on a list of “free” points (not yet assigned to a line) and a list of lines. It
can be used alone (in which case the list of lines is initially empty) or follow the above algo-
rithm, which already identified the connections which can be inferred from the grid topology.
The following pseudo code describes this proximity-based approach:
loop A:
first, search the closest pair of an existing line-end
and either a free point or another line-end

if point is closer to a line-end than a threshold, connect it,


resulting in either a longer line or a merging of two lines

repeat loop A until the closest point is too far away

loop B:
search the closest pair of free points

if they are closer than the threshold, connect them to a new line

loop C:
search the closest pair of a free point and
either of the two ends of the new line

if the point is closer than the threshold,


connect it to the line-end

repeat loop C until closest point is too far away

repeat loop B until closest pair is too far apart


Other methods to reconstruct the connectivity are also feasible. Miura and Kida for example
connect each point to its two nearest neighbors when they are not further away than two grid
width units (implicitly assuming a uniform grid).

4.3.3 Analytic Method for Triangular Faces


The structure of this implementation of the parallel vectors operator is the same as the above
algorithm. Instead of using an iterative method inside each grid face, it calculates an analytic
solution for a linear interpolation of the two vector fields u and v on the face. Therefore, quad-
rilateral faces have to be subdivided into triangles. The search for points where two linear vector
fields v and w are parallel can be reduced to an eigenvector problem in the following way.

66
4 Parallel Vectors
4.3 Implementation

On a triangular face, a linear 3-component vector field v can be written as a function of local
triangle coordinates s, t (Fig. 4.5):

s
v = V t (4.11)
1

where V is a 3×3 matrix, and analogously for w and W. The three coordinates can be interpreted
as homogeneous coordinates s,t,u with u set to one.

1 v

v
t

1
s
0 v

Fig. 4.5: Sketch of triangular face with local triangle coordinates s,t,
and a 3D vector field v defined over it.

Two fields are parallel when

s s
V t = λW t (4.12)
1 1

If W is invertible, multiplying this by its inverse, W –1 , leads to

s s
W –1 V t = λ t (4.13)
1 1

which is an eigenvector problem Mx = λx with M = W –1 V . If W is not invertible but V is,


then the roles of v and w can be swapped. If both are singular, no isolated solutions exist. Points
where two linear vector fields are parallel can thus be found analytically by calculating eigen-
vectors of a 3 by 3 matrix M. Points lying outside the triangle must be discarded.

67
4 Parallel Vectors
4.3 Implementation

The rest of this algorithm is the same as for the above method with an iterative solution for the
point on a grid face. The method also produces just a list of points, whose connectivity has to
be determined by the connection algorithm described above.
The two implementations from section section 4.3.2 and this section have been chosen for our
reference implementation since they are both robust and general. Robust means that the algo-
rithm is numerically stable and does not exhibit the problem of “small loops” as does the first
algorithm (intersection of two iso-surfaces). By general, we mean that this algorithm works
equally well for all kinds of points where v is parallel to w, even when the feature quality as
defined in section 4.2.2 is low. Also, the two methods are almost symmetric with respect to the
two vector fields: these two algorithms will find almost the same points for w || v as for
v || w . For these reasons, we chose algorithms based on intersections of the solution lines with
grid faces for our implementation.

4.3.4 Curve-Following Algorithms


The first algorithm guarantees closed solution lines. Careful implementation of the other two
above methods also result in closed lines unless the connections can not be properly recon-
structed. Nevertheless, a situation as in Fig. 4.6a may occur. Even if such a result is correct for
the multilinearly interpolated discrete data, a more consistent set of lines with a different topol-
ogy as in Fig. 4.6b may be desired.

a) b)

Fig. 4.6: a) Possible and b) desired connectivity for the same points on the grid borders.

This is why, in practice, curve-following algorithms as described by Banks and Singer [11] or
Miura and Kida [95] have been shown to be successful: Starting from a seed point lying on the
curve v || w , the curve is constructed by stepping along it.

68
4 Parallel Vectors
4.3 Implementation

A small step is first done along v and then corrected within the plane Nx, v (normal to v ( x ) and
through x) for minimizing the magnitude of the projection of w. A detailed description of this
predictor-corrector method has already been given in section 3.4.4.
As mentioned there, this algorithm needs suitable starting points which already lie on the solu-
tion line. These can for example be found by starting the algorithm from arbitrary positions and
tracing a fixed number of steps forward in order to first converge to the solution line and then
tracing forward and backward from there. Also, the size of the correction step must be closely
bounded in order to keep the algorithm from diverging from the solution line.
In the limit of infinitesimally small steps, this procedure traces correct solution lines of v || w
when the algorithm converges. However, there are also the cases where the algorithm diverges;
this occurs when the vector field v used for the predictor step is at a large angle to the true solu-
tion line of v || w . Since this coincides with the cases of low feature quality as defined in sec-
tion 4.2.2, we can say that this curve-following algorithm works well only for features of
relatively high feature quality. Since in our experience, users will usually be interested only in
the features of reasonably high quality, a curve-following algorithm is a good choice for a spe-
cific instance of the parallel vectors criterion. The implicitly required high quality measure of
the solution line makes this algorithm less suited for an implementation which is supposed to
handle all cases equally well and also find solution points of low feature quality. Also, it is
highly asymmetric: making predictor steps in the direction of w and correcting to minimize v
may result in a significantly different set of lines.
Compared with the previous two algorithms, the main advantage of the curve-following method
is that it directly provides the proper connection of the points. Also, it implicitly tends to choose
the desired second possibility when faced with a situation as in Fig. 4.6. It only is able to find
lines of reasonably good quality - this can be an advantage or a disadvantage, depending on the
goals of the application.
In summary, we would recommend a curve-following algorithms when implementing one par-
ticular feature definition and when features of low feature quality are undesired. For a general
implementation allowing to experiment with a variety of feature definitions and for examining
the full set of solutions of the parallel operator, we advise to use one of the two methods based
on the intersection of the solution lines with interior grid faces, although the connectivity has to
be reconstructed with significant effort.

69
4 Parallel Vectors
4.3 Implementation

70
5 Analysis of Line-Type Features

5 Analysis of Line-Type Features

In this chapter, we will analyze the various algorithms for locating vortex core lines, ridge and
valley lines described in chapter 3. In particular, we will show how each of the definitions
underlying these methods can be expressed using the parallel vectors operator introduced in the
previous chapter. We also describe some generalized line-type features that can be derived from
the parallel vectors operator, namely the loci of zero curvature, minimum and maximum lines
of a vector field, and ridge and valley lines of a 3D scalar field. We chose here to first discuss
the previously published methods and derive generalized feature definitions from these exam-
ples, so the generalized definition follow the specialized ones. For a more axiomatic structure
where first the general definitions are derived and then further specialized to the various vortex
core methods, our paper on the parallel operator [105] can be consulted.

5.1 General Observations on Vortex Core Lines


In the following, we will point out some general observations on the definition of vortex core
lines.

Conflicting definitions
From the collection of methods in chapter 5, it is obvious that there is no agreement on a proper
definition of a vortex or a vortex core line. Many of the definitions directly contradict each
other. With the exception of Truesdell’s kinematic vorticity number criterion [152] which,
although differently derived, is mathematically equivalent [100] to a positive second invariant
of the Jacobian [59, 63], all underlying definitions are fundamentally different.
Several of the papers discuss the problems arising from other, previously suggested definitions,
sometimes by presenting analytical flow fields serving as counterexamples for a particular def-
inition. Notable is the extensive paper by Jeong and Hussain [63], in which they discuss many
known vortex core definitions before presenting their Lambda2 definition.

Basic assumptions
Most papers make some a priori assumptions about a vortex or vortex core, some without
explicitly stating them. Our a priori assumption here is that we only want to detect the very
center line of rotation, what we call the vortex core. Note that other publications, such as for
example Jeong and Hussain [63], denote by vortex core a whole 3D region, while we restrict the

71
5 Analysis of Line-Type Features
5.1 General Observations on Vortex Core Lines

definition to a set of lines. Unless explicitly noted otherwise, we always mean a vortex core line
when speaking of a vortex core.
Also, from experience with practical application of the various methods (discussed in [120]),
we restrict ourselves to local methods as defined on page 24. That is, the definition of the vortex
core line must depend only on the local flow close to the core line; most proposed definitions
have this property, with the exception of streamlines and vorticity lines.
Finally, what we are looking for is a formal definition which agrees with an engineers notion of
a vortex. The ultimate test for any method therefore is whether or not it indicates the same struc-
tures that engineers would identify as vortices in practical data sets.
Finally, we restrict ourselves to the definition of vortices in steady flows. We assume that the
definition can also be applied to instantaneous flows (slices of constant time of a time-depen-
dent flow field). Essentially, this assumption is good as long as vortices move much slower than
fluid particles.

Fundamental properties
We can identify some fundamental properties of vortex core definitions. /RFDOLW\ is one of them,
the only one which we require a priory. This excludes methods that identify a particular point
(e.g. a critical point of the velocity) and trace streamlines or vorticity lines (streamlines of the
vorticity field) from there. We will present an example flow which strongly suggests that a
vortex core is not a streamline in chapter 5.

Galilean invariance
A fundamental property of a vortex core definition is the question whether or not the definition
is Galilean invariant (also called Lagrangian invariant). A definition of a feature is *DOLOHDQ
LQYDULDQW if it does not change with the choice of an arbitrary, constantly moving coordinate
system.
In practical terms, if the definition of the feature is such that it does not change with the addition
of an arbitrary constant vector to the whole flow field, then the feature is Galilean invariant. Of
course, methods which are based only on quantities derived from the Jacobian (such as
Lambda2, invariants, vorticity) or pressure are all Galilean invariant. On the other hand, if the
definition involves the velocity or a quantity which directly depends on it, such as critical points
or helicity, the definition is not Galilean invariant.
We do not know if “real vortex cores” are Galilean invariant. Fluid dynamic publications deal-
ing with small-scale physics of flows often make this assumption (e.g. Jeong and Hussain [63]).
On the other hand, studying simple 2D example flows for vortices such as rigid rotation or a

72
5 Analysis of Line-Type Features
5.1 General Observations on Vortex Core Lines

potential vortex suggests that the 2D vortex core is the critical point, so it obviously moves with
the addition of a constant vector. The addition of a constant to a linear flow field produces the
same flow pattern, only translated: an arbitrary nondegenerate linear flow (with the origin at the
critical point) to which a constant v 0 is added can be written as the same flow, translated by x 0
as follows:

Ax + v 0 = A ( x + x 0 ) (5.1)

with

x 0 = A –1 v 0 (5.2)

This suggests that the vortex core should move when a constant is added to a linear flow, so the
vortex core is not Galilean invariant.

Fig. 5.1: A simple moving vortex in time-dependent data, viewed in a reference frame that
moves with the vortex (a), or moving slowly (b) or quickly (c)
in comparison with the movement of the vortex.
Illustration from Lugt [84].

Further problems arise when we try to define vortices in time-dependent vector fields instead of
steady ones. Lugt discussed this point in a paper entitled “The dilemma of defining a vortex”
[84], from which Fig. 5.1 was taken. We restrict ourselves here to steady vector fields, where the
frame of reference is naturally given (boundaries of the field are steady only with respect to one
frame of reference). If the flow field represents an instantaneous field of a time-dependent sim-
ulation, we assume the vortices move much slower than the average particles so they can be
approximated as standing still.
In any case, we can use the Galilean invariance property to assign any method to one of two
classes: those which are Galilean invariant and those which are not.

73
5 Analysis of Line-Type Features
5.2 Analysis and Generalization of Existing Methods

Vector scaling invariance


Another such property which some methods exhibit and others do not is what we call the YHFWRU
VFDOLQJLQYDULDQFH. If the length of the vectors in a flow field are changed in a continuous way,
without affecting the direction of the flow, without changing the sign, and without scaling any
non-zero vector to zero, will the vortex cores change? Put more mathematically, are the vortex
cores of the field v and the field sv the same when s is an arbitrary differentiable scalar field
which is everywhere positive? A definition for which this is the case will be called VFDOLQJ
LQYDULDQW; in such a definition, the location of vortex cores depends only on the direction of the
flow.
Methods which depend on the magnitude of derivatives, such as vorticity, are not scaling invari-
ant: vorticity can change direction or become zero for a particular choice of s in any nondegen-
erate region.
Our motivation for scaling invariance is the following: engineers who look for vortices in their
data do so by interactively observing streamlines and looking for spiraling patterns. They also
present pictures of spiraling streamlines as evidence of a vortex in a data set. Streamlines solely
depend on the direction and not on the speed of fluid particles. So the fact that only streamlines
are used to visualize a vortex suggests that the definition of a vortex should not depend on the
distribution of flow speeds. If the speed of particles and not only their path lines decide whether
or not a vortex is present, engineers would have to visualize the particular distribution of veloc-
ities forming the vortex by some appropriate visualization technique, for example animated par-
ticles.
Note that the condition of two vectors v and w being parallel is invariant of the scaling of those
two vectors. Of course, if the directions of w change when replacing v by sv due to a particular
dependence of w from v, then the result of the parallel operator changes nevertheless. So like
with Galilean invariance, we can classify the algorithms according to whether or not they are
scaling invariant.

5.2 Analysis and Generalization of Existing Methods


5.2.1 Levy/Degani/Seginer
As presented in section 3.4.3, the method proposed by Levy et al. [80] defines vortex cores as
the places where normalized helicity approaches +1 or – 1 .
This method is straightforward to express using the parallel vectors operator. The normalized
helicity is simply the cosine of the angle between the velocity v and the vorticity ∇ × v . If the
two vectors are parallel (which includes the antiparallel case where they are parallel but point
in opposite directions), the angle between them is zero or 180 degrees (π), and the cosine is +1

74
5 Analysis of Line-Type Features
5.2 Analysis and Generalization of Existing Methods

or –1 . So the method defines a vortex core line as the points where vorticity is parallel to veloc-
ity:

v || ∇ × v (5.3)

The authors do not require any additional criteria for the vortex core. Probably the authors
intended to exclude points with zero vorticity or zero velocity: at points where one of the vectors
is zero, normalized helicity is not properly defined due to the division by zero in the normaliza-
tion. However, by defining the normalization such that a zero vector remains zero after normal-
ization, the dot product becomes zero and not ± 1 , so these points would be excluded. Note that
they are included in the parallel formulation above, since the parallel operator includes the
points where either of the two vectors is zero.
It should be noted that in a nondegenerate vector field, the vector is zero only at isolated points.
Furthermore, in any ε-neighborhood around such a critical point, a nondegenerate vector field
assumes all possible directions, so there are points where the two (non-zero) vectors are parallel.
We decide to include the critical points in the lines returned by the parallel vectors operator; this
way, the resulting lines are continuous.
Mathematically, the critical points of vorticity and velocity can be excluded by adding the two
criteria v ≠ 0 and ∇ × v ≠ 0 to the definition. For nondegenerate fields, this only excludes iso-
lated points; so the overall picture does not change. Thus, we chose not to include these criteria
in the definition.
The original publication did not recognize that a normalized helicity of ± 1 is a sufficient con-
dition to define a set of lines. Instead, it only examines selected cut planes for extremal normal-
ized helicity and tracks the vortex core using a streamline started from these sectional extrema.
It is particularly easy to find a counterexample for the vortex definition of Levy et al.: a simple
linear flow field is sufficient. A linear flow has a constant vorticity; a spiraling pattern has to be
chosen in order for the flow to contain a vortex. We chose the following simple linear flow:

1 –1 0
v = 1 0 1 x (5.4)
0 1 0

depicted in Fig. 5.2. The curl of this flow is the constant vector [0 0 2], aligned with the z-axis
(upward in the picture). The line where this constant vorticity is parallel to the velocity is the
diagonal in Fig. 5.2. The obvious core line of this vortex is also a straight line through the center,
but a different one (light gray diagonal line in the figure).

75
5 Analysis of Line-Type Features
5.2 Analysis and Generalization of Existing Methods

line of extremal z-axis and


normalized helicity direction of vorticity vector

evident
core line

evident
core line

streamlines line of extremal


and stream surface normalized helicity

Fig. 5.2: The linear vector field from eq. (5.4), containing a vortex which rotates
in a plane neither perpendicular to its core nor to the vorticity (z-axis).

As the counterexample shows, the evident rotation axis of a linear flow does not need to be
aligned with the curl of the flow. Also, the plane in which the flow rotates is not necessarily per-
pendicular to the vortex core line.
In some practical cases however, the algorithm nevertheless produces good results. The method
is particularly successful for vortices which look similar to a rigid rotation in a plane approxi-
mately perpendicular to the vortex core line.

76
5 Analysis of Line-Type Features
5.2 Analysis and Generalization of Existing Methods

Since the definition includes the velocity directly, the method is not Galilean invariant. As vor-
ticity and helicity change with a local scaling of the flow vectors, the definition is also not scal-
ing invariant.

5.2.2 Banks/Singer
The predictor-corrector method of Banks and Singer was described in section 3.4.4. It uses
small predictor steps in the direction of local vorticity, each followed by a correction step in a
plane perpendicular to the local vorticity. The correction is to a local minimum of pressure in
that plane. If the correction is too large, the algorithm terminates.
This procedure is obviously based on the assumption that the direction of the vorticity vector
has little variation compared to the variation of pressure. Under this assumption and for small
step sizes, the algorithm yields points where vorticity is approximately parallel to the pressure
gradient. So the underlying definition of the vortex core line implies that vorticity is parallel to
the pressure gradient:

∇ × v || ∇p (5.5)

As is typical of the applications of the parallel vectors operator, this condition is necessary but
not sufficient. Also included in the set of solutions of (5.5) are lines which have a maximum of
pressure in a plane perpendicular to the vorticity, or a saddle point.
We have to add a condition which selects only the points with minimal pressure from the solu-
tion lines of (5.5). This can be done by sampling the pressure in a small neighborhood within
the plane and checking whether pressure is indeed minimal at that point. However, a suitable
distance for the sampling has to be chosen. If this distance is too small, subtraction of two almost
equal number causes numerical problems. If it is too large, the samples may indicate that the
pressure is lower outside in spite of the stationary point being a local minimum. For this reason,
we chose instead to implement the condition using the second derivatives of pressure.
To determine the type of stationary point, the Hessian of pressure (the symmetrical 3×3 matrix
of its second derivatives) is projected perpendicular to the vorticity to obtain the 2×2 Hessian of
the pressure in the given plane. Since also this 2×2 Hessian is symmetric, it has two real eigen-
values, the signs of which describe the type of stationary point within that plane:
• both eigenvalues positive: minimum
• both eigenvalues negative: maximum
• eigenvalues have different sign: saddle
So the complete idealized definition behind the algorithm of Banks and Singer is the set
∇ × v || ∇p , reduced to the points which have two positive eigenvalues of the projected pres-
sure Hessian.

77
5 Analysis of Line-Type Features
5.2 Analysis and Generalization of Existing Methods

There are also the cases in which a particular line satisfies both above conditions, but the pre-
dictor-corrector algorithm diverges from the solution lines. This occurs when there is a large
angle between the solution line and the vorticity, or when the steps are too large. If desired, these
cases can be discarded by calculating the angle between core lines and vorticity and applying a
threshold. This selection is similar to the quality measure (section 4.2.2), only that the angle to
vorticity instead of to velocity is used.
This definition is Galilean invariant. Since vorticity changes with local scaling, it is not scaling
invariant.

5.2.3 Generalization: Sectional Extrema of Arbitrary Scalar


The definition of Singer and Banks, formalized by the parallel operator gives rise to a whole
class of possible definition of line-type features called VHFWLRQDOH[WUHPD. In an arbitrary vector
field w and a scalar field s in a common domain, we are looking for places x where the scalar
s is extremal in N x, w (the plane perpendicular to w). These must be VWDWLRQDU\SRLQWV of s in
N x, w , i.e. points where the gradient of s is zero.
This set of points can be written as

w || ∇s (5.6)

The stationary points can be classified into maxima, minima or saddles using the eigenvalues of
the projected Hessian of s as described above.
A large number of new definitions for vortex core lines can be generated with this generalized
approach. One only has to pick a direction w as an a priori estimate for the direction of a vortex
axis. The planar sections are then defined as lying perpendicular to this vector. Then one selects
a scalar value s which must be locally maximal or minimal in the section. All these methods can
then be described as w || ∇s , combined with the appropriate condition to select only minima
or only maxima.
Reasonable choices for the direction w (which approximate the direction of the vortex core) are
the following:
• velocity v – suggesting that a vortex core line is close to a streamline
• vorticity ∇ × v – suggesting that the vortex core line is close to a vorticity line
• real eigenvector of the Jacobian e 0 – the evident vortex axis of linear fields.

78
5 Analysis of Line-Type Features
5.2 Analysis and Generalization of Existing Methods

Possible choices for s are any scalar which is expected to be maximal or minimal at the vortex
core, such as the following:
• pressure (min)
• vorticity magnitude (max)
• helicity (max)
• second invariant of the Jacobian (max)
• lambda2 (min)
• a measure for vortex strength (max).
Essentially, this generalized concept can turn any region-type definition for a vortex based on
the threshold of a scalar into a line-type definition of the center. Instead of defining all points
above or below a threshold as the vortex region, it defines the maxima or minima as the vortex
core line.
To our knowledge, only two of the above combinations have been suggested in previous publi-
cations, namely
• minimum of pressure in plane perpendicular to vorticity (Singer/Banks)
• maximum of vorticity magnitude in plane perpendicular to vorticity (Strawn/Kenwright/
Ahmad)
The latter is a special case, as it uses the magnitude of the vector w as the scalar and thus only
depends on one vector field (in this case, the vorticity); this is discussed next.

5.2.4 Strawn/Kenwright/Ahmad
The procedure by Strawn, Kenwright and Ahmad, described in section 3.4.7, tries to locate the
maxima of vorticity magnitude in planes perpendicular to the vorticity. This is an instance of
the sectional extrema, but depends only on a single vector field. The resulting set of lines are a
unique feature of an nD vector field, its extremum lines, defined as follows:
For a vector field v and a given point x, let Nx, v denote the normal space of v at x, i.e. the line
or (hyper-)plane containing x and being normal to v.

Definition: An H[WUHPXPOLQH of a vector field w is the set of points x where


the restriction of w to Nx, w is locally extremal. It is called a
PLQLPXP PD[LPXP OLQH if w is minimal (maximal). (5.7)
In 3D, this means that the vector magnitude is minimal or maximal at x w.r.t. the plane through
the point x and perpendicular to w ( x ) .

79
5 Analysis of Line-Type Features
5.2 Analysis and Generalization of Existing Methods

2
Of course, w can be replaced by w which leads to the necessary condition

2
w || ∇ ( w ) (5.8)

for extremum lines. In 3D (or higher dimensions), solutions of eq. (5.8) include “saddle lines”,
consisting of points where w assumes a saddle in Nx, v .
The general vector identity ∇ ( u ⋅ v ) = ( ∇u ) T v + ( ∇v ) T u (A.60) for u = v yields
2 T
∇ ( u ) = 2 ( ∇u ) u . By applying this to (5.8), we obtain the equivalent necessary condition
for extremum lines,

T
w || ( ∇w ) w (5.9)

In order to distinguish maximum, minimum and saddle lines, the same condition on projected
eigenvalues as above can be applied.
Using this definition, we can now say that the vortex core definition of Strawn, Kenwright and
Ahmad consists of the maximum lines of vorticity. Also, we can directly turn equation (5.9) into
a practical algorithm by using the implementation of the parallel operator. Note that the original
publication only implemented an approximation of their idealized vortex core definition: It
searched maxima on planes aligned with the grid faces instead of perpendicular to the vorticity.
Using one of the general implementations of the parallel operators makes this approximation
unnecessary.
Minimum and maximum lines have also been used for other applications, for example in med-
ical imaging or digital terrain models by Tang and Medioni [145], but they have not before been
expressed using the parallel vectors operator.

5.2.5 Sujudi/Haimes
The eigenvector method of Sujudi and Haimes was described in section 3.4.5. It is defined using
a relatively complex algorithm: first, the eigenvalues of the Jacobian ∇v have to be found. If
only one real eigenvalue exists, the corresponding eigenvector e 0 is determined; otherwise, the
current location is discarded. A reduced velocity is calculated by subtracting the component in
the direction of e 0 from the velocity. Finally, the locations where this reduced velocity is zero
are computed.
Obviously, zero reduced velocity corresponds to the condition that velocity v is parallel to the
real eigenvector direction e 0 :

v || e 0 (5.10)

80
5 Analysis of Line-Type Features
5.2 Analysis and Generalization of Existing Methods

An algorithm derived from this definition would pre-calculate the real eigenvector of the Jaco-
bian in the whole field and use the parallel vectors operator to find the solutions. But we can
further simplify the calculation and completely avoid the expensive calculation of eigenvectors:
First, we observe that an eigenvector only represents a direction; it does not have a specific
length. An equivalent formulation is therefore that v itself is an eigenvector of the Jacobian
J = ∇v . We recall that an eigenvector of J is defined by a solution e of Je = λe (A.18), so
this condition for the vortex core can also be expressed as

Jv = λv (5.11)

It is also equivalent to the condition that Jv is parallel to v:

v || ( ∇v ) v (5.12)

An implementation derived from this equation simply calculates the Jacobian, computes
a = ( ∇v )v and then makes use of the parallel vectors operator to find the places where
v || a . Implemented this way, it is not necessary to do the calculation of eigenvalues and eigen-
vectors.
Equation (5.12) ensures that v is an eigenvector of the Jacobian. Of course, v is given and
always real valued. In order to make sure that it is the only real eigenvector of the Jacobian, it
is sufficient to check the discriminant D (A.27) for a positive sign D > 0 .

Correctness in linear flow fields


An important property of the definition by Sujudi and Haimes is that it leads to the correct
vortex core for all truly linear flow fields. By this, we mean that the method detects a vortex in
all linear fields of a spiral type (spiral saddle, spiral node), and the evident rotation axis agrees
with the detected vortex core. This can be verified by simply inspecting each of the possible
types of patterns around a critical point; we can ignore the addition of a constant vector to the
linear field as it only moves the critical point to a different place without changing the flow pat-
tern. A typical example of a linear flow containing a vortex was shown in Fig. 5.2; the vortex
core according to the Sujudi/Haimes definition is the straight line around which the flow spirals.
We will further analyze this core line definition and find more general feature lines in the next
section.

81
5 Analysis of Line-Type Features
5.2 Analysis and Generalization of Existing Methods

5.2.6 The Loci of Zero Curvature


We saw that Sujudi and Haimes define the vortex core as the place where v || ( ∇v ) v . The
right-hand side has a physical meaning: for a steady vector field, the term ( ∇v ) v is the accel-
eration of a fluid particle:

Dv
a = -------- = ( ∇v ) v (5.13)
Dt
as derived in the appendix, (A.32).
At the vortex core, the acceleration a of a fluid particle is parallel to its velocity v. This means
that its current motion will continue in the direction of v, the particle will thus momentarily
follow a straight line. More precisely, the streamline through a point on the core has zero cur-
vature at this point. We can define the locus of all points where the streamlines have zero cur-
vature as a general feature of vector fields:
The ORFLRI]HURFXUYDWXUH of a non-degenerate vortex fields are the points where

v || ( ∇v ) v (5.14)

This set of points is a superset of the vortex cores by Sujudi and Haimes: for a vortex core, the
determinant must also be positive, meaning that complex eigenvalues exist.

5.2.7 Flow Attachment and Detachment Using Parallel Vectors


We just saw that the vortex cores according to Sujudi and Haimes are the loci of zero curvature
combined with the criterion that there are complex eigenvalues of the Jacobian. The definition
of attachment and detachment lines by Kenwright et al. [68], described in section 3.5, is very
similar:
Like the eigenvector method for the vortex cores, the algorithm for attachment and detachment
lines determines the places where the flow is parallel to an eigenvector of the Jacobian. Again,
we can also say that the flow vector v itself is an eigenvector of J. A necessary condition for
attachment and detachment lines is therefore

v || ( ∇v ) v (5.15)

which is the same condition as for Sujudi and Haimes’ vortex cores, and which is also the locus
of zero curvature introduced above.
Since attachment and detachment lines are features of a 2D flow (the skin friction field on a
solid surface), there are either two conjugate complex or two real eigenvalues of the Jacobian.

82
5 Analysis of Line-Type Features
5.2 Analysis and Generalization of Existing Methods

attach m en t lin es
D

λ1 > 0
dl
e no B
d de
sa

λ0 < 0 λ0 > 0 A
E
attractin g re p ellin g
detachm en t lin es
λ1 < 0

no le
de dd H
F sa

Fig. 5.3: Different cases for classification of attachment and detachment lines.

Patterns of places where v (in the center of each small circle, velocity to the
right) is an eigenvector of the Jacobian, plotted in “phase space” (eigenspace).
The cases from B to E are attachment lines according to the classification by
Kenwright, F to A are detachment lines. For symmetry reasons, we propose to
only regard B to D as attachment lines and F to H as detachment.

83
5 Analysis of Line-Type Features
5.2 Analysis and Generalization of Existing Methods

In the first case, the associated eigenvectors are also complex. Thus all solutions of (5.15) are
cases with two real eigenvalues, since v is an eigenvector and always real valued.
Not all of the solutions are detachment or attachment lines though: a distinction is made in the
original algorithm by identifying the pattern in “phase space” (a coordinate system aligned with
the eigenvectors of J). Based on this pattern, the solutions are classified as an attachment line,
detachment line or neither. The decision is made according to the sign and ratio of the two
eigenvalues, while the actual magnitude of the eigenvalues does not matter.
We visualize these cases graphically in Fig. 5.3 by arranging them in a circle. Sixteen of these
cases are plotted. The eigenvalue associated with the eigenvector v (5.15) is called λ 0 and is
plotted toward the right. The other eigenvalue λ 1 , plotted on the vertical axis, distinguishes
attachment lines ( λ 1 > 0 , top half) from detachment lines ( λ 1 < 0 , lower half). On the left side
of this plot are the cases in which the flow at the current position is towards the critical point
(attracting), on the right side the flow at the current position is away from the critical point
(repelling). Patterns in the upper right (cases A-C) and lower left (E-G) are nodes, the other are
saddles.
The algorithm as described by Kenwright classifies the cases from B to E (Fig. 5.3, counter-
clockwise) as attachment lines and F to A as detachment lines. For nodes where λ 0 > λ 1
(cases A to B and E to F), the eigenvector e 1 corresponding to λ 1 is the dominant one and the
pattern is not considered to be an attachment or detachment line.
We propose that the same distinction into dominant and weak cases could also be made for the
saddle patterns, and would prefer to only consider the cases from B to D as attachment, and F
to H as detachment lines (only the solid arcs in Fig. 5.3, excluding the dashed part).
Whatever choice is made for the exact classification, we can find attachment and detachment
lines by finding all zero curvature lines of the vector field and filter the resulting lines with
appropriate criteria on the size of the two eigenvalues.

Bifurcation lines
The attachment and detachment lines were intended only for 2D fields. Using the formulation
with the parallel operator, the definition can also be applied to 3D fields, and likewise results in
a set of lines. To select only the points where all eigenvalues are real, the discriminant D (A.27)
has to be negative. The result are zero curvature lines where the Jacobian has three real eigen-
values.
Among these lines are the ELIXUFDWLRQOLQHV described by Perry and Chong, shown in Fig. 5.4,
if they are sufficiently straight. The bifurcation line has the characteristics of both an attachment
and detachment line: the flow converges exponentially towards the bifurcation lines in one

84
5 Analysis of Line-Type Features
5.2 Analysis and Generalization of Existing Methods

plane, and diverges from it in another plane. Note that the definition of bifurcation lines is very
similar to the vortex core definition by Sujudi and Haimes, except that for the vortex cores, com-
plex eigenvalues are necessary, whereas for the bifurcation lines, real eigenvalues are required.
Problems of this definition are expected in places where the bifurcation lines are strongly
curved; this in analogy to the problems of vortex core definitions with curved vortices discussed
in the next chapter.

Fig. 5.4: A bifurcation line. These lines can be obtained by applying the attachment/
detachment line definition to 3D data (as long as the bifurcation line is not strongly curved).
Figure from Perry and Chong [108].

5.2.8 Ridge and Valley Lines


Repeating the definition from section 3.6, a ridge or valley line consists of the points where the
slope is locally minimal compared to points of the same elevation. The points of the same ele-
vation p are located on a line perpendicular to the elevation gradient. The definition therefore
requires a minimum of the magnitude of the slope in the normal space Nx, v , with v being the
gradient of elevation. This directly leads to the following fact:

Ridge and valley lines are minimum lines of the elevation gradient v = ∇p . (5.16)
They can therefore be calculated using the parallel vectors operator by solving using equation
(5.9) for the calculation of extremum lines:

T
v || ( ∇v ) v (5.17)

85
5 Analysis of Line-Type Features
5.2 Analysis and Generalization of Existing Methods

with v = ∇p . The Jacobian of v, ∇v , is the Hessian of p, ∇ ( ∇p ) and thus a symmetric matrix.


So the transposition can be omitted, leaving

v || ( ∇v )v (5.18)

This is exactly the condition for the loci of zero curvature of v. For all conservative vector fields
(where v can be written as the gradient of some potential p, v = ∇p ), the extremum (and sad-
dle) lines are equivalent to the loci of zero curvature.
So ridge and valley lines are also zero curvature lines of the elevation gradient. Fig. 5.5 shows
the ridge lines extracted this way from an actual terrain.

Fig. 5.5: Ridge lines extracted from a terrain in central Switzerland by extracting the zero
curvature lines of the elevation gradient and applying the criteria for ridge lines.

For research applications in geomorphology, the raw ridge and valley line features are often
subject to extensive post-processing. A typical goal is to construct a directed acyclical graph
(DAG) from the valley lines. This DAG represents the topography of the valleys and the water
flow in a terrain. Location where the valley feature is missing are added to build a fully con-
nected DAG. It is then pruned in order to simplify the graph and only include the larger struc-
tures of the valleys.

86
5 Analysis of Line-Type Features
5.2 Analysis and Generalization of Existing Methods

Fig. 5.6: Successive simplifications of the DAG constructed from valley lines,
a typical post-processing for geomorphology applications.
Images from [40].

From (5.16) it is obvious that the original 2D concept of a ridge or valley line can also be used
in 3D, and leads to a line-type feature of 3D scalar fields. We will see in the following section
that valley lines of a 3D scalar field are also a possible definition of vortex core lines.

5.2.9 Miura/Kida
The algorithm proposed by Miura and Kida was described in section 3.4.6. With the previous
discussion of ridge and valley lines, we can now see that it attempts to construct the valley lines
of (pseudo-) pressure.
In the limit of increasing the grid resolution, the algorithm picks points on the predicted line of
sectional minima of pressure. This is the case exactly on the valley lines of pressure, where the
pressure gradient is an eigenvector of the pressure Hessian.

87
5 Analysis of Line-Type Features
5.3 Systematic Overview

So we can put the same definition in much simpler words: the vortex cores are the valley lines
of (pseudo-) pressure. We can also use one of the standard parallel vectors operator implemen-
tations to find the vortex core lines without having to resort to approximations and needing arbi-
trary thresholds.

5.3 Systematic Overview


In the last section, we saw how each of the line-type features from chapter 5 can be expressed
using the parallel vectors operator. We also saw that there are generalized features, namely min-
imum and maximum lines, the loci of zero curvature and ridge and valley lines.

Authors Type Description Basic Formula Additional Criteria Page


*)
Sujudi, Haimes Z zero curvature lines v || ( ∇v ) v complex eigenvalues 80
of velocity
Miura, Kida Z,E valley lines of pressure v || ( ∇v ) v valley line 87
with v = ∇p (conditions on eigenvalues)
T
Strawn, E maximum lines w || ( ∇w ) w maximum line 79
Kenwright, Ahmad of vorticity with w = ∇ × v (conditions on eigenvalues)
Levy, Degani, velocity parallel v || ∇ × v rotation 74
Seginer to vorticity (non-zero vorticity)
Banks, Singer vorticity parallel to gradi- ∇p || ∇ × v minimum of pressure 77
ent of pressure (condition on eigenvalues)
Table 5-1: Overview of feature definitions of existing vortex core methods
Type *): Z = zero curvature lines, E = extremum lines
Table 5-1 lists the methods for vortex core lines. Each of the methods can be expressed using
the parallel vectors operator combined with some Boolean criteria, typically on the eigenvalues.
The parallel vectors operator allows us to express each of these definitions in a common math-
ematical language, which also is very compact compared with the original descriptions of each
of these methods. It also allows to use a common implementation in the form of a set of modules
such as the collection of AVS 5 modules we published (appendix D).
In the following, we organize the various feature definitions into a hierarchy. Fig. 5.7 attempts
to visualize this hierarchy as three related trees. On the left are line-type features of a scalar data
set, in the center are those of a vector data set. On the right are line-types features of a data set
consisting of two vector fields.
Each box represents a particular class of feature definitions, referred by name and sometimes
by the formula. Subsets are below their superset, slightly indented and connected to their super-
set by a line. Since Fig. 5.7 attempts to capture one of the most important results of this research
project, we will in the following describe how to interpret it.

88
feature lines of a feature lines of a feature lines of two related
scalar field p a) vector field v vector fields v and w

dependent parallel vectors b) parallel vectors


v || op ( v ) v || w
Levy / Degani / Seginer core lines Singer / Banks core lines
v || ∇ × v ∇ × v || ∇p
Roth / Peikert core lines (sect. 6.2)
v || ∇ ( ( ∇v )v )v

zero curvature lines


zero curvature lines v || ( ∇v )v Legend:
= c)
Sujudi / Haimes core lines
extremum or saddle lines
Kenwright separation and att. lines A
v || ( ∇v )v set of solutions of a
with v = ∇p c) generalized feature definition
extremum or saddle lines
v || ( ∇v ) T v
B
minimum lines of ∇p c) minimum lines of v set of solutions of a
particular feature definition
5.3 Systematic Overview

ridge lines of p
maximum lines of v
5 Analysis of Line-Type Features

topographic ridge lines A


Strawn / Kenwright / Ahmad core
ridge lines in computer vision lines: maximum lines of vorticity B
A is a superset of B,
B is a subset of A
valley lines of p saddle lines of v
a)
topographic valley lines

Fig. 5.7: Overview of the hierarchy of line-type feature definitions.


possible relationship:
Miura / Kida core lines: valley lines a) when v = ∇p
of (pseudo-) pressure b) when w = op ( v )
c) when v is conservative,
such that v = ∇p

89
5 Analysis of Line-Type Features
5.3 Systematic Overview

In the rightmost part of Fig. 5.7, we find the most general use of the parallel vectors operator.
As a starting point, we have a data set which consists of two vectors at each location. The top
box represents the set of all possible definitions for line-type features of such a data set. A sig-
nificant subset of feature lines can be defined using the parallel vectors operator; this set is rep-
resented by the box labeled “parallel vectors”. Finally, the method of Singer and Banks is one
particular instance of this general use of the parallel operator.
Not shown in the diagram is the fact that almost all features also require additional Boolean cri-
teria. In the case of Singer and Bank for example, the solutions of ∇ × v || ∇p include cases
where p assumes a minimum, maximum or saddle in a plane perpendicular to ∇ × v . Only the
cases where p is minimal are vortex cores; this can be decided by looking at the sign of eigen-
values of the Hessian of p.
In this classification of methods, we consider this rightmost tree separately because it is based
on two “locally independent” vector fields. Typically, the two vectors are somehow related and
not independent in a mathematical sense. However, it is not possible to compute one vector field
from the other using only local information. In the example of the vortex method by Singer and
Banks, pressure and vorticity are related by the Navier-Stokes equations, but there is no way of
calculating the pressure given only local information (Taylor series) of the velocity. So for the
purpose of the visualization algorithm, we consider the two fields ∇p and ∇ × v to be locally
independent.
If one of the two vector fields used in the parallel operator can be derived locally from the other,
the two fields are dependent, and the parallel condition becomes v || op ( v ) , with op ( v ) being
some arbitrary operator. The resulting feature depends only of a single vector field v, and is rep-
resented in the middle of the three trees in Fig. 5.7. The general class of features defined by
dependent parallel vectors has two general subclasses: zero curvature lines where
op ( v ) = ( ∇v )v , and extremum or saddle lines where op ( v ) = ( ∇v ) T v . The latter consists
of the three types minimum lines, maximum lines and saddle lines (which occur only in 3D).
The vortex method by Levy, Degani and Seginer and the higher order method we will discuss
in the next chapter are both examples of the general form of dependent parallel vectors. Vortex
core lines according to the definition of Sujudi and Haimes and separation lines defined by Ken-
wright are both examples of zero curvature lines (as always, combined with some selection cri-
teria). Finally, Strawn, Kenwright and Ahmad define the vortex core line as a maximum line of
vorticity, so the method is a subclass of the maximum lines.
When v is conservative, the Jacobian ∇v is symmetric and the transposition (the only differ-
ence between zero curvature lines and extremum/saddle lines) does not matter. For conservative
vector fields, zero curvature lines are equal to extremum/saddle lines. A conservative vector

90
5 Analysis of Line-Type Features
5.3 Systematic Overview

field can be written as the gradient of a potential, v = ∇p . In Fig. 5.7, the line-type features of
a scalar field appear in the leftmost tree.
For scalar data, we found further subsets of the minimum lines of ∇p : both ridge lines and
valley lines of p are minimum lines of ∇p .
Now that we discussed how to interpret the hierarchy depicted in Fig. 5.7, it should be apparent
how the various definitions based on the parallel vectors operator form a context, a mathemat-
ical framework in which the existing and new definitions can be categorized.

91
5 Analysis of Line-Type Features
5.3 Systematic Overview

92
6 Enhancing Vortex Core Methods

6 Enhancing Vortex Core Methods

6.1 Displacement Problem of First-Order Methods


The variety of proposed methods for defining vortex core lines and their sometimes poor results
on practical turbomachinery data sets led us to further investigate their properties. Most of these
definitions depend only on first-order derivatives. We saw that the eigenvector method of
Sujudi and Haimes, which can also be defined as the zero curvature lines, is perfect for all linear
vector fields. In practical data sets however, this method did not always produce better results
than other methods. Hence, the problems must lie in the non-zero higher-order terms.

6.1.1 Mathematical Model of Curved Vortex


A purely linear vector field can only model vortices which have a straight line as a core line. In
practical data however, one expects to find curves as vortex cores. Especially if the whole flow
is curved, as is typically the case in turbomachinery data, a streamwise vortex embedded in this
flow will also exhibit curvature.
We derived a simple analytical model of a curved vortex based on rigid rotation. It allows to
study the effect of curvature of a vortex while excluding any effect of the underlying discrete
grid or numerical problems.

Fig. 6.1: Parameters Ω, ω and R of the bent helical flow field. The light gray line
is the vortex core line, the dark gray line an arbitrary streamline.

93
6 Enhancing Vortex Core Methods
6.1 Displacement Problem of First-Order Methods

A helical flow field consists of a rigid rotation with rotation speed ω in one plane, and a con-
stant speed Ω ⁄ R perpendicular to the plane (the division by the constant R does not change the
properties of flow, but makes the resulting formula behave nicer when R is increased towards
infinity in the curved vortex model). We choose the rotation to be in the xz plane and the vortex
core aligned with the y axis. In preparation for the bending around the z axis, we do not want
the vortex core to be at the origin of the coordinate system. It is moved in x direction by a con-
stant offset R, which after bending will become the core radius. The formula for this helical flow
field is

– ωz
v = Ω⁄R (6.1)
ω(x – R)

The vortex core of this flow is a straight line in the direction of the y axis, at x=R and z=0.
We now want to bend this flow around the z axis, such that the vortex core becomes a circle
around the origin in the z=0 plane with radius R. We interpret the helical flow (6.1) as a vector
field in a cylindrical coordinate system. It is easiest to think of it as a procedure: given three
coordinates in the cylindrical coordinate system, (6.1) returns a vector at that location. The
resulting vector is given also in a cylindrical coordinate system. In order to arrive at the desired
formula in the original Euclidean space, we use the following three steps:
• transform the Euclidean position into cylindrical coordinates
• apply the function for helical flow (6.1)
• transform the result back from a cylindrical to an Euclidean frame
Mathematically, this is the composition of the three mappings. The result is the following for-
mula for a bent helical flow field

ωxzR Ωy
– ------------- – -------
r2 r
ωyzR Ωx
v = – ------------- + ------- (6.2)
r2 r
2
R – R
------ ω
 r

with r = x 2 + y 2 . The parameter ω determines the rate of rotation around the circular core,
while Ω measures the speed of the large-scale rotation along the circular core of radius R (see

94
6 Enhancing Vortex Core Methods
6.1 Displacement Problem of First-Order Methods

Fig. 6.2: The model of a curved vortex is obtained by bending a helical flow field (left column).
The vortex core indicated by the normalized helicity and eigenvector methods
deviate from the actual core as soon as the vortex is curved (right column).

Fig. 6.1). The divergence of this flow is zero. A Maple sheet with the derivation of this formula
can be found in appendix E, or obtained from our Web site [2]. The flow is illustrated in Fig.
6.2, left column.
For this bent helical flow, we expect to find the circle of radius R as the core line, since all other
streamlines swirl around that curve. For very large R, the vortex is nearly straight and most
methods work fine. Also, even for small R (large curvature), things work as long as ω is large
enough. However, if a slowly swirling vortex is bent into a large curvature (small R), then both

95
6 Enhancing Vortex Core Methods
6.1 Displacement Problem of First-Order Methods

the curl and the eigenvector of the Jacobian represent a combination of the local rotation around
the core and the large-scale rotation around the z axis, introduced by the bending.
Fig. 6.2 (right) shows core lines according to Levy/Degani/Seginer and Sujudi/Haimes. Both
move inward to a radius smaller than R. The latter selects the loci of zero curvature, so it is obvi-
ous that it can not pick the circle of radius R: the actual core of this flow is a circular streamline,
so it can not have zero curvature.
Closer analysis reveals that the core line radius according to first-order methods is too small by
a factor that depends only on the ratio between the two angular velocities, Ω ⁄ ω . If rotation
around the vortex (ω) is strong, and angular velocity induced by flow along the core (Ω) is weak,
the offset of first-order methods is small. For very weak vortices with significant curvature,
Ω ⁄ ω becomes large and the error can no longer be neglected.

6.1.2 Model of a Valley Whose Valley Line is not a Slope Line


We found in chapter 5 that ridge and valley lines are closely related to some of the vortex core
definitions. We can expect to find similar effects when examining curved valley lines. Since a
2D heightfield can be directly visualized, examining the effect of curved features in 2D valley
lines can produce some insight also for the application of vortex core lines. It also tells us some-
thing about the properties of attachment and detachment lines of a potential field: a detachment
line of ∇p is a valley line of p, and an attachment lines of ∇p is a ridge line of p.
We build a mathematical model of a heightfield containing a curved valley by defining it in
polar coordinates:

z ( r, ϕ ) = ( 1 – r ) 2 + kϕ (6.3)

Profiles in radial sections are parabolas, and k describes the steepness in tangential direction.
The model is illustrated in Fig. 6.3.
The definition of valley and ridge lines was established in section 3.6.1: it is the set of points
where the slope is locally minimal compared to points of the same elevation. In a graphical way,
the valley and ridge lines can be identified in a map of iso-contours as the places where there is
a locally maximal distance between the iso-contours.
In the degenerate case when the height along the valley is constant ( k = 0 ), the valley line is
the circle r = 1 , which is also the line containing the lowest point in each radial section and
the asymptote of all the slope lines (streamlines of the gradient of elevation).
In the general case, the altitude decreases (or increases) along the curved valley ( k ≠ 0 ). In this
case, the location of the valley line is at a radius r valley > 1 . For large values of k, the circle of
points where the iso-contours are farthest apart is obviously a circle with radius greater than one,

96
6 Enhancing Vortex Core Methods
6.1 Displacement Problem of First-Order Methods

Fig. 6.3: Model of a curved valley, eq. (6.3).

as depicted in Fig. 6.4. Since valley lines are also points of zero curvature of the gradient field,
we can also easily identify the valley line as the inflection points of the slope lines.
In order for this effect to be as noticeable as in this figure, the decrease in height along the valley
must be very strong compared to the steepness of a radial cross-section of the valley; in other
words, the valley is very “wide”, such that it is almost flat in a cross section, compared with the
descent along the valley.
For a valley with a cross section which is easily recognized as a valley, the effect is typically
not very noticeable. However, the fact remains that the valley line is mathematically not at the
place where the water flowing along the slope lines converges. The valley line is at the inflection
points (zero curvature) of the slope lines and can therefore not be at the place where the slope
line is a circle. In fact, the valley line for this simple valley model (6.3) will be a circle with
radius r valley , fulfilling the equation

2
k = 4 ( r valley
4 3
– r valley ) (6.4)

97
6 Enhancing Vortex Core Methods
6.1 Displacement Problem of First-Order Methods

Fig. 6.4: The valley line of a curved and descending valley is not at the place of sectional
minima and not where the slope lines converge. the light gray lines are
contour lines of height, the dark gray lines are slope lines and the
dashed white circle is the valley line.

which can be obtained by analytically solving for the place of zero slope line curvature in the
given field. Note that only for k = 0 the radius of the valley is r valley = 1 , which is where the
streamlines converge. For any radius r valley > 1 , some value for k exists which makes the equa-
tion true, so the radius of the valley line can be arbitrarily large if the descent along the valley
is steep enough. For a large difference of the two radii however, the valley must be very shallow
compared to the tangential descent, as Fig. 6.5 shows.

Fig. 6.5: The terrain of Fig. 6.4 is rotated to a side view. In the final view from the side, note
that the valley is very shallow in its cross section.

From this example we see that the valley line is not a slope line, and is not necessarily where
the slope lines converge. In a curved valley, the valley line (the “bottom” of the valley) will not
be where the water flowing along the slope lines converges, unless it is completely flat in the
tangential direction. This is even more evident when we look at a model of a valley which is

98
6 Enhancing Vortex Core Methods
6.1 Displacement Problem of First-Order Methods

Fig. 6.6: A heightfield defined piecewise such that there is a straight valley line (white straight
lines), which is also a slope line, in either of the two outer parts. In the center
region, the two fields are blended. The whole model is clearly a single valley
(visible from the white iso-contour lines), but none of the slope lines (black)
can be the valley line.

straight at both ends, but not aligned, as in Fig. 6.6: the continuation of the straight streamline
forming the valley line in the left part (white line) is the lowest of the black slope lines.
These properties can be related to the curved vortex core lines, and especially to curved separa-
tion and attachment lines. The definition by Kenwright places a separation line of a gradient
field exactly at its valley line. But this is not where the streamlines converge unless the resulting
feature line is completely straight. If we expect the separation and attachment to be where
streamlines converge, a new definition which includes higher-order terms has to be found. On
the other hand, there are good reasons to define a valley line as it is. As such Kenwright’s def-
inition of separation and attachment lines is valid, but one will have to accept that streamlines
do not necessarily converge exactly at the detachment lines.
Potential fields may help to decide on this question in the future, as it is much simpler to men-
tally visualize a height field than a vector field. It also shows that the relationships found
between the various definition for line-type features may support decisions on some fundamen-
tal questions, for example regarding the proper definition of vortex core lines, by looking at
analogous situations in simpler settings.

6.1.3 Model of a Vortex Whose Core Line is not a Streamline


We constructed a model for a 3D vortex which is analogous to the valley consisting of two
straight parts joined by a slight curve (Fig. 6.6). For the straight vortex, we chose again the sim-
plest of all vortex models, a rigid rotation in the xy plane, combined with a constant motion in
the z direction. For the two straight parts, at z < – 1 and at z > 1 , we chose a vortex core at
x = 0 and y = ± 1 , such that the two straight cores are parallel but offset. The center section

99
6 Enhancing Vortex Core Methods
6.1 Displacement Problem of First-Order Methods

between z = – 1 and z = 1 is again some continuous blend between the outer two functions,
resulting in the vector field

y + f(z )
v = –x (6.5)
1

where f defines the blending between the two fields:

 –1 for z ≤ – 1

f( z) =  1 for z ≥ 1 (6.6)
 continuous for – 1 ≤ z ≤ 1

Fig. 6.7 illustrates two possible choices for f ( z ) .

1 1

-1 1 -1 1
-1 -1

Fig. 6.7: Two possible choices for the blending function f(z).

The resulting flow field is depicted in Fig. 6.8 by two groups of streamlines. In both straight
parts, the flow is linear, thus the vortex core is a straight line and is also a streamline. When
viewed head-on, it is obvious that the overall structure represents a single vortex and should
therefore have a single vortex core line. However, it can be seen that neither of the streamlines
connects the two vortex cores. We have found an example where the vortex core is not a stream-
line; so in general, it cannot be a streamline.
Note that all the definitions that can be expressed using the parallel operator are strictly local.
The resulting vortex cores of local methods can not be streamlines; they require a global defi-
nition. There are however papers which claim that vortex cores can be found by integrating
streamlines or vorticity lines from critical points.
Also consider the similarities to the height field examples above, where the valley line turns out
not to be a slope line. In both cases, if the feature is “well-formed” and “strong” (a deep valley,
or a strong vortex), the error becomes very small (but does not completely disappear unless the

100
6 Enhancing Vortex Core Methods
6.2 Second-Order Method for Vortex Cores

Fig. 6.8: A flow field (eq. (6.5)) whose vortex core line can not be a streamline.
From left to right: view from top (90°), 30°, front (0°) and slightly below (-7°).

feature line is straight). We saw that a possible measure for the “well-formedness” of a feature
is the quality measure from section 4.2.2, which reports high values for feature lines which are
almost aligned with the local flow field.

6.2 Second-Order Method for Vortex Cores


We saw that definitions using only first-order derivatives of a vector field all have similar prob-
lems with curved features. Either one has to find new definitions, or some expected properties
will not hold for curved features. In the case of valley lines, we tend to keep the existing defi-
nition: since the definition of a valley line is very old and well established, we suggest not to
change it. However, one has to realize that valley lines are neither streamlines nor attractors of
streamlines. This means that an (infinitely small) river flowing in a curved valley is not at the
location of the valley line.
For the vortex cores however, there is no long-established definition. In the following, we try to
find a new vortex core definition which is designed to handle curved vortices.

101
6 Enhancing Vortex Core Methods
6.2 Second-Order Method for Vortex Cores

6.2.1 Definition
We use the definition of Sujudi and Haimes as a starting point, since it is correct for all linear
flows. We saw in section 5.2.5 that their cores are zero curvature lines. The obvious idea is that,
in a flow with swirling motion, the only straight streamline is the one at the vortex core. This is
true for all linear fields.
When applied to a local linearization of a given vector field, the assumption is only true when
the vortex core is completely straight. If it is curved, the places where the streamlines have zero
curvature are offset from the actual core.
We introduced a model for a circular vortex in section 6.1.1. This flow field was designed such
that the apparent core line is a circle with radius R. As in the linear case, the streamline at the
core is “simpler” than all other streamlines in the field, although now the core line also has a
curvature. We observe that the vortex core line is the only streamline laying in a plane, so clearly
it has zero torsion (which measures how fast a curve in 3D deviates from its osculating plane,
(A.43)).
An obvious condition to use for a higher-order method is thus to look for places of zero stream-
line torsion, just like the first-order method looks for places of zero streamline curvature. In
order to calculate the local streamline torsion, we need the second derivative of a particle path,
b = D 2 v ⁄ Dt 2 . This vector field represents the change in acceleration a, and is also called the
MHUN vector (see (A.39)):

D2v Da
b = ---------- = -------- (6.7)
Dt 2 Dt

The torsion of a vector field v can be written as

(v × a) ⋅ b
τ = -------------------------- (6.8)
v×a2
(see (A.45)). A streamline is locally planar if, and only if, v, a and b are coplanar, i.e. if the
numerator of τ is zero:

(v × a) ⋅ b = 0 (6.9)

This is true even where τ is undefined because v is parallel to a.


However, in contrast to the zero curvature condition, the zero torsion condition (6.9) is true on
a 2D manifold, namely the zero iso-surface of torsion. This surface is illustrated in Fig. 6.9 for
the bent helical flow field (for a particular choice of parameters ω and Ω). In addition to zero
torsion, a second condition is needed to restrict the solutions to lines.

102
6 Enhancing Vortex Core Methods
6.2 Second-Order Method for Vortex Cores

iso-surface of zero torsion

streamlines

slice plane

negative torsion

positive torsion

Fig. 6.9: Iso-surface of zero torsion for the bent helical flow field.
R =1, Ω =1, ω =10

A possible second condition could be that zero torsion is preserved as well as possible when fol-
lowing the streamline. This would lead to a definition for the vortex core to be the places where
torsion and its first derivative Dτ ⁄ Dt are zero. This indicates that the streamline not only has
a point of zero torsion at the core, but at the same time, it is tangential to the zero torsion iso-
surface.
The advantage of this hypothetical method is that it correctly handles the bent vortex model
under a wide range of modifications. However, calculating the derivative of torsion Dτ ⁄ Dt
requires yet another derivative, the third derivative of the vector field v. Calculating high deriv-
atives numerically in a discrete grid is by nature unstable and inaccurate. In practice,
Dτ ⁄ Dt = 0 as a second condition appears too difficult to evaluate with sufficient accuracy for
the resulting vortex cores to be useful: the large relative errors on a third derivative lead to
excessive noise. We will discuss numerical errors in section 6.3.
A numerically feasible method must avoid third derivatives of the velocity. Knowing that b is
restricted to the <v,a> plane by the condition of zero torsion (6.9), we can now add a second

103
6 Enhancing Vortex Core Methods
6.2 Second-Order Method for Vortex Cores

Fig. 6.10: Front and top view of the situation at the core of the bent helical vortex.
At the core, b is antiparallel to v; a is perpendicular.

condition by prescribing to b a fixed direction in the <v,a> plane. Here, the best choice is to
require that b is parallel to v, since this correctly describes the standard case of the bent vortex
model shown in Fig. 6.10.
If the model is modified by adding tangential acceleration or some distortions to the circular
core, solving for b || v yields a core line which deviates from the actual core. However, around
the core, b varies in direction fast enough to make these deviations small under realistic condi-
tions.
Based on the above motivation and supported by practical data, we suggest the following
improved definition for a vortex core: the core line is the location of all points where b is par-
allel to v:

v || b (6.10)

or

v || ∇ ( ( ∇v ) v )v (6.11)

This definition was proposed in our 1998 paper [121]. It is not Galilean invariant, and not scal-
ing invariant (since the derivatives a and b can change direction when vectors are scaled).

Application to direction fields


It is possible to define a variation of our method such that vortices are determined by the geom-
etry of the streamlines alone, and do not depend on the speed along these lines. This is equiva-
lent to claiming that vortex cores should only depend on the directional information in the vector
field, and not on the magnitudes of the flow vectors.

104
6 Enhancing Vortex Core Methods
6.2 Second-Order Method for Vortex Cores

To modify the core line condition according to this requirement, one has to take the derivatives
along the streamline with respect to arc length, as opposed to a spatial derivative. This can be
achieved by normalization of the vectors prior to the calculation of b. The vortex cores then are
the places where streamlines are locally circular, i.e. are planar (zero torsion) and have currently
no change in curvature. This variant of the higher-order method is scaling invariant.
The two variants pick slightly different locations for the vortex core lines; they agree if the
acceleration along the core is negligible.

6.2.2 Discussion
The second-order definition of the vortex core line was designed to exactly solve the case of the
analytical flow representing a bent vortex (Fig. 6.11, left). Similar situations have been found
in practical data sets (Fig. 6.11, right).

(a)

(a)
(b) (b)

Fig. 6.11: Comparable situations in the bent vortex model (left) and a practical data set from
turbomachinery simulations (right): shown are cores indicated by the
eigenvector (a) and b parallel v (b) methods, and a set of streamlines around each core.

As long as the flow speed along the core is uniform, the condition b parallel v holds at the vortex
core. If the flow along the core accelerates, the line where b || v deviates from the core. For
reasonable parameters, it is still closer to the core than the position indicated by the first-order
methods. The variant that applies normalization of the vector field prior to calculating deriva-
tives is not disturbed by acceleration along the core. However, it can not correctly handle some
distortions such as a scaling in x direction of the whole vector field.
We found many situations in turbomachinery flows in which the second-order method produces
more consistent results than the first-order methods. However, the method is not the universal
solution to the problem of defining a vortex core line. In particular, there is a rather large arbi-
trariness in the choice of b || v . The condition that torsion is zero (and thus v, a and b copla-

105
6 Enhancing Vortex Core Methods
6.3 Calculation of Derivatives and Numerical Errors

nar) is well-founded and the second-order equivalent to the zero curvature condition. The
additional choice however is founded only on the correct solution of our bent vortex model,
which is not a sufficiently general model of arbitrary flow. In particular, its core line is always
a streamline, regardless of the choice of parameters ω, Ω and R, which can not be the case for
a general flow.
We get the impression that the second-order method is a better approximation of the “actual”
vortex core definition for many cases, especially from the application domain of turbomachin-
ery. But it is far from perfect and can still fail in particular cases. Also, the necessity to numer-
ically calculate second derivatives from a discrete data set increases the noise, as numeric
calculation of derivatives is by nature unstable and tends to emphasize even little variations in
the original flow data.

6.3 Calculation of Derivatives and Numerical Errors

Numerical calculation of first derivatives


Calculating derivatives numerically from a grid of sampled data is by nature a process with large
numerical errors. All discussed definitions of vortex core lines require the derivative of some
scalar or vector field. The proposed second-order method even requires second derivatives of
the velocity. But our proposed method is not the only one containing higher derivatives: to cal-
culate the extremum lines of vorticity for the Strawn/Kenwright/Ahmad method for example,
the first derivative of vorticity is needed. Of course, the vorticity itself is calculated from the
Jacobian of the velocity, so this method also requires second-order derivatives. To separate
maximum from minimum lines, even third derivatives are required, but since only a sign is nec-
essary for this decision, this third derivative must not be very accurate.
For a discretized 1D function f, numerical differentiation is usually done using symmetrical dif-
ferences. If f is discretized to values f i on regular intervals of width h, the method of the sym-
metrical differences approximates the slope f ' of f at the i-th grid point as

fi + 1 – fi – 1
f ' i = ---------------------------- (6.12)
2h
As illustrated in Fig. 6.12, the slope of the (unknown) function f is assumed to be the slope of
the connection between the two neighboring samples of the function. In fact, the usual definition
of the slope uses the same construction, but then calculates the limit for h → 0 . By substituting
a Taylor series for f around the center point f i , it is easy to see that the central differences do
indeed approximate the slope up to second order, with the remaining error being O ( h 3 f ''' ) ,
where f ''' is the exact third derivative of f.

106
6 Enhancing Vortex Core Methods
6.3 Calculation of Derivatives and Numerical Errors

fi
fi+1
f
fi-1

Fig. 6.12: Sketch of calculation of derivative using symmetrical differences.

In order to generalize this method to 3D and to irregular or unstructured grids, it is best to view
this approximation as the result of an optimization process: if we want to find the straight line
through the center point f i , which is closest to the two neighbors in the least-squares sense (the
dashed line in Fig. 6.12), the resulting line has the slope calculated by the central difference
method. Yet another way to find the same slope is fitting a line to all three points in the least-
squares sense.
To calculate the gradient of a 3D function defined on an irregular or unstructured grid, we fit a
linear function f center + qx to the values from a neighborhood of the current point. The vector
q is then the calculated gradient of the scalar field at that point. The least-squares solution is
found by solving the normal equations for this overdetermined system. This is a linear system
of three equations with three unknowns and is solved analytically by inverting a 3×3 matrix.
The neighborhood in a 3D structured grid consists of at least the six points directly connected
to the central point by an edge; this is the 6-neighborhood. A 26-neighborhood consisting of all
nodes of the eight adjacent cells of the central point involves more samples, so the resulting
least-squares fit should be smoother. Note that even for the 6-neighborhood of a grid node in a
corner of the grid, there are still enough samples (three neighbors) to determine the three
unknowns, so the system of equations is never underdetermined.
Using a fit of a linear function to calculate derivatives is the straightforward nD extension of the
central difference method. An implementation for 3D structured fields can be found in the “gra-
dient” module of our AVS 5 library (see appendix D).

Calculating higher-order derivatives


Once a method to calculate the gradient of a field has been implemented, the straightforward
way of calculating second derivatives is to apply the implemented module twice in a row.
Another method would be to fit a quadratic function to a neighborhood, in analogy to the cal-
culation of the first derivative described above. Of course, the selected neighborhood has to be

107
6 Enhancing Vortex Core Methods
6.3 Calculation of Derivatives and Numerical Errors

large enough to determine the three unknowns of the gradient plus the six unknowns in the
(symmetric) Hessian of a 3D field.
Except for the Miura/Kida method which uses the Hessian of pressure, the methods that use
higher-order derivatives do not require all of the second derivatives directly. The method pro-
2 2
posed in section 6.2 only calculates the second convective derivative D ⁄ Dt , which is the jerk
vector b (A.39). The Strawn/Kenwright/Ahmad method needs the first derivative of the vortic-
ity. In both cases, it is not necessary to calculate the full 3×3×3 tensor T (A.14) of all the second
derivatives of the velocity field. In a modular data-flow system such as AVS 5, storing this 27-
element tensor field wastes too much memory. For this reason, we always combine two gradient
modules to calculate second derivatives, and only calculate the necessary derivatives instead of
the full tensor.

Numerical errors of calculating derivatives


To quantify the numerical errors in the calculation of derivatives, we used the bent helical field
from (6.2),

ωxzR Ωy
– ------------- – -------
r2 r
ωyzR Ωx
v = – ------------- + ------- (6.13)
r2 r
2
R – R
------ ω
 r

with r = x 2 + y 2 . We compared the analytically calculated derivative to the numerical


approximation using least-square fit of a linear function to a 6- or 26-neighborhood as described
above.
The bent helical flow field has three parameters, R, Ω and ω. We can always scale the whole
model such that the radius of the circular vortex is one, so we can set R = 1 without loss of
generality. Furthermore, by scaling all velocities in the field by a constant, we do not change the
streamlines. We can choose a scaling of the velocities such that Ω = 1 , again without loss of
generality. The only remaining parameter is ω (or the ratio ω ⁄ Ω ). For this error analysis, we
chose a typical value for weak and bent vortices from turbomachinery, ω = 1.5 .
We sample the original function and the analytic derivative on a regular grid at four different
resolutions. In order to avoid the singularity of the bent helical flow field at the z-axis
( x = y = 0 ), the samples are located on a regular grid in the cube shown in Fig. 6.13

108
6 Enhancing Vortex Core Methods
6.3 Calculation of Derivatives and Numerical Errors

x = 0.1…1.1, y = 0.1…1.1, z = – 0.5…0.5 . For both the 6- and 26-neighborhood, we


compare the numerically calculated gradient q num with the true analytical value q true and cal-
culate the relative error as

q num – q true
e rel = ---------------------------------- (6.14)
q true

at each grid node. Table 6-1 lists the mean, median, minimum and maximum error occurring in
the grid. Closer examination of the distribution of the errors confirmed the expectation that the
numerical errors are significantly larger near the grid boundary than in the interior. Table 6-2
lists the same statistics for only the interior nodes of the grid.

resolution neighborhood mean median min max


10 6 4.0e-2 1.2e-2 1.1e-3 4.9e-1
10 26 7.1e-2 2.8e-2 3.1e-3 8.0e-1
20 6 1.1e-2 2.1e-3 23e-4 2.9e-1
20 26 1.9e-2 2.5e-3 1.6e-5 3.6e-1
50 6 1.7e-3 2.7e-4 1.7e-5 1.3e-1
50 26 3.1e-3 2.6e-4 1.0e-6 1.7e-1
100 6 4.4e-4 6.2e-5 5.0e-6 6.6e-2
100 26 7.8e-4 5.8e-5 <1e-6 9.1e-2
Table 6-1: Relative errors of numerical calculation of a gradient.

resolution neighborhood mean median min max


10 6 8.6e-3 6.5e-3 1.5e-3 5.4e-2
10 26 7.9e-3 5.7e-3 3.5e-4 4.1e-2
20 6 2.6e-3 1.6e-3 2.5e-4 3.8e-2
20 26 2.5e-3 1.3e-3 2.0e-5 2.9e-2
50 6 4.7e-4 2.3e-4 3.3e-5 1.2e-2
50 26 4.7e-4 2.1e-4 1.0e-6 1.0e-2
100 6 1.2e-4 5.9e-5 5.0e-6 4.0e-3
100 26 1.3e-4 5.3e-5 <1e-6 3.1e-3
Table 6-2: Relative errors of numerical calculation of a gradient, interior of the grid only.
Of course, the error decreases with increasing resolution. We see that the relative numerical
error is substantial. Only two or three decimal places are accurate for typical resolutions (20-50)
used in real data. However, seeing that the median is always significantly smaller than the mean
value, we can infer that relatively few large values contribute to the large average. When omit-
ting the border (Table 6-2), the errors typically improve by almost an order of magnitude.
In a practical application, these errors are best avoided by using the gradients as calculated by
the flow solver instead of recalculating the gradient fields. Since the Navier-Stokes equations
contain the Jacobian and gradient of pressure, the solver needs first-order derivatives internally.

109
6 Enhancing Vortex Core Methods
6.3 Calculation of Derivatives and Numerical Errors

However, quasi-standard file formats for exporting the solution flow field such as the PLOT3D
solution file do not support the export of the gradient field with the solution data.
Higher-order derivatives need to be calculated numerically. In given data, the resolution of
course can not be increased. The error can possibly be reduced by using more sophisticated
methods for calculating derivatives. Smoothing the data can alleviate some of the problems of
calculating derivatives numerically, but care has to be taken not to remove the very features to
be detected by the smoothing step. In order to detect weak and small vortices at currently used
resolutions, even smoothing only involving the nearest neighbors may remove some of the
vortex cores.

Numerical errors in the complete vortex core line algorithm


After looking at the error of a single calculation of the gradient, we will now examine typical
errors of the whole algorithm for finding vortex cores. Note however that, in this section, we
only examine numerical errors. The numerical error is the difference between the analytical
result of the method and the result produced by its discrete implementation. There is also a
methodical error, discussed in the next paragraph.
We use the same sampled data of the bent helical flow field as above, with parameters R = 1 ,
Ω = 1 (without loss of generality), and various values for ω. By calculating the core line with
our algorithm, we get a collection of points on the core. For this analytically given flow field,
we can calculate the position where the condition used by the vortex core algorithm is true.
Because of the rotational symmetry, this solution is a circle in z = 0 with a radius we call r sh
for Sujudi/Haimes and r lds for Levy/Degani/Seginer.
The error consists of a wrong radius r num and possibly an offset in the z-direction z num . We
measure the error as the distance to the closest point on the analytical core:

e abs = ( r num – r sh|lds ) 2 + z num


2 (6.15)

and the relative error as

e abs
e rel = -------------- (6.16)
r sh|lds

Since we want to measure only the numerical error here, we define the error with respect to the
analytical solution. The additional methodical error of the first-order methods will be discussed
below.

110
6 Enhancing Vortex Core Methods
6.3 Calculation of Derivatives and Numerical Errors

The analytical solution for the bent helical flow of the Sujudi/Haimes method (zero curvature)
is calculated using Maple as

ω2R
r sh = -------------------- (6.17)
Ω2 + ω2
which for R = 1 and Ω = 1 reduces to

ω2
r sh = ---------------- (6.18)
1 + ω2
The higher-order method from section 6.2 is constructed such that it finds the true core of the
bent helical flow exactly. Its analytical solution therefore is

r rp = R (6.19)

or for R = 1 of course r rp = 1 .
The method by Levy, Degani and Seginer (normalized helicity) is analytically calculated to

ωR
r lds = ------------------------- (6.20)
Ω2 + ω2
For R = 1 and Ω = 1 , this simplifies to

ω
r lds = -------------------- (6.21)
1 + ω2
Incidentally, for the bent helical flow, r lds = r sh . The Strawn/Kenwright/Ahmad method
(maximum lines of vorticity) does not have any non-degenerate solutions in this flow. The
Banks/Singer and Miura/Kida methods both need pressure, which is not available for this ana-
lytical vector field.

111
6 Enhancing Vortex Core Methods
6.3 Calculation of Derivatives and Numerical Errors

Fig. 6.13: Sketch of sampling grid and detected core lines of rp (black) and sh (gray) methods.

Table 6-3 lists the relative errors of the detected vortex cores compared with the analytical solu-
tion for each of the three applicable methods.

resolution 10 resolution 20 resolution 50 resolution 100


method omega avg med min max avg med min max avg med min max avg med min max
sh 100 2e-3 2e-3 2e-4 4e-3 4e-4 4e-4 5e-5 8e-4 6e-5 6e-5 2e-6 1e-4 2e-5 1e-5 2e-7 5e-5
50 2e-3 2e-3 2e-4 4e-3 4e-4 4e-4 5e-5 8e-4 6e-5 6e-5 4e-6 2e-4 2e-5 2e-5 2e-7 1e-4
20 2e-3 2e-3 3e-4 4e-3 4e-4 5e-4 6e-5 1e-3 7e-5 7e-5 9e-6 5e-4 2e-5 1e-5 1e-6 2e-4
10 2e-3 2e-3 9e-4 5e-3 5e-4 4e-4 8e-5 2e-3 8e-5 5e-5 5e-6 1e-3 2e-5 2e-5 2e-6 5e-4
3 4e-3 4e-3 9e-4 1e-2 1e-3 7e-4 2e-4 7e-3 2e-4 1e-4 1e-5 3e-3 4e-5 3e-5 5e-6 1e-3
1.5 1e-2 7e-3 5e-3 3e-2 2e-3 2e-3 5e-4 1e-2 4e-4 2e-4 1e-4 5e-3 1e-4 6e-5 1e-5 2e-3
0.75 4e-2 3e-2 7e-3 9e-2 1e-2 9e-3 3e-3 3e-2 2e-3 1e-3 5e-4 1e-2 4e-4 3e-4 3e-5 5e-3
rp 100 5e-3 5e-3 1e-3 8e-3 1e-3 1e-3 7e-5 2e-3 2e-4 2e-4 8e-6 3e-4 4e-5 4e-5 7e-7 8e-5
50 5e-3 5e-3 1e-3 8e-3 1e-3 1e-3 9e-5 2e-3 2e-4 2e-4 1e-5 3e-4 4e-5 4e-5 2e-6 2e-4
20 4e-3 5e-4 2e-3 8e-3 1e-3 1e-3 2e-4 3e-3 2e-4 2e-4 2e-5 1e-3 6e-5 4e-5 4e-6 1e-3
10 6e-3 5e-3 2e-3 1e-2 2e-2 1e-3 3e-4 6e-3 3e-4 2e-4 4e-5 5e-3 4e-5 4e-5 8e-6 9e-5
3 5e-3 5e-3 3e-3 1e-2 1e-3 1e-3 6e-4 3e-3 2e-4 2e-4 5e-6 5e-4 5e-5 4e-5 9e-6 1e-4
1.5 9e-3 8e-3 8e-3 1e-2 2e-3 2e-3 7e-4 5e-3 4e-4 4e-4 1e-4 1e-3 1e-4 1e-4 5e-6 3e-4
0.75 2e-1 1e-1 6e-2 4e-1 2e-2 2e-2 2e-2 1e-1 2e-3 2e-3 2e-3 3e-3 6e-4 6e-4 2e-4 1e-3
lds 100 1e-3 1e-3 1e-4 2e-3 2e-4 2e-4 2e-5 6e-4 4e-5 3e-5 2e-6 1e-4 1e-5 9e-6 3e-7 3e-5
50 1e-3 1e-3 2e-4 2e-3 3e-4 2e-4 2e-5 6e-4 4e-5 3e-5 2e-6 1e-4 1e-5 9e-6 6e-7 5e-5
20 1e-3 1e-3 2e-4 2e-3 3e-4 3e-4 1e-5 6e-4 4e-5 3e-5 4e-6 3e-4 1e-5 8e-6 6e-7 1e-4
10 1e-3 2e-3 3e-4 3e-3 3e-4 3e-4 4e-5 1e-3 5e-5 4e-5 3e-6 5e-4 1e-5 8e-6 2e-6 2e-4
5 3e-3 2e-3 6e-4 1e-2 8e-4 5e-4 2e-4 4e-3 1e-4 5e-5 6e-6 2e-3 2e-5 1e-5 1e-6 9e-4
1.5 7e-3 4e-3 1e-3 2e-2 2e-3 1e-3 1e-4 1e-2 2e-4 1e-4 3e-6 4e-3 6e-5 3e-5 6e-7 2e-3
0.75 3e-2 2e-2 5e-3 7e-2 6e-3 4e-3 2e-3 3e-2 1e-3 6e-4 1e-4 1e-2 3e-4 1e-4 3e-5 6e-3
Table 6-3: Relative errors of overall vortex core detection algorithm,
compared to expected analytical solution.

112
6 Enhancing Vortex Core Methods
6.3 Calculation of Derivatives and Numerical Errors

For easier interpretation, Table 6-4 visualizes the information on the median error from the
above table as the number of correct decimal places.
Of course, the error decreases with increasing resolution. Furthermore, the error increases with
decreasing ω. This can be expected since the center of a slowly rotating vortex is harder to find
than the center of a very strong vortex. The error of the higher-order (rp) method requires
numerical calculation of second derivatives and is therefore higher than for the two first-order
methods. However, the difference is typically less than an order of magnitude. Overall, the error
levels are acceptable, with typically at least two or three accurate decimal places, with the
exception of badly resolved and very weak vortices.

method omega res 10 res 20 res 50 res 100


sh 100 ooo oooo ooooo ooooo
50 ooo oooo ooooo ooooo
20 ooo oooo ooooo ooooo
10 ooo oooo ooooo ooooo
3 ooo oooo oooo ooooo
1.5 ooo ooo oooo ooooo
0.75 oo ooo ooo oooo
rp 100 ooo ooo oooo ooooo
50 ooo ooo oooo ooooo
20 ooo ooo oooo ooooo
10 ooo ooo oooo ooooo
3 ooo ooo oooo ooooo
1.5 ooo ooo oooo oooo
0.75 o oo ooo oooo
lds 100 ooo oooo ooooo oooooo
50 ooo oooo ooooo oooooo
20 ooo oooo ooooo oooooo
10 ooo oooo ooooo oooooo
3 ooo oooo ooooo ooooo
1.5 ooo oooo oooo ooooo
0.75 oo ooo oooo oooo
Table 6-4: Visualization of median errors from Table 6-3. Number of symbols indicates the
number of accurate decimal places (-log10 of the relative error).

Significance of methodical errors compared to numerical errors


As discussed previously, the first-order methods make a methodical error when detecting bent
vortices with motion along the core. The analytical solution of the Sujudi/Haimes and Levy/

113
6 Enhancing Vortex Core Methods
6.3 Calculation of Derivatives and Numerical Errors

Degani/Seginer methods have been calculated above. Since the true core of the bent helical field
is R, a methodical error can be defined as

r analyt – R
e method = ------------------------ (6.22)
R
This is a relative error of the method itself, and it is independent from the numerical implemen-
tation. Table 6-5 compares this methodical error to the median numerical error values from
Table 6-3 by showing the ratio Ψ of the relative methodical error to the relative numerical
error: Ψ = e method ⁄ e rel . Values greater than 10 are marked by “x”, greater than 10 by “xx” and
greater than 100 by “xxx”.

method omega resolution 10 resolution 20 resolution 50 resolution 100


sh 100 5e-2 2e-1 2e0 7e0
50 2e-1 9e-1 7e0 3e+1 x
20 1e0 5e0 4e+1 x 2e+2 xx
10 5e0 2e+1 x 2e+2 xx 7e+2 xx
3 3e+1 x 1e+2 xx 9e+2 xx 4e+3 xxx
1.5 4e+1 x 2e+2 xx 1e+3 xxx 5e+3 xxx
0.75 2e+1 x 7e+1 x 6e+2 xx 2e+3 xxx
rp 100 0 0 0 0
50 0 0 0 0
20 0 0 0 0
10 0 0 0 0
3 0 0 0 0
1.5 0 0 0 0
0.75 0 0 0 0
lds 100 5e-5 2e-1 2e0 6e0
50 2e-1 8e-1 6e0 2e+1 x
20 9e-1 4e0 4e+1 x 2e+2 xx
10 3e0 2e+1 x 1e+2 xx 6e+2 xx
3 3e+1 x 1e+2 xx 1e+3 xxx 4e+3 xxx
1.5 4e+1 x 2e+2 xx 1e+3 xxx 5e+3 xxx
0.75 2e+1 x 1e+2 xx 7e+2 xx 3e+3 xxx
Table 6-5: Ratio Ψ of methodical error to numerical error (median values from Table 6-3).
Ratio visualized by symbols: x: >10, xx: >100, xxx: >1000
The methodical error changes only with the method and with ω (without loss of generality, we
have set R = 1 and Ω = 1 ). Since the numerical error decreases with increasing resolution,
the ratio Ψ increases. The methodical error increases faster with decreasing ω (weaker rotation
around the core) than the numerical error, so Ψ also increases. The higher-order method (rp) is

114
6 Enhancing Vortex Core Methods
6.3 Calculation of Derivatives and Numerical Errors

designed to solve exactly this problem and therefore has a methodical error of zero for our bent
vortex model.
We can conclude that, while numerical errors are an issue, the accuracy of the whole process of
typically three decimal places appears sufficient for visualization purposes. The numerical
errors might lead to occational breaks in the detected vortex lines and lead to less coherency of
the extracted core lines.
We can also conclude that the methodical errors of first-order methods on curved vortices are
orders of magnitude larger than any numerical errors, unless the rotation around the core is very
strong. This suggests that for weak vortices, choosing an appropriate definition is more impor-
tant than improving the numerical accuracty of the extraction algorithm.

115
6 Enhancing Vortex Core Methods
6.4 Finding Vortex Regions Based on Core Lines

6.4 Finding Vortex Regions Based on Core Lines


In section 3.3, we examined approaches which define a vortex as a region bounded by a surface.
We showed in a case study [120] that none of these region-type definitions is appropriate for
typical turbomachinery flow data, and that defining a vortex as a certain region can have prob-
lems distinguishing nearby vortices. Also, the resulting region does not necessarily have a
clearly defined direction of a rotation axis. This has led us to focus on the definition of only the
vortex core lines.
Nevertheless, a vortex is a flow pattern that occurs in a certain region of the flow, and a tube
should bound the rotational core region. Even if the region might not be precisely bounded
mathematically, a representation of the coarse shape and size of the vortex region is still desir-
able. Fig. 6.14 shows such a vortex hull surrounding the dark vortex core.

Fig. 6.14: Defining a vortex region bounded by a surface after determining the vortex core
line. Figure from Banks and Singer [11].

Since the vortex core line only defines a center line of rotation, it does not have the inherent
problems of recognizing many vortex cores next to each other. Also, by its nature, the core line
defines a precise location and direction of the center of the vortex. This information can be used
to define a vortex boundary surface after a core line has been found. Even if two vortex regions
overlap, two hulls can still be assigned to the two vortex cores. In this case, the intersection
region would belong to both vortices.
A vortex surface can be defined from the core line using a deformable model of the topology of
a cylinder, centered initially on the vortex core line and of infinitesimal diameter. The model is
then expanded until some condition does no longer hold to form a tube with a star-shaped cross-
section at every point along the core line. The particular set of conditions which distinguish the
“inside” of the vortex from the “outside” has to be defined appropriately. Banks and Singer [11]
use two criteria: pressure must be smaller than a threshold, and the angle between the vorticity
at the core and the vorticity at the current point must be smaller than 90 degrees.

116
6 Enhancing Vortex Core Methods
6.4 Finding Vortex Regions Based on Core Lines

The definition of the vortex boundary can makes use of the known core line. Instead of absolute
thresholds, limits can be defined as a fraction relative to the value at the core. Also, it makes
sense to define a strength of rotation by using a fixed axis both for the core line and for the
bounding surface.

fan of rays in fan of rays in normal plane resulting approximation of


normal plane tube cross section
tangent

core
core line

Fig. 6.15: Sketch of using deformable surfaces to construct a vortex region around the core
line. Left, 3D sketch of the fan of rays in a plane perpendicular to the core line tangent.
Right, discrete approximation of vortex contour by star-shaped polygon
with one corner on each ray.

The algorithm can be implemented by constructing a fan of rays spanning the plane perpendic-
ular to the core (or the velocity or vorticity at the core), sketched in Fig. 6.15. Along each of the
lines, the first point is searched where any one of the required conditions is no longer true. In
the most general case, this results in a star-shaped polygon. If the process is repeated for each
node, a prismatic tube which approximates the vortex boundary surface is found.
Sadarjoen describes in his thesis [123] how such deformable surfaces can be used to approxi-
mate surface-type features. Deformable surfaces in general are the subject of Terzopoulos’
work [148].
In our test implementation, we construct the rays in a plane perpendicular to the velocity at the
core. This is consistent with the model how we measure rotation strength.
Fig. 6.16 shows the resulting vortex tubes in the blunt fin data set. In this figure, a threshold of
rotation strength is required for points inside the vortex hull. A plane perpendicular to the veloc-
ity at the core is sampled along 32 rays in small steps. The last of these steps with a rotation
strength still greater than the threshold are the white dots in Fig. 6.16, their triangulation forms
the vortex hull. Fig. 6.17 shows the same image without these white dots.

117
6 Enhancing Vortex Core Methods
6.4 Finding Vortex Regions Based on Core Lines

Fig. 6.16: A perspective view of vortex core lines (white lines) and a vortex hull (translucent
surface). The hull is constructed by finding the first points along rays perpendicular to the
velocity at the core which are below a threshold of rotation strength (white dots).

Fig. 6.17: The same image without the white points that formed the vortex hull.

118
7 Application to Practical Flow Data

7 Application to Practical Flow Data

In this chapter, we apply the various vortex extraction methods to different data sets chosen
from practical applications. We comment on the ability or failure of each of the methods to cap-
ture some specific patterns which were expected to show up and analyze the qualitative results.
The chapter is ordered by data set. All images can also be found on the web [2], some in color.

7.1 Draft Tube of Francis Turbine with Swirling Flow


This data set shows the flow in a draft tube of a Francis turbine; it is part of a river power plant
of the Rhine river near Eglisau, Switzerland. The machine was designed in 1919. It was consid-
ered for an uprating in 1994, which led to simulations of the flow in this machine with the exist-
ing and with a newly designed runner.

Fig. 7.1: Overview of draft tube data set. The flow has strong residual swirl
after leaving the rotating runner. See Color Figure 3 on page 192.

The flow is depicted in Fig. 7.1. It enters the draft tube with a strong residual swirl from the run-
ner. In fact, the newly designed runner increased the residual swirl in the draft tube, in order to

119
7 Application to Practical Flow Data
7.1 Draft Tube of Francis Turbine with Swirling Flow

help guiding the flow around the ninety degree bend in the draft tube without causing as much
abrasion as the existing machine showed.
Using this data, we demonstrated the problems of existing methods in the case study [120].
When we introduced the second-order method in [121], we could use this same example to dem-
onstrate the improvement by the new method.

lds core line


(white tube)

streamlines

Fig. 7.2: Resulting core lines using the normalized helicity method (lds). For this data set,
a good core of this swirl is found. See Color Figure 4 on page 192.
All solutions of the parallel vectors operator with non-zero rotation strength are shown, without additional conditions.

Fig. 7.2 shows as the white tubes the core lines detected using the normalized helicity method
of Levy, Degani and Seginer. The method does detect a reasonable center of this core (in the
image somewhat hidden in the streamlines). In addition, the method indicates some structures
lying very close to the wall, which are of no importance.
The eigenvector method completely fails in the curved part; Fig. 7.3 shows the resulting core
lines in white. In this example, the displacement of this first-order method (described in section
6.1) in the curved part causes the core line to exit the domain.
Fig. 7.4 compares our second-order method with the similar, but first-order eigenvector method
of Sujudi and Haimes. While the two methods roughly agree on a core in the straight section,
the second-order method is able to follow the core in the bent section as well, while the eigen-
vector method leaved the domain before the bent section. A circle of streamlines are traced
backwards in this image from where the two cores agree.

120
7 Application to Practical Flow Data
7.1 Draft Tube of Francis Turbine with Swirling Flow

bs core lines
(white tubes)

Fig. 7.3: Core lines for the eigenvector method (bs). In the curved part, no vortex is detected.
All solutions of the parallel vectors operator with non-zero rotation strength are shown, without additional conditions.

Fig. 7.4: Second-order method (rp) and eigenvector method (sh) together with a circle of
streamlines traced backwards from where the two cores agree.
See Color Figure 5 on page 193.
Cores shown have a minimal strength of 0.2 and a maximal angle (quality measure) of 45 degrees.

121
7 Application to Practical Flow Data
7.1 Draft Tube of Francis Turbine with Swirling Flow

In this data set, the method by Miura and Kida works well. The valley line of pressure is shown
in Fig. 7.5. For comparison, Fig. 7.6 shows a similar view and the higher order method core.

iso-surfaces of pressure
hi mid low

valley line of pressure

Fig. 7.5: A valley line of pressure (mk) and three iso-surfaces of pressure.
See Color Figure 6 on page 193.
Only the most significant core line is shown in the image, selected by its length.

Fig. 7.6: Second-order (rp) method vortex cores in same data set from similar view.
Cores shown have a minimal strength of 0.2, a maximal angle (quality measure) of 45 degrees, and more than 8 nodes.

122
7 Application to Practical Flow Data
7.2 Selected Vortex in a Francis Turbine Runner

The length of the draft tube in this data set (egl-n) is approximately 40 m, the average velocity
is 2 m/s, with a maximum around 6 m/s. The core lines shown have a vortex strength of at least
0.2 and their angle to the flow (quality measure) is less than 45 degrees.
Moving images of this data set can be found in the video sequences of the Vis 1996 case study
[120] and the Vis 1998 paper [121].

7.2 Selected Vortex in a Francis Turbine Runner


For the case study [120], we have also selected a particular vortex in a data set of a turbine
runner operated at part load. Since the vortex occurs along the curved blade of the runner, the
vortex is curved. As opposed to the previous example, the normalized helicity method (Levy,
Degani and Seginer) does not indicate this vortex at all (Fig. 7.7).

lds core lines


(white tubes)

Fig. 7.7: Selected vortex in a turbine runner at part load: selected streamlines and vortex core
lines (white) according to normalized helicity method (lds).
The method fails to capture this vortex.
All solutions of the parallel vectors operator with non-zero rotation strength are shown, without additional conditions.

The eigenvector captured the first part of this vortex. However, the first-order vortex core is
increasingly displaced inwards from the manually selected streamlines near the core. An inward
displacement is expected (as discussed in section 6.1) for curved and weak vortices such as this
one.
The second-order method detects a vortex core almost at the same spots as the eigenvector
method in the first part of this vortex (Fig. 7.9). In the second part, the eigenvector method core

123
7 Application to Practical Flow Data
7.2 Selected Vortex in a Francis Turbine Runner

sh core lines
(white tubes)

Fig. 7.8: Vortex core lines (white) detected by eigenvector method (sh).
See Color Figure 7 on page 194
All solutions of the parallel vectors operator with non-zero rotation strength are shown, without additional conditions.

is significantly displaced and then ends with no apparent reason, while the second-order core
continues.
At the place where the eigenvector method core diverges from the second-order core, there is a
small gap and the second-order core line can not be properly connected (unless some heuristics
were added to bridge small gaps). We attribute this to a situation where a feature lines would
branch in the continuum, but can only be represented as closed lines under bilinear interpolation
(see Fig. 4.4). The two vortex cores satisfying the selection criteria are not connected.
This illustrates a typical issue of the higher-order method: due to the inherent problems of cal-
culating derivatives in a grid, higher-order methods tend to contain more noise. Also, in our
experience, without imposing any of the Boolean conditions, there are usually more second-
order feature lines in a data set than first-order features. Most of the additional lines and are
easily filtered out with the application of simple selection criteria (e.g. a minimal rotation and
quality). However, branching of the solution lines (as sketched in Fig. 4.4) appears to be more
frequent for higher-order features. Since it can not be properly represented using multi-linear
interpolation, it leads to a higher tendency of gaps in the higher-order core lines as compared to
first-order methods.

124
7 Application to Practical Flow Data
7.2 Selected Vortex in a Francis Turbine Runner

Fig. 7.9: Second-order (rp) and eigenvector (sh) core lines of selected vortex
in turbine runner. See Color Figure 8 on page 194.
Cores shown have a minimal strength of 0.2 and a maximal angle (quality measure) of 45 degrees.
No smoothing has been applied before calculation of derivatives, and only lines with more than 8 nodes are shown.

In this data set (kal), a typical length scale (the chord length of the runner blade) is 2.5 m, and
the average velocity is 17 m/s, with a maximum around 36 m/s.
The parameters (thresholds for strength and quality angle) used to generate the images are
printed in small font in the figure caption, unless they are the same as for the preceding figure.
Unless otherwise noted, averaging over a 26-neighborhood has been applied as a smoothing
step before the calculation of gradients. Furthermore, isolated exceptions to the selection criteria
are always allowed, and lines consisting of only three points (two segments) or less are not
shown. For this and all subsequent examples of flows in a rotating runner, all calculation was
done in the frame of reference that rotates along with the runner.

125
7 Application to Practical Flow Data
7.3 Francis Turbine Runner

7.3 Francis Turbine Runner


The various vortex core methods have been applied to different data sets of Francis turbine run-
ners. Fig. 7.10 shows the results of six different methods on the same data set: the reversible
Francis turbine is used in pump mode. The line structures shown are the vortex cores detected
by the different methods.
For this data set, only the Sujudi/Haimes (zero curvature) and Levy/Degani/Seginer (normal-
ized helicity) methods reliably detect coherent vortices. The Roth/Peikert (second-order) and
Strawn/Kenwright/Ahmad (maximum lines of vorticity) methods detect some of the vortices.
The Banks/Singer (minimum pressure in N x, ω ) and Miura/Kida (valley lines of pressure) do not
detect any coherent structures in this data set.
Fig. 7.11 and Fig. 7.12 each show the detected vortices by a single method on varying data. In
Fig. 7.11, the Sujudi/Haimes method was applied to six data sets representing increasing flow
rates in the same turbine runner. We can observe that, as the flow rate increases from partial load
(gua3) towards the design point (gua6), vortices diminish. The vortical structures increase again
when the flow rate is further increased. The six data sets represent a very coarse sampling of the
changing field as the flow rate is increased. Nevertheless, the vortex cores show significant
coherency across this design parameter. For example, it can be observed that the largest vortex
in partial load (gua3) shrinks in gua4 and then disappears in gua5 as the operating point moves
towards the optimal design point. To find out in more detail how the vortex cores change with
the flow rate, more intermediate data sets would be necessary.
As already seen in Fig. 7.10, the Roth/Peikert method produces less coherent structures in this
data set. The same sequence of data sets as in Fig. 7.11 was used for the higher-order method,
the result being shown in Fig. 7.12. We attribute the lack of coherency mainly to the usually
larger number of raw solution lines of the second-order method compared with the single-order
methods. The situation with two feature lines crossing depicted in Fig. 4.4 appears more often,
and can lead to gaps in the higher-order cores.
Throughout the series depicted in Fig. 7.12, the higher-order method produces less coherent and
smaller structures on this sequence of data sets. On the other hand, it indicates more vortices, in
places where the Sujudi/Haimes method does not indicate a vortex core. Especially near the
design point (gua5), where vortices are weaker, the higher-order method still indicates several
smaller vortices that the first-order methods do not detect. A good example is the vortex along
the suction (inner) side of the blade at the tip, where a vortex is detected by the second-order
method in gua5/gua6 where the single-order method only capture a small fragment.
The two sequences show that feature-based visualization techniques such as the vortex core
lines are especially valuable if many related data sets are to be visualized and compared. If the
data sets represent a continuous change in one design parameter, the evolution of the features

126
7 Application to Practical Flow Data
7.3 Francis Turbine Runner

sh, rp,
Sujudi/Haimes Roth/Peikert

lds, ska,
Levy/Degani/Seginer Strawn/Kenwright/Ahmad

bs, mk,
Banks/Singer Miura/Kida

Fig. 7.10: Vortex cores according to different methods in a Francis turbine runner (data set:
gua3). All methods use the same thresholds for vortex strength an feature quality.
Cores shown have a minimal strength of 10 and a maximal angle (quality measure) of 30 degrees.

can be studied. A special such collection of continuously changing vector fields results from a
time-dependent flow simulation. An animation of the vortex core lines in the whole time-depen-
dent data set can be produced automatically and gives a good overview of the data set.

127
7 Application to Practical Flow Data
7.3 Francis Turbine Runner

gua3 gua4 gua5

continuous change in operating condition (increase in flow rate)

gua8 gua7 gua6


Fig. 7.11: Vortices according to the Sujudi/Haimes method in six different data sets. The data
sets model the flow at increasing flow rates, with the design point (optimum) at gua5.

gua3 gua4 gua5

continuous change in operating condition (increase in flow rate)

gua8 gua7 gua6

Fig. 7.12: Vortex core lines of the higher-order (rp) method, applied to the same sequence of
data sets. While being more fragmented, it also indicates some vortices not found above.

128
7 Application to Practical Flow Data
7.4 Stator of Pump-Turbine

7.4 Stator of Pump-Turbine


The data set “stg035” represents the stator of a pump turbine in pump mode. The vortices
detected in this data set by the various methods are shown in Fig. 7.14 (next page). For this data
set, all methods indicate a vortex core on the outside of the stay vanes (larger blades), and most
also detect a smaller core on the outside of the guide vanes (smaller blades).
When comparing the result of different definitions, often the most prominent vortices are indi-
cated by several or even all of the methods. The exact location of the core or the length along
which the vortex is detected typically varies with the different methods.
Fig. 7.13 shows the vortex cores according to the higher-order method and their hull, calculated
as described in section 6.4. The vortex region is defined here as the region where the vortex
strength is still above 10 when going outwards from the vortex core line, half of what we
required for the vortex core line itself. As typical for turbomachinery data, the shape of the
vortex is not circular. The vortex core is often offset from the center of the vortex region.

Fig. 7.13: Roth/Peikert vortex cores in stg035 data set, with vortex hulls added.
Cores shown have a minimal strength of 20 and a maximal angle (quality measure) of 45 degrees, the hull strength is 10.

A typical length in this data set is 12 cm (the calculation represents a model as used on a test
stand). The stay vane chord length is approximately 15 cm, the guide vane 9 cm. The diameter
of the stayring leading edge is 30 cm. The average velocity is 10 m/s, with a maximum of
26 m/s .

129
7 Application to Practical Flow Data
7.4 Stator of Pump-Turbine

sh, Sujudi/Haimes rp, Roth/Peikert

lds, Levy/Degani/Seginer ska, Strawn/Kenwright/Ahmad

bs, Banks/Singer mk, Miura/Kida

Fig. 7.14: Vortex cores according to different methods in the stator of a


reversible pump-turbine in pump mode (data set: stg035).
Cores shown have a minimal strength of 20 and a maximal angle (quality measure) of 45 degrees

130
7 Application to Practical Flow Data
7.5 Evaluation

7.5 Evaluation
The vortex core methods have been applied to a collection of turbomachinery data sets, some
of which have been presented above. For each data set, we find a threshold for the feature
strength by first displaying all vortex core lines and color the resulting lines by vortex strength.
We then choose the threshold at approximately 10-20% of the maximal values occurring in the
data set. For the quality setting, we usually require an angle of 45 degrees. If this produces too
much clutter, a stricter value of 30 degrees is chosen. Since these parameters only select from
the solution lines but do not influence the placement of the lines, the choice of thresholds is not
very critical.
Using the same thresholds for all the methods applied to a particular data set, we judge the qual-
itative performance by checking the following points:
• Are the detected vortices coherent, in the sense that the vortex core lines are of significant
length compared to typical length scales in the data set?
• Does the particular method detect vortices in all or most of the places where the other meth-
ods indicate significant structures?
• To the extent we can judge such fluid dynamics issues, do the locations of the detected vor-
tex core make sense in terms of the expected flow effects?
In the following table 7-1, the qualitative performance of each method is listed. The ability to
detect coherent vortical structures has been classified according to the following levels:
• ●●●: most or all vortex cores are indicated coherently
• ●●: the method did find some coherent vortices, but missed some that other methods indi-
cate
• ●: only few or short vortex cores are indicated
• −: the method finds no or only few scattered or small vortex core segments
• (n/a): the method has not been applied to this data set
The methods are abbreviated according to their authors:
• sh = Sujudi/Haimes (zero curvature)
• rp = Roth/Peikert (second-order)
• lds = Levy/Degani/Seginer (normalized helicity)
• ska = Strawn/Kenwright/Ahmad (maximum lines of vorticity)
• bs = Banks/Singer (minimum of pressure in N x, ω )
• mk = Miura/Kida (valley lines of pressure)

131
7 Application to Practical Flow Data
7.5 Evaluation

data set sh rp lds ska bs mk


Francis runner (bhi7-1) − ●● ●●● ●●● − ●
Francis runner in pump mode (gua3) ●●● ●● ●●● ●● − −
Francis runner (poe3) ●●● ●●● ● ● − −
Francis runner (egl-n) ●●● ●●● ●●● − − ●
Francis runner (egl-o) ●●● ●●● ●● ● ●● ●●
Draft tube (egl-n) ● ●●● ●●● ●● ● ●●●
Stay vanes (sir) ●●● ●● ●●● ● − ●
pump-turbine stator (stg035) ●●● ●●● ●● ● ● ●
pump-turbine stator (stg050) ●●● ●● ●● − ● −
selected vortex in pump runner (kal) ●● ●●● ● (n/a) (n/a) (n/a)
Table 7-1: Qualitative performance of the different vortex core methods
on various turbomachinery data sets.
These results allow to draw the following conclusions:
• Methods which use the pressure data (bs, mk) are not very successful in detecting vortices
in typical turbomachinery flow. Vortex in turbomachines are not typically characterized by a
valley line of pressure.
• None of the methods is clearly superior in all the tested data sets.
• Although better in some cases (for example the flows presented in section 7.1 and 7.2), the
second-order method (rp) does not always produce better results on typical turbomachinery
data. The resulting core lines are often less coherent, but more vortices are found and the
method did not fail completely (− or ●) on any of our data sets.
• For such turbomachinery data, using sh, rp and lds methods combined seems to be a good
choice. An open question is how to combine the output of several core definition in a single
method.

132
8 Conclusions

8 Conclusions

8.1 Contributions
In this thesis, we presented a mathematical framework for expressing and comparing different
definitions for line-type features in vector and scalar data. The following points summarize the
main results and contributions of this research project:
• A new formalism allows to express existing definitions for line-type features in a common
and mathematically precise language.
• An analytical definition of the feature lines can be clearly distinguished from the algorithm
that implements it. This allows to separate methodical from numerical errors in the detec-
tion process. For weak and curved vortices as typical in turbomachinery flows, the methodi-
cal errors are found to be orders of magnitude larger than numerical errors.
• The common mathematical framework permits direct comparison of different definitions
and leads to new definitions by varying or combining existing ones.
• Some general features of scalar and vector data are identified (zero curvature lines, extre-
mum lines, minimum and maximum lines, ridge and valley lines). They allow to place the
various feature definitions into a hierarchy of feature classes, which simplifies understand-
ing of the different approaches.
• Known methods for vortex core lines are analyzed and their properties discussed. They are
tested on practical data sets, especially from the demanding application of turbomachinery
flow simulations.
• Some fundamental problems of first-order methods in detecting curved feature lines are
identified. A second-order definition is proposed which addresses this issue.
• The common mathematical foundation leads to a modular implementation of the feature
extraction algorithm. Both known and new methods can be implemented by combining a
few existing software modules, as demonstrated by a library of AVS 5 modules.
Using the common basis of the parallel vectors operator, all methods for the extraction of local
line-type features have the following simple structure:
Compute two vector fields v and w.

Find the solution lines of v || w .


Filter the solutions lines by the appropriate Boolean
selection criteria.

133
8 Conclusions
8.2 Future Research Directions

8.2 Future Research Directions


The research described in this thesis raised several questions which would warrant further
research. In this last chapter, we want to sketch several ideas for future work.

Integration of feature-based techniques into a visualization system


Line-type features can be integrated into a particular visualization by simply displaying the fea-
ture lines. In order to only display the structures, the lines do not even have to be properly con-
nected. An example is the case study by Kenwright and Haimes [67], which only displays the
vortex cores as unconnected line segments. Although the line segments do not join up to a con-
nected line, the animation of vortex cores extracted from the time-dependent data set is a very
effective visualization (still shown in Fig. 3.17).
The proper connection of the line segments allows to support interaction. For example, a user
can select certain vortices manually for exclusive visualization. A higher-level data structure
that represents vortex cores as a list of poly-lines also allows to use a class of filters which oper-
ate on each feature line as a whole. For example, in order to suppress noise, only the poly-lines
consisting of a given minimal number of points can be shown. It also allows to set thresholds
on average values along the whole line, such as the average feature strength. These selection
criteria operate on whole feature lines and not just on single points or segments. They have
proven very successful in order to reduce the clutter in a visualization with many small features,
allowing the user to concentrate on the important (large, strong) ones.

Virtual reality visualization systems


User selection of a few particular features can be beneficial in any visualization setting. In our
experience, it is especially welcome in a virtual reality (VR) environment. The VR interface is
suited to explore the details of a data set interactively. Simply displaying all the feature lines
might already improve navigation by giving important clues to the user. Being able to select the
features of current interest might be especially valuable in order to reduce clutter when exam-
ining a particular region.

Enhancing and automating other visualization techniques


In addition to simply displaying the extracted structures themselves, feature-based visualization
techniques can also be used to enhance or automate classical visualization techniques. For flow
visualization, streamlines can be started (interactively or automatically) near the vortex core
line. The streamline integration length could also be automatically controlled so that streamlines
end when they go too far away from a vortex core.

134
8 Conclusions
8.2 Future Research Directions

Visualizing flow by a very large number of small animated particles is a preferred technique of
turbomachinery engineers. It is especially suited to show an overview of the flow. By making
particles invisible except in the vicinity of a particular vortex core, this technique can also be
used to visualize local flow patterns.
In these and other ways, features extracted automatically can make interactive visualization
more efficient by providing clues where the interesting flow patterns are located. It allows to
automate parts of the visualization process which traditionally require significant user time.
Automation is especially valuable for large time-dependent vector fields, which contain so
much data that completely interactive visualization is hardly feasible. Automatic techniques can
give a good overview of the interesting features, and guide interactive exploration to both where
and when an interesting pattern occurs.

Finding better definitions for a vortex


This research was primarily within the field of scientific visualization, and thus in computer sci-
ence. It is out of the scope of this project to decide upon the “correct” definition of a vortex or
vortex core, which is a question of fluid dynamics. However, we think that the presented math-
ematical foundation may help to advance the search for the proper definition of a vortex. A def-
inition of a vortex which is broadly applicable and generally accepted is still an open fluid
dynamics research topic.
As long as there is no better physical definition for a vortex, an idea for a follow-up project sit-
uated in computer science is adding methods from computer vision and AI techniques to com-
bine the various proposed definitions into a single system. Such a system would calculate the
vortex cores according to a set of definitions, and then try to use knowledge about the strengths
and weaknesses of each method to determine a single set of vortex cores. For example, as long
as the resulting vortices are sufficiently strong or almost straight, the zero curvature definition
produces very good results. So by adding higher-level post-processing and considering the var-
ious feature detection algorithm as specialized knowledge bases, one could use a rule-based AI
system to decide which definitions are most likely to give the best results in each particular sit-
uation.
Some results suggest that the notion of a vortex core can be understood in a fractal way. The
bent helical flow for example has a primary vortex core, which is a circle. The axis around
which the whole vortical flow is bent forms another kind of vortex core; in fact, this axis is also
recognized by various vortex core definitions. In addition, the energy cascade from large vorti-
ces into smaller and finally into turbulence is a hint that vortices may be viewed at different
levels of detail. A multi-resolution approach for the vector fields and extraction of vortex cores
should be investigated.

135
8 Conclusions
8.2 Future Research Directions

136
A Mathematics of Vector Fields

A Mathematics of Vector Fields

A.1 Notation
In this whole text, we try to observe a few rules of notation in order to minimize confusion about
vectors, vector fields and scalar fields. Let us start by formally defining the terms vector and
scalar field.
An QGLPHQVLRQDO (or nD) VFDODUILHOG is a real-valued function of n spatial variables,

p = 5n → 5 (A.1)
Likewise, in this thesis, an nD YHFWRUILHOG is an n-component vector function of n spatial vari-
ables,

v = 5n → 5n (A.2)
Note that unless explicitly mentioned, we always deal with steady vector fields (which do not
vary as a function of time) or instantaneous vector fields (which represent a static snapshot of
a time-varying vector field at a specific instance in time). For vectors and vector fields, we
choose lower case, bold and italic letters; typically u, v, w. When we simply use a letter like v
for a field, we specifically mean the field as a whole. If we want to designate an evaluation of
the field and speak of the vector at a specific location x, we write it as v ( x ) .
For example, when looking at the core of the definition of the parallel vectors operator,

v || w = { x : v ( x ) = 0 } ∪ { x : ∃λ, w ( x ) = λv ( x ) } (A.3)
we see that the parallel vectors operator itself operates on two vector fields, and is defined as the
set of locations where the evaluated vectors are collinear.
We denote the three dimensions of Euclidean 3-space with x, y and z. The components of a
vector u are written as

u = ux uy uz (A.4)

Note that we usually do not distinguish between row and column vectors, and write whatever
format is graphically more convenient.

137
A Mathematics of Vector Fields
A.2 Basic Operations

∂f
The partial derivative of a scalar f with respect to x, -----
∂x , is abbreviated as f ,x . Note that sub-
scripts before the comma represent components of a vector, whereas subscripts after the comma
represent partial derivatives.

A.2 Basic Operations

Products
The VFDODUSURGXFW or GRWSURGXFW of two nD vectors v and w is the scalar

n
v⋅w = ∑ vi wi (A.5)
i=1
For 3D vectors, the FURVVSURGXFW of v and w is a vector perpendicular to both v and w and
calculated as

v2 w3 – v3 w2
v × w = v3 w1 – v1 w3 (A.6)

v1 w2 – v2 w1

These products can both be applied to vector fields by using them pointwise, that is applying
the multiplication to the two vectors at each point in the domain.

First-order derivatives (gradient, Jacobian, Nabla)


The JUDGLHQW of a scalar field is the vector of its partial derivatives. For a 3D field p,

grad p = p ,x p ,y p ,z (A.7)

Often, we use the Nabla notation, which is very compact and commonly used. The symbol
Nabla ( ∇ ) stands for a “syntactical” vector of partial derivatives,

∇⇒ ∂ ∂ ∂ (A.8)
∂x ∂y ∂z
The gradient is then written as

grad p = ∇p (A.9)

138
A Mathematics of Vector Fields
A.2 Basic Operations

The gradient operator applied to each of the components of a vector field is called its -DFRELDQ.
The Jacobian of a 3D vector field v is the matrix field of its first partial derivatives,

v x,x v x,y v x,z


∇v = v y,x v y,y v y,z (A.10)

v z,x v z,y v z,z

Note that the usual rules for manipulating symbols do not apply to the special symbol ∇ ! For
some valid identities containing ∇ , see section A.6 below.

Basic quantities derived from first-order derivatives: divergence, curl, vorticity


The GLYHUJHQFH of a vector field v is the trace of its Jacobian (i.e. the sum of the diagonal ele-
ments):

div v = ∇ ⋅ v = v x,x + v y,y + v z,z (A.11)

Divergence ∇ ⋅ v is a scalar field which measures by how much the flow locally diverges (when
positive) or converges (when negative). For incompressible steady flow, the divergence must
be zero.
The FXUO of a vector field v is a derived vector field,

v z,y – v
y,z
curl v = ∇ × v = v x,z – v z,x (A.12)

v y,x – v
x,y
The curl vector ∇ × v measures by its length how much the flow locally rotates, and its direc-
tion describes the local axis of that (right-hand) rotation. The curl of a physical flow (velocity
field) is called its YRUWLFLW\. The vorticity is equivalent to the instantaneous rotational momen-
tum of an infinitesimal particle advected by the flow field.

139
A Mathematics of Vector Fields
A.2 Basic Operations

Second-order derivatives (Hessian, tensors, Laplacian)


The +HVVLDQ of a scalar field is the matrix field of its second partial derivatives. It can be viewed
as the Jacobian of the gradient:

p ,xx p ,xy p ,xz


hessian p = ∇ ( ∇p ) = p ,yx p ,yy p ,yz (A.13)

p ,zx p ,zy p ,zz


∂2p ∂2p
The Hessian ∇ ( ∇p ) is always a symmetric matrix, since -------------- = -------------- .
∂x ∂y ∂y ∂x
The Hessian applied to a vector field results in a third-order tensor, which consists of three sym-
metric matrices (one for each of the three components of the vector field). This tensor represents
the second derivative or Hessian of a vector field v. We will write it as T, where

∂2 vi
T ijk = ------------------ (A.14)
∂x j ∂x k
In fluid dynamics, a matrix field is often called a WHQVRUILHOG. In this text, we prefer to speak
about a matrix instead of a second-order tensor, and reserve the term WHQVRU for cases when we
mean a third-order tensor (in 2D, a data structure with 2×2×2 entries; in 3D, 3×3×3), or when
we speak of a general object that can be a scalar, vector, matrix or higher-order tensor.
Note that in the general context of scientific visualization, a WHQVRU ILHOG usually denotes a
matrix field (second-order tensor) that is implicitly symmetric, since many physical tensors (e.g.
stress tensor) are.
The /DSODFLDQ is a differential operator on scalar fields, resulting in a scalar field; it is the diver-
gence of the gradient:

laplace p = ∇ 2 p = div ( grad p ) = ∇ ⋅ ∇p = p ,xx + p ,yy + p ,zz (A.15)

The Laplacian can be applied component-wise to a vector field and then obviously results in a
vector field; the Laplacian of a vector field appears in the Navier-Stokes equations.
Note that Hessian and Laplacian may look similar in Nabla-notation and can easily be confused,
but are completely different: ∇ ( ∇p ) ≠ ∇ 2 p !

140
A Mathematics of Vector Fields
A.2 Basic Operations

The following table summarizes the typical Nabla-expressions.

Nabla-notation function notation full name

∇p grad p gradient (of scalar field)

∇v grad v Jacobian (gradient of vector field)

∇⋅v div v divergence

∇×v curl v curl, vorticity

(∇ × v) ⋅ v helicity v , curl v ⋅ v helicity

∇2 p laplace p , div grad p Laplacian

∇ ( ∇p ) hessian p , grad grad p Hessian (second partial derivatives)

Table 1-1: An overview of Nabla-notation

Convective derivative D/Dt


In the context of fluid mechanics, a special kind of first derivative is important. In order to prop-
erly define it for a general context, we will assume a time-dependent vector field v, that is a
vector-valued function v ( x, t ) , which depends both on a location x and a time t. In addition,
we have an arbitrary scalar function p ( x, t ) , also time-variant, defined in the same domain.
The FRQYHFWLYHGHULYDWLYH of p, with respect to v, is defined as

Dp ∂p
------- = ( ∇p ) ⋅ v + ------ (A.16)
Dt ∂t
Note that Dp ⁄ Dt implicitly uses the flow field v. The convective derivative represents the
change in p as experienced by a fluid particle advected by the flow field at a particular place and
time. It consists of two parts: The right-hand summand, ∂p ⁄ ∂t , represents the change of p at
the particular but constant location due to the time-varying nature of the field p. The left-hand
summand, ( ∇p ) ⋅ v , reflects the change of p due to the fact that the fluid particle is moving in
direction of v, and therefore experiences a change in p even if p is constant in time. The local
change in p as function of space is characterized by the gradient of p, ∇p .
This derivative can also be applied to a vector field by applying the definition componentwise.
In particular, it can even be applied to the vector field v itself. We will see below that this results
in the acceleration of a fluid particle.

141
A Mathematics of Vector Fields
A.3 Selected Topics in Linear Algebra

A.3 Selected Topics in Linear Algebra


In this section, we will briefly review some basic properties of matrices. We are especially inter-
ested in matrix properties that do not depend on a choice of a coordinate system, that is its
invariants and eigenvalues. We look at a general 3×3 matrix M,

m 11 m 12 m 13
M = m 21 m 22 m 23 (A.17)

m 31 m 32 m 33

Invariants, eigenvalues and eigenvectors


An HLJHQYDOXH of M is a (possibly complex) scalar λ which solves the eigenvector equation,

Mx = λx (A.18)
and the corresponding (non-zero) vector x is called an HLJHQYHFWRU of M. Obviously, if a par-
ticular pair { λ , x} is a solution of (A.18), then { λ , kx} is also a solution for any real number
k. An eigenvector thus can be scaled arbitrarily; it only represents a direction and has no inherent
length. Particularly, it can be scaled by a negative number k and therefore can have both orien-
tations. If for practical purposes a fixed length is required, usually normalized eigenvectors
(scaled to length 1) are used. Finally, it may be noteworthy that an eigenvalue can be zero; the
corresponding eigenvector is still well-defined (and not a zero vector).
Solutions to (A.18) are found by solving the FKDUDFWHULVWLFHTXDWLRQ,

( M – λ, ) = 0 (A.19)
where , is the unit matrix. For a 3×3 matrix M, this can be rewritten as the characteristic poly-
nomial,

λ 3 + Pλ 2 + Qλ + R = 0 (A.20)
The real coefficients of the powers of λ are independent of our choice of (orthonormal) coor-
dinate systems, they remain invariant under rotation and are simply called the LQYDULDQWV of M.
The ILUVWLQYDULDQW of a 3D matrix M is

P = – trace M = – m 11 – m 22 – m 33 (A.21)

142
A Mathematics of Vector Fields
A.3 Selected Topics in Linear Algebra

For the definition of the second invariant, let ( M ¬ i ) be the 2D submatrix that results when we
remove the i-th row and the i-th column from M, and let det ( M ¬ i ) be its determinant. Then
we can write the VHFRQGLQYDULDQW of a 3D matrix M as

Q = det ( M ¬3 ) + det ( M ¬2 ) + det ( M ¬1 ) (A.22)


which is equal to

Q = m 11 m 22 – m 12 m 21 + m 11 m 33 – m 13 m 31 + m 22 m 33 – m 23 m 32 (A.23)
Finally, the WKLUGLQYDULDQW is simply the negative determinant of M,

R = – det M = – m 11 m 22 m 33 – m 12 m 23 m 31 – m 13 m 12 m 32
(A.24)
+ m 11 m 23 m 32 + m 12 m 21 m 33 + m 13 m 22 m 31

Analytical calculation of eigenvalues


Calculating eigenvalues of a 2×2 matrix results in a characteristic equation which is quadratic.
This is easy to solve and results in either two real or a pair of complex conjugate solutions.
In order to analytically find the eigenvalues of a 3×3 matrix (A.18), we have to calculate the
roots of the cubic (A.20), which will be sketched in the following. We can eliminate the qua-
dratic term from (A.20) using the substitution ξ = λ + P ⁄ 3 , arriving at the form

ξ 3 + 3qξ – 2r = 0 (A.25)
with

Q P2 PQ R P 3
q = ---- – ------ and r = -------- – --- – ------ (A.26)
3 9 6 2 27

Since (A.20) is a cubic equation, there are always three eigenvalues λ which solve the equation.
If a complex λ is a solution, then so is its complex conjugate. Therefore, only two cases can
occur:
• all three eigenvalues are real, or
• there is one real and a complex conjugate pair of eigenvalues.
Which of the two cases occurs can be decided using the GLVFULPLQDQW of M, which is

D = q3 + r2 (A.27)

143
A Mathematics of Vector Fields
A.3 Selected Topics in Linear Algebra

using the above definitions of q and r: If the discriminant D > 0 , there are two conjugate com-
plex and one real eigenvalue; if D < 0 , all eigenvalues are real. In the border case, if D = 0 ,
all values are real and at least two of them are equal.
Note that while the discriminant of the cubic is most often defined as above in (A.27), there are
also other definitions, including those with opposite sign.
To write the eigenvalue solutions compactly, we define s and t as

s = ( r + D)1 / 3
(A.28)
t = ( r – D)1 / 3
The analytic solution for the eigenvalue λ that is always real can be written as

P
λ 1 = – --- + ( s + t ) (A.29)
3
the other (conjugate complex, or real) solutions are

P 1 3
λ 2 = – --- – --- ( s + t ) + ------- i ( s – t )
3 2 2
(A.30)
P 1 3
λ 3 = – --- – --- ( s + t ) – ------- i ( s – t )
3 2 2
These three roots of the cubic are known as Cardano’s Formula; a derivation can for example
be found online in KWWSZZZWUHVXUHWURYHVFRPPDWK&XELF(TXDWLRQKWPO.

144
A Mathematics of Vector Fields
A.4 Some Advanced Derived Fields

A.4 Some Advanced Derived Fields


A GHULYHGILHOG is a field that is generated by applying an operator or combination of operators
to a field. A good example is the vorticity field, which is the result of applying the curl operator
(A.12) to a vector field. In the following, we will establish some more complicated fields that
can be derived from a vector field.

Acceleration
We have defined the convective derivative D ⁄ Dt in (A.16) above and will now apply it to the
vector field v itself:

Dv ∂v
-------- = ( ∇v )v + ------ (A.31)
Dt ∂t
In this vector equation, D ⁄ Dt (A.16) is applied componentwise. Here, the scalar product
∇p ⋅ v in (A.16) becomes a matrix-vector multiplication.
Since we only consider vector fields which are either steady (not varying as a function of time)
or instantaneous (a frozen snapshot from a time-varying vector field), the partial derivative of
v with respect to time is zero. This simplifies (A.31) to

Dv
a = -------- = ( ∇v )v (A.32)
Dt
This derived vector field represents the DFFHOHUDWLRQof each fluid particle in the field (assum-
ing a steady flow). It might be noteworthy that one has only to multiply the local Jacobian and
the velocity to obtain the acceleration.

Curvature
We just showed that it is easy to calculate the local acceleration in a (steady) vector field. We
will now see how to use this information to calculate the streamline curvature everywhere in the
field, again without having to integrate the actual streamlines first. The curvature measures how
quickly the curve locally deviates from a straight line; it is zero for a straight line and a positive
number otherwise.
We will start by looking at the definition of curvature of a parametric curve in 5 3 given in the
form

x = x(t) (A.33)

145
A Mathematics of Vector Fields
A.4 Some Advanced Derived Fields

dx d2x
With x' and x'' denoting ------ and --------2- , respectively, we can define a curvature vector c of x as
dt dt
x' × x''
c = ---------------- (A.34)
x' 3
(found e.g. in Bronstein [19]) and write the curvature κ of x as

κ = c (A.35)
So far, we only stated the definition of curvature for a parametric curve from differential geom-
etry. We now want to apply this definition to a particular set of curves, the streamlines of our
(steady) vector field v. Obviously, each streamline is a parametric curve in 5 3 , with time as its
parameter. For a streamline x ( t ) , it follows by definition of the streamline that

x' = v (A.36)
We just found in (A.32) that the acceleration (and thus the second derivative of the streamline) is

Dv
x'' = a = -------- = ( ∇v )v (A.37)
Dt
We now simply plug these two expressions into the equation for the FXUYDWXUHYHFWRr (A.34)
and obtain

v×a
c = ------------- (A.38)
v3
As in (A.35), the actualFXUYDWXUH κ is the length of the curvature vector, c .
This means we can calculate the curvature of the streamline at each (nondegenerate) point in the
field, without ever calculating any part of the streamlines themselves. Of course, the curvature
is undefined at critical points, where the velocity is zero and the streamline degenerates to a
point.
Applications (mostly 2D) of calculating and visualizing curvature of flow fields are the subject
of the thesis by Theissel [149]. Yates and Chapman [163] also make extensive use of curvature
in their analysis.

146
A Mathematics of Vector Fields
A.4 Some Advanced Derived Fields

Jerk
We saw in (A.32) that we can obtain the acceleration a by applying the convective derivative
to v itself. If we now apply D ⁄ Dt to a, we get the second derivative. This change in accelera-
tion is usually called the MHUNYHFWRU, and can be written as

D2v Da
b = ---------- = -------- (A.39)
Dt 2 Dt
To further express the jerk b as a function of only the local derivatives of the vector field v, we
make use of the Hessian T, the second derivative of the vector field introduced in (A.14). To
simplify notation in the following two formulas, we will use the symbol J here for the Jacobian:

J = ∇v (A.40)
Using the matrix J and the third-order tensor T, we can write the acceleration a (A.32) as

Dv
a = -------- = ( ∇v )v = Jv (A.41)
Dt
and the jerk, using the “chain rule”, as

Da D ( Jv )
b = -------- = ----------------- = J 2 v + Tvv (A.42)
Dt Dt
The resulting matrix is multiplied with the vector v, resulting in a vector. Similarly, Tv repre-
sents a matrix that results from multiplication of the third-order tensor with a vector.
For practical, discrete data, a discretized differentiation operator has to be used to numerically
approximate derivatives. One can simply use an implementation of a first derivative and calcu-
late first a = Dv ⁄ Dt and then b = Da ⁄ Dt , as discussed in section 6.3. If a better method
for calculating second derivatives is implemented, then T can be calculated directly from v and
the jerk can be calculated using b = J 2 v + Tvv .

Torsion
In analogy to the curvature, we can calculate the torsion of the streamlines as a derived scalar
field. Similar to curvature, which measures how much a curve bends away from a straight line,
the torsion measures how much a curve bends out of its osculating plane. It is zero where the
curve is locally planar and a signed real number otherwise, where positive torsion indicates a
positive helical shape according to the right-hand rule.

147
A Mathematics of Vector Fields
A.5 A Word on Non-Degenerate Fields

From differential geometry, we know that WRUVLRQ of a parametric curve in 5 3 can be written as

( x' × x'' ) ⋅ x'''


τ = -------------------------------- (A.43)
x' × x'' 2
d3x
where x''' of course stands for --------3- . We already identified x' and x'' in (A.36) and (A.37); sim-
dt
ilarly,

D2v
x''' = b = ---------- = J 2 v + Tvv (A.44)
Dt 2
With that, we can write the torsion of a (steady) vector field v as

(v × a) ⋅ b
τ = -------------------------- (A.45)
v×a2
Torsion is undefined where the curvature is zero (in which case the cross product v × a
becomes zero) or undefined (at critical points where v is zero).

A.5 A Word on Non-Degenerate Fields


In all our mathematical formulations and also in the algorithms implementing them, we assume
general or non-degenerate fields. The condition for a non-degenerate situation depends on the
situation the term is used for. For example, we call a 3D vector field degenerate if it is a function
of only two variables. A vector field is degenerate in places where zero vectors (critical points)
do not appear in isolation, and so on.
We can attempt to define a non-degenerate field by adding a very small random perturbation: if
the properties of the field do not change essentially when an arbitrary small perturbation is
added, then the field is non-degenerate.
In practical algorithm, it is typically sufficient to find the particular steps where illegal opera-
tions can occur because of degenerate cases, such as a division by zero or attempting to invert
a singular matrix. In most instances, the particular calculation can simply be skipped, since we
are usually only interested in regular solutions and want to exclude degeneracies. Alternatively,
the input data could be actually perturbed a little bit.

148
A Mathematics of Vector Fields
A.6 Some Vector Field Identities

A.6 Some Vector Field Identities


In this section, we collect some general identities for vector fields without further comment. As
usual, a, b, c, d, v and u denote vector fields, while f and g represent scalar fields. We assume
that the textual operators such as grad or div evaluate before any products (dot, cross, matrix
times vector), such that for example curl v ⋅ v means ( curl v ) ⋅ v . We always write both the
textual and Nabla-notation of the identities.

Identities for products

( a × b ) × c = ( a ⋅ c )b – ( b ⋅ c )a (A.46)

a × ( b × c ) = ( a ⋅ c )b – ( a ⋅ b )c (A.47)

( a × b ) ⋅ ( c × d) = ( a ⋅ c )( b ⋅ d ) – ( b ⋅ c )( a ⋅ d ) (A.48)

Definitions of differential operators

div grad f = laplace f


(A.49)
∇ ⋅ ∇f = ∇ 2 f

curl v ⋅ v = helicity v
(A.50)
( ∇ × v ) ⋅ v = helicity v

Identities for differential operators

div curl v = 0
(A.51)
∇ ⋅ (∇ × v) = 0

curl grad f = 0
(A.52)
∇ × ∇f = 0

149
A Mathematics of Vector Fields
A.6 Some Vector Field Identities

curl curl v = grad div v – laplace v


(A.53)
∇ × ( ∇ × v ) = ∇ ( ∇ ⋅ v ) – ∇2 v

div ( fv ) = f divv + grad f ⋅ v


(A.54)
∇ ⋅ ( fv ) = f ( ∇ ⋅ v ) + ∇f ⋅ v

div ( u × v ) = v ⋅ curl u – u ⋅ curl v


(A.55)
∇ ⋅ (u × v) = v ⋅ (∇ × u) – u ⋅ (∇ × v)

curl ( fv ) = f curl v + grad f × v


(A.56)
∇ × ( fv ) = f ( ∇ × v ) + ∇f × v

grad ( fg ) = f grad g + g grad f


(A.57)
∇ ( fg ) = f ∇g + g ∇f

helicity ( fv ) = f 2 helicity v
(A.58)
( ∇ × fv ) ⋅ fv = f 2 ( ( ∇ × v ) ⋅ v )

helicity ( f grad g ) = 0
(A.59)
( ∇ × ( f ∇g ) ) ⋅ ( f ∇g ) = 0

150
A Mathematics of Vector Fields
A.6 Some Vector Field Identities

Identities involving matrices

grad ( u ⋅ v ) = ( grad u ) T v + ( grad v ) T u


(A.60)
∇ ( u ⋅ v ) = ( ∇u ) T v + ( ∇v ) T u

1
( grad v ) v = curl v × v + --- grad ( v ⋅ v )
2
(A.61)
1
( ∇v )v = ( ∇ × v ) × v + --- ∇ ( v ⋅ v )
2

curl ( u × v ) = grad u v – grad v u + div v u – div u v


(A.62)
∇ × ( u × v ) = ∇u v – ∇v u + ( ∇ ⋅ v ) u – ( ∇ ⋅ u ) v

curl u × v = ( grad u – ( grad u ) T ) v


(A.63)
( ∇ × u ) × v = ( ∇u – ( ∇u ) T ) v

151
A Mathematics of Vector Fields
A.6 Some Vector Field Identities

152
B Introduction to Fluid Dynamics

B Introduction to Fluid Dynamics

B.1 Idealized Fluid


Fluid dynamics concerns itself with the study of the motion of fluids (liquids and gases); it is
part of mechanics; good textbooks on the topic are Arnold [9], Lighthill [82], Panton [103] or
Yih [165]. Since the phenomena considered in fluid dynamics are macroscopic, a fluid is
regarded as a continuous medium. This means that any small volume element in the fluid is
always supposed so large that it still contains a large number of molecules.
The state of a moving fluid is mathematically described by a vector and two scalar fields. The
vector field states the distribution of the fluid velocity v as a function of space and time. Scalar
fields of any two thermodynamic quantities pertaining to the fluid, typically pressure p and den-
sity ρ , are needed in addition to fully determine the state of a fluid. All other thermodynamic
quantities (like energy, momentum, temperature etc.) can be derived from these quantities.

B.2 Equation of Continuity (Conservation of Mass)


Consider a volume of fluid V. Its mass is obtained by integrating the density, ∫ ρ dV . The
change in mass (positive for mass flowing out of the volume) can be expressed as


∂t ∫
– ---- ρ dV (B.1)
V
The mass of fluid flowing in unit time through an element dn of the surface bounding this
volume is ρv ⋅ dn . The magnitude of the vector dn is equal to the area of the surface element,
and its direction is along the (outward) normal. The total mass of fluid flowing out of the volume
V in unit time is this outflow per unit mass, integrated over the boundary of V,

°∫ ρv ⋅ dn (B.2)
∂V
Using Green’s formula, this surface integral can be transformed into a volume integral,

°∫ ρv ⋅ dn = ∫ ( ∇ ⋅ ρv ) dV (B.3)
∂V V

153
B Introduction to Fluid Dynamics
B.2 Equation of Continuity (Conservation of Mass)

Both (B.1) and (B.3) express the mass of fluid flowing out of a volume V in unit time, so they
must be equal:


∫ ( ∇ ⋅ ρv ) dV = – ---- ρ dV
∂t ∫ (B.4)
V V
By moving the right-hand term to the left side, interchanging the order of differentiation and
integration and finally combining the integrals, we obtain

∂ρ
∫  -----
∂t
- + ( ∇ ⋅ ρv )

= 0 (B.5)
V
Since this integral must be zero for any choice of volume V, its integrand must vanish. We there-
fore obtain the HTXDWLRQRIFRQWLQXLW\,

∂ρ
------ + ( ∇ ⋅ ρv ) = 0 (B.6)
∂t
The divergence of ρv can be expanded by applying (A.54), resulting an equivalent formula for
(B.6),

∂ρ
------ + ρ ( ∇ ⋅ v ) + ∇ρ ⋅ v = 0 (B.7)
∂t

Incompressible fluid
An LQFRPSUHVVLEOH fluid is assumed not to change its volume under varying pressure: it has a
constant density ρ . Liquids such as oil or water can reasonably be approximated as being
incompressible, while this is typically not true for gases.
For an incompressible fluid, density is constant, and both the derivative with respect to time and
the gradient of the density in (B.7) disappear. For incompressible flow, the equation of continu-
ity therefore reduces to

∇⋅v = 0 (B.8)
For conservation of mass in an incompressible fluid, the flow thus has to be divergence-free, i.e.
it can not contain any sources or sinks.

154
B Introduction to Fluid Dynamics
B.3 Euler Equation (Inviscid Flow)

B.3 Euler Equation (Inviscid Flow)


The Euler Equation describes the motion of LQYLVFLGIORZ, an ideal fluid of zero viscosity. This
means that the fluid does not exhibit any internal shear stresses; a layer of fluid can slide over
another layer of fluid without any friction. The only force acting on a surface element dn of the
fluid is pressure, and the force acts perpendicular to the surface element and is proportional to
the pressure, F n = – p n .
A very small “dyed” blob of inviscid fluid of volume ∂V within the fluid, in the presence of an
external force by a gravity vector g, experiences a total force of

F V = ( – ∇p + ρg )∂V (B.9)

The two forces acting on this small blob are the gradient of pressure and density times the grav-
ity vector (or any other external force). The small blob’s mass is ρ∂V . Its acceleration is the
acceleration of a fluid particle Dv ⁄ Dt , as in (A.31). The force on the blob must equal its mass
times its acceleration, which leads directly to the (XOHUHTXDWLRQ (published 1755 by Leonhard
Euler, 1707 -1783):

Dv 1
-------- = – --- ∇p + g (B.10)
Dt ρ
Substituting the definition for D ⁄ Dt from (A.16), this can also be written as

∂v 1
------ + ∇v ⋅ v = – --- ∇p + g (B.11)
∂t ρ
Together with the conservation of mass, (B.6) or (B.7), this equation describes the motion of an
inviscid fluid. This model is appropriate when the effects of energy dissipation, thermal conduc-
tivity and viscosity are negligible.

B.4 Navier-Stokes Equation (Viscous Flow)


Euler’s model for fluid motion neglects the internal friction between fluid particles. In reality,
all fluids have some amount of YLVFRVLW\. This means that, in addition to the pressure, there is a
force which acts on an internal surface element, caused by the motion of fluid along the surface.
A layer of fluid sliding over another layer of fluid now experiences a shear stress.
In general, one would now have to deal with a general stress tensor (a matrix) which describes
the internal frictions that occur when different fluid particles move with different velocities. We
will assume that the stress tensor is a linear function of the first derivatives of the velocity. This
gives rise to a coefficient of viscosity, the G\QDPLFYLVFRVLW\ η , which we will consider con-

155
B Introduction to Fluid Dynamics
B.4 Navier-Stokes Equation (Viscous Flow)

stant in the whole fluid. In addition, we will only consider incompressible fluids here, where
density is constant and where we can write the stress tensor in the form

σ ik = – pδ ik + η ( v i,k + v k,i ) (B.12)

where δ ik represents the Kronecker delta:


δ ik =  1 if i = k (B.13)
 0 if i ≠ k
The ratio

η
ν = --- (B.14)
ρ
is called the NLQHPDWLFYLVFRVLW\ (or often just the viscosity) of the fluid. Here are the values for
the two most common fluids, air (at room temperature and normal pressure) and water (at room
temperature):

fluid dynamic viscosity η (Ns/m2) density ρ (kg/m3) kinematic viscosity ν (m2/s)


air 0.000018 1.29* 0.000014*
water 0.0018 1000 0.0000018
Table 2-1: Some values for density and viscosity.
*
: density and therefore kinematic viscosity of a gas changes significantly with pressure; listed are values for normal pressure.

For a viscous incompressible fluid, in addition to the pressure gradient and any external forces
there is a viscous friction force ν∇ 2 v , proportional to the kinematic viscosity and the Laplacian
of the velocity. Adding this term to the Euler equation (B.10) or (B.11), we obtain the 1DYLHU
6WRNHVHTXDWLRQ (after Claude Navier, 1785-1836, and Sir George Gabriel Stokes, 1819-1903),

Dv 1
-------- = – --- ∇p + ν∇ 2 v + g (B.15)
Dt ρ
We can again insert the definition of D ⁄ Dt for the acceleration on the left-hand side:

∂v 1
------ + ∇v ⋅ v = – --- ∇p + ν∇ 2 v + g (B.16)
∂t ρ
Together with the conservation of mass, (B.6) or (B.7), this equation describes the motion of a
viscous incompressible fluid.
A detailed textbook on the equations governing fluid flows and the physical models they
describe is Hirsch [55]. When the curl operator is applied to the Navier stokes equation, we

156
B Introduction to Fluid Dynamics
B.4 Navier-Stokes Equation (Viscous Flow)

obtain the vortex transport equation. It describes a flow field by means of its vorticity field
instead of its velocity, and leads to the field of vortex dynamics, described for example by Saff-
man [125].

Reynolds number
The same characteristics can often be observed in fluid flow of various scales. For example, a
cylindrical obstacle in a constant flow produces a vortex wake called a von Karman vortex street
(after Theodore von Kármán, 1881-1963) at some flow velocities; this pattern can be identified
regardless of the size of the cylinder. It is depicted in Fig. B.1.

Fig. B.1: Flow behind a cylinder: von Karman vortex street (flow direction to the right).
Left: Photo of dye injected near the cylinder in an experiment
Right: Visualization of computer simulation: contours of vorticity magnitude.

The 5H\QROGV QXPEHU (after Osborne Reynolds, 1842-1912) describes a scale-independent


characteristic of the flow. It is defined using some “characteristic” length scale of the flow l, a
“typical” flow speed u, and the viscosity ν :

ul
Re = ----- (B.17)
ν
In Fig. B.1, the pattern in the photograph of actual flow (left) is at a Reynolds number of 150.
The pattern in the simulation (right) is similar, but the vortices are closer together compared
with the diameter of the cylinder (the only reasonable choice for l in this setup), so the Reynolds
number must be slightly different.
The choice of a “typical” length l and flow speed u are somewhat subjective. For flow around
an airfoil for example, most often the chord length is chosen as the typical length, and the speed
of free flow as the typical velocity.
To see why the Reynolds number Re is important, note that the components of the Jacobian of
velocity are typically of order u ⁄ l , i.e. change on the order of u over distances of l. Typically,

157
B Introduction to Fluid Dynamics
B.5 Some Remarks on Numerics

these derivatives themselves change by amounts of order u ⁄ l over distances of order l, so


second derivatives (components of the Hessian) are of order u ⁄ l 2 .
The order of the size of the inertia term ∇v ⋅ v is therefore O ( u 2 ⁄ l ) , while the viscous term
ν∇ 2 v is of order O ( νu ⁄ l 2 ) . This allows us to deduce that

u2 ⁄ l
--------------------------------- = O  --------------- = O ( Re )
inertia term
(B.18)
viscous term  νu ⁄ l 2
The Reynolds number thus defines the order of magnitude of the ratio between the inviscid and
the viscous forces acting on the fluid particles.

B.5 Some Remarks on Numerics


The differential equations that govern the motion of a fluid are the equation of continuity (B.6)
and either the Euler (B.10) or Navier-Stokes (B.16) equation. However, there are only very few
and simple cases known where a solution to these equations can be given analytically. In order
to determine a sufficiently general flow, numerical approximations have to be used. To this pur-
pose, the domain must be decomposed in a number of cells or sample points, the differential
operators need to be discretized and a numerical algorithm to solve the discretized equation has
to be applied.

Turbulence model
When the domain is discretized and a lump of fluid inside a grid cell is only represented by a
constant velocity (or some linear combination of fixed basis functions in the case of a finite ele-
ment discretization), an additional term must be introduced to the Navier-Stokes equations to
satisfy the preservation of energy. Since the turbulence inside a single cell is no longer modeled,
a term has to be added which describes how much energy is locally dissipated in this cell. So it
is necessary to decide on a model of local small-scale turbulence in order to describe the local
dissipation of energy into heat.
The most often used turbulence model is called the k-ε (k-epsilon) model. Various turbulence
models are described for example by Hirsch [56].

Boundary conditions
The problem of determining the motion of a fluid is only properly posed when appropriate
boundary conditions are supplied. The following boundary conditions are typical of Navier-
Stokes equations (viscous fluid):
• on all solid boundaries, velocity is assumed to be zero (no-slip boundary condition).

158
B Introduction to Fluid Dynamics
B.5 Some Remarks on Numerics

• on inflow boundaries (e.g. entrance to a pipe), all velocities are specified


• on outflow boundaries, the pressure distribution is specified
It is notable that Euler’s equations can not be satisfied with the no-slip boundary condition. For
inviscid fluids, the boundary condition on solid walls has to be loosened to only requiring the
component of velocity normal to the boundary surface to be zero; a velocity parallel to the
boundary must be permitted in order to find a solution of Euler’s equations.

Solvers
Programs which determine the fluid flow by finding an approximate, numerical solution to
either Euler or Navier-Stokes equations are called VROYHUV. While there are of course academic
research projects and some industry in-house codes, most of the solvers typically employed in
applied research and development today are commercial software packages.
There are several basic numerical strategies to discretize the differential equations. The most
popular approach appears to be a finite difference method, which discretizes the fields to values
defined on a set of grid nodes. Finite element codes discretize the domain into a collection of
basic cells, in which the function is approximated as a linear combination of a (predetermined)
set of basis functions. Typically, solutions from such methods define values for velocity or pres-
sure inside a grid cell, as opposed to on the grid nodes.
Since in a finite difference method, all values are specified at the grid nodes, it is simple to spec-
ify the boundary conditions for this type of solvers; some more care has to be taken to find spec-
ify boundary conditions for finite element codes.
There are also other, more specialized methods. For time-dependent and very turbulent flows
for example, one approach is to discretize the vorticity field to a (large) number of particles with
a predefined vorticity distribution. The flow induced by the vortex elements is calculated, and
the vorticity particles are advected. This particle method has no fixed grid structure; the vorticity
elements move with the flow. In order to ensure appropriate resolution, particle density has to
be controlled and additional particles have to be created at runtime.
When simplifications such as postulating an incompressible fluid or keeping the viscosity con-
stant is not appropriate, there is the possibility to simulate the flow physics more accurately
using Direct Numerical Simulation (DNS). However, this is computationally very expensive
and typically can only be applied to very small scales; its is impossible to simulate large-scale
technical flows such as in aerodynamics for aircraft or car design with this method. Other spe-
cialized methods use a Fourier space and model the solution in a frequency domain; this tech-
nique for example is applied to simulate the development of a boundary layer and evolution of
turbulence. However, the difficulties of specifying boundary conditions other than periodicity
make this method inappropriate for technical flows around complicated geometries.

159
B Introduction to Fluid Dynamics
B.5 Some Remarks on Numerics

Grid generation
The most often used finite difference and finite element solvers both rely on a discretization of
the domain onto a discrete grid. Usually, the grid is constructed to follow the solid surfaces; oth-
erwise it is difficult to specify the necessary boundary conditions. The grid can be structured in
a single block, it can be a completely unstructured set of points and cells. For technical applica-
tions, often a mixture between both is chosen: a number of blocks are placed like hexahedral
cells in an unstructured grid, but each block contains a structured grid. This multi-block
approach combines the flexibility of the unstructured approach with the efficiency of the struc-
tured single block.
Generating a good grid is a great challenge. The resolution of the grid should be dense where
large changes in the flow happen, such as near surfaces, or near shocks or vortices. On the other
hand, regions where the flow is almost constant should be resolved only sparsely in order to
keep the calculation time and memory requirements in check.
For many applications, a combination of manual and automatic methods are used to lay out the
grids. For very complicated geometries, where manual grid specification is almost impossible
and completely automatic grid generation is desired, constructing the grid actually leads to an
optimization problem that is computationally more expensive to solve than the subsequent
actual flow simulation.
Some solvers are able to refine the grid after a number of simulation steps, in order to increase
the resolution in areas of large gradients or near vortices. Most of these methods employ
unstructured grids, where local refinement is much simpler to handle and more efficient.

Fig. B.2: Vortex core of a rotorcraft tip vortex and a slice of the computational grid used for
the simulation. The locations of grid refinement is not where the vortex is located. In the future,
extraction of vortex cores will be done during computation such that the grid can be locally
refined automatically and the flow near the vortex is sufficiently resolved.

160
B Introduction to Fluid Dynamics
B.5 Some Remarks on Numerics

Automatic feature detection algorithms such as the vortex cores discussed in this thesis are actu-
ally beginning to get integrated into flow solvers which are able to locally refine the grid during
the computation. For example, ongoing work by Kenwright and others use automatic extraction
of vortex cores to locally refine a grid of a rotorcraft simulation (see Fig. B.2).
Thus, areas where important structures appear can be appropriately resolved even if there is no
a priori knowledge about the location of those structures. At first sight, this may appear danger-
ous: since the grid is only well resolved where a feature is detected, the feature may be artifi-
cially “forced” to that area. However, since a grid refinement always affects a whole region near
the feature and the process is repeated several times during the calculation, the opposite is actu-
ally the case: a vortex core that would otherwise be “trapped” in a region of low resolution is
given the opportunity to move away as the grid is locally refined.

161
B Introduction to Fluid Dynamics
B.5 Some Remarks on Numerics

162
C Turbomachinery Basics

C Turbomachinery Basics

3.1 Introduction
In this appendix, we present a brief introduction to our main field of application, namely turbo-
machines, and in particular, hydraulic turbines and pumps. Turbomachines transfer energy
between a moving fluid and a rotating shaft; as such these machines compete with piston
machines, which have the same function. The main difference is that a piston machine, such as
a four-stroke engine, operates in cycles, whereas a turbomachine, such as a jet engine, runs in a
continuous process. Both principles are combined in a piston engine with a turbo charger: the
main engine employs pistons, but remaining energy in the exhaust stream from the piston engine
drives a turbine, which in term propels a compressor, used to fill the pistons more efficiently.
A WXUERPDFKLQH is a device transferring mechanical energy from a rotating part called UXQQHU
into a fluid or vice versa. If energy is taken from the fluid, the machine is called aWXUELQH, if it
is added to the fluid (in form of higher pressure and velocity), it is called a SXPS. In case of gas
flow, a pump with a small difference in pressure between inlet and outlet is called a IDQ, whereas
a device for building a very high pressure difference is a FRPSUHVVRU. The combination of a
rotating runner with a row of stationary blades is called a VWDJH.

turbine
compressor
fan

Fig. 3.1: A turbofan engine contains three separate turbomachines.

A modern jetliner engine (turbofan engine, see Fig. 3.1) contains all these types of turboma-
chines: several stages of a compressor drive air into a burning chamber, where fuel is injected
and ignited. The expanding hot air propels a multi-stage turbine which drives both the compres-
sor and a fan, all on the same shaft.

163
C Turbomachinery Basics
3.2 Hydraulic Turbines And Pumps

3.2 Hydraulic Turbines And Pumps


In our applications, we will focus mainly onK\GUDXOLFPDFKLQHV, that is, turbomachines which
operate on water (or other liquids). Hydraulic turbines are typically designed for service at
hydro-electric power plants (HEPP), driving electric generators. A diagram of a turbine instal-
lation is shown in Fig. 3.2. Water is directed from the KHDGZDWHU via a pressure conduit to the
turbine and is finally discharged into the WDLOZDWHU. In the turbine, fluid energy is converted to
a large part into mechanical energy of the rotating shaft, which in turn drives the generator.

headwater

electric power
intake generator

shaft static
head
tailwater
penstock turbine

draft
tube

Fig. 3.2: Diagram of a hydraulic turbine installation for a


hydro-electric power plant (HEPP).

The two most characteristic figures of a turbine installation are its head and flow rate. The
VWDWLF KHDG is the difference in elevation between the head- and the tailwater, measured in
meters. The IORZ UDWH (or GLVFKDUJH) in m3/s describes the amount of fluid volume passing
through the turbine each second. Depending on the values of head and flow rate, turbines take
a variety of shapes. There are three main types of turbines: Kaplan, Francis and Pelton. Before
we briefly show each of these basic types, we will identify several identical elements in each of
the designs. We will follow the flow downward for a turbine and name the essential structures;
see also Fig. 3.3 and 3.4.

164
C Turbomachinery Basics
3.2 Hydraulic Turbines And Pumps

A B C C B A

D D

Fig. 3.3: Kaplan turbine. A: spiral casing, B: stay vanes, C: guide vanes (wicket gate),
D: runner blades, E: hub, F: shaft, G: (cone of) draft tube.

165
C Turbomachinery Basics
3.2 Hydraulic Turbines And Pumps

Structural elements of a hydraulic turbomachine


The water from the headwater flows through intake and penstock, which are both not considered
here. It then enters the actual machine and has to be distributed uniformly over the entire periph-
ery of the turbine entry, which is the task of a VSLUDOFDVLQJ (element A in Fig. 3.3 and 3.9; Fig.
3.4). It is built either of steel (for high heads, Fig. 3.4) or reinforced concrete (Fig. 3.3). The
shape often is not a smooth spiral, but built from many sections of straight cone segments as in
Fig. 3.4. The main design goal for the spiral is to provide a uniform inflow for the actual turbine
by distributing the mass flow even around the turbine and achieve a constant inflow angle. Ide-
ally, the flow in the spiral resembles a potential vortex.

Fig. 3.4: A scroll-shaped spiral casing distributes the flow uniformly


across the whole circumference of the runner.

The main purpose of the VWD\YDQHV (element B in Fig. 3.3 and 3.9, and on the truck trailer in
Fig. 3.6) is not related to the water flow, but is simply to serve as a stuctural support for the
weight of the machinery. They are usually built such as to interfere with the flow as little as pos-
sible.
The JXLGHYDQHV (also called ZLFNHWJDWH, element C in Fig. 3.3 and 3.9) are a ring of blades
which each can be rotated around a vertical axis. They can be turned so as to completely close
the passage (hence the name gate). The guide vanes and the axis around which each can be
rotated around its own axis are nicely visible in Fig. 3.10, left. During operation, the guide vanes
are the main element to regulate the mass flow. Note that the inflow angle for the runner
increases as the guide vanes are opened for more mass flow. For runners which are not adjust-
able, this implies that the runner has to be optimized for a certain mass flow and resulting angle;
a decrease in efficiency occurs if the flow rate deviates from this design point.
The rotating part of the machine comprises the UXQQHU (D and E; for pumps usually called
LPSHOOHU), the rotor of the generator and the VKDIW (F) transmitting the rotation. The UXQQHU

166
C Turbomachinery Basics
3.2 Hydraulic Turbines And Pumps

Fig. 3.5: Opened spiral casing and stay vanes (computer model).

Fig. 3.6: On the truck trailer, a part of the stay vanes of a very large turbine. To the right, the
Francis runner. Compare its size of the car at the right border of the image.
Photo by Sulzer Hydro / Escher Wyss.

167
C Turbomachinery Basics
3.2 Hydraulic Turbines And Pumps

EODGHV (D) are designed to convert the energy from the fluid as efficiently as possible into rota-
tional torque. The part mounted on the end of the shaft and holding the blades is called the
FURZQ or KXE (E).
The combination of stator and rotor blades is often called a VWDJH. Unlike water turbines, turbo-
machines in gas turbines and pumps for very high pressure differences such as in jet engines
contain several stages (alternating rows of stator and rotor blades, the rotor blades all connected
to the same shaft).
After passing the runner, the water flows through the GUDIWWXEH (G) to be discharged into the
pool of tailwater. For machines mounted with the shaft vertically (as shown in the figures), the
draft tube contains a bend; all draft tubes have a significant increase in cross-section area in
direction of downflow. For axial flow machines with a horizontal axis (Bulb type turbines, Stra-
flo (straight flow) turbines), the shape is roughly conical. For vertical axis turbines, “elbow
type” draft tubes are used, typically shaped as sketched in Fig. 3.2. Often, there is also a gradual
change from the round draft tube inflow to a rectangular shape towards the exit. Sometimes, the
lower part of the draft tube is divided in the center by a fin-shaped strut as in Fig. 3.7.

Fig. 3.7: Flow in draft tube of Kaplan turbine visualized by particle animation (video still).

168
C Turbomachinery Basics
3.2 Hydraulic Turbines And Pumps

Because of the increasing cross-section area, the draft tube slows down the flow speed. This also
results in a lower pressure at the inlet then at the exit. Decreased pressure at the runner outlet
contributes to a higher pressure difference for the runner (as compared to a simple straight pipe
instead of the draft tube), and thus adds to the static head. For the design of new power plants,
the draft tube is very important, since it determines shape, size and maximal depth of the lower
part of the installation; because of cavitation, the turbine often has to be mounted below the tail-
water level.
A good reference for more information about hydraulic machines is the book by Krivchenko
[76], or the German books by Bohl [16], [17] or Käppeli [65].

Kaplan turbines
The turbines in Fig. 3.3 and Fig. 3.8 are Kaplan turbines. This type is also called an axial turbine,
since both at the entrance and at the exit of the runner, the main flow direction is along the
machines axis. Kaplan turbines have the most easy to understand geometry; a Kaplan runner
looks a lot like a ship propeller. Typically, there are only few runner blades (three to five). The
blades are only mounted at one end (on the hub) and the casing does not rotate; this requires a
small gap between the tip of the blades and the casing (generating turbulent leak flow and gap
cavitation in the tip clearance).

Fig. 3.8: Photos of a Kaplan-type turbine in a river power plant. View from upstream
with fully opened guide vanes (left), from downstreams (right).
Photo by Sulzer Hydro / Escher Wyss.

Kaplan machines are especially suited for situations with a low head and large flow rate. As
such, they are mainly used for river power plants, where typically, the head (difference between
head- and tailwater) is only a few meters, but there is a constant flow of water available, allow-
ing for large flow rates (>50 m3/s).

169
C Turbomachinery Basics
3.2 Hydraulic Turbines And Pumps

As with other types of water turbines, the flow rate is controlled by opening or closing the guide
vanes, which can be rotated about their mounts. What is unique to Kaplan turbines is that some
have the ability to rotate the runner blades about their mounts as well, in order to adapt the
machine to different inflow angles when the position of the guide vane changes. Such machines
are called doubly regulated. The cutaway part of the hub in Fig. 3.3 reveals a part of the mechan-
ics necessary to adjust the blades of the rotating runner.
Kaplan turbines can be mounted with a vertical axis as in Fig. 3.3 or with a horizontal axis as in
Fig. 3.8. In the latter case, either the whole generator or a right-angle transmission for the shaft
is located in a bulb-shaped casing upstream of the turbine; this particular type of machines
allows for an almost straight flow through the turbine and is called a bulb turbine.
In Fig. 3.8 illustrates a typical size of such an installation by comparisons with the workers in
the image. Upon close observation, one can also see the circular mounts of the runner blades,
about which these blades can be rotated; this is a doubly regulated turbine. At least in the color
figures online [2], at the tip of the four runner blades there are winglets visible, similar to those
found on airplane wing tips. In this case, the winglets are designed to lessen the effects of the
flow through the gap between the blade and the housing, which forms a tip vortex on each of
the blades.

Francis turbines
The second main type of water turbines is a Francis turbine as shown in Fig. 3.9. Francis
machines are also called radial-axial or simply radial, since the flow enters roughly perpendic-
ular to the machines axis but exits about parallel to it.
For Francis machines, the VKURXG (or EDQG, element H in Fig. 3.9) is connected to the runner
blades and is part of the runner, rotating with the blades and the crown. Thus, there is no leak
flow from the pressure side (the side facing upstream with higher pressure) to the suction side
(the downstream side with lower pressure) of the blades. Francis machines therefore do not have
a tip vortex like Kaplan turbines.
Francis turbines are typically used for installations with moderately high head (from approxi-
mately forty to a few hundred meters) and relatively small flow rates. It is mainly used for (often
artificial) lakes several hundred meters above the power station.
As a speciality, Francis turbines can be UHYHUVLEOH, that is they can be used as a pump. 3XPS
WXUELQHV are designed to operate both in pump and turbine mode. With such machines, cheap
excess electricity at night can be used to pump water up, whereas the same machine operates as
a turbine at peak hours during the day, when electricity can be sold at a higher price.

170
C Turbomachinery Basics
3.2 Hydraulic Turbines And Pumps

F
A B C E E C B
A
D D
H
H

Fig. 3.9: Francis turbine. A: spiral casing, B: stay vanes, C: guide vanes (wicket gate),
D: runner blades, E: hub (crown), F: shaft, G: (cone of) draft tube, H: shroud (band).

Fig. 3.10 shows a complete Francis turbine being assembled (left; visible are the guide vanes,
the runner behind the person, and the spiral casing) and a large Francis runner (right). The shape
of the channels of these machines can be quite difficult to understand, especially if only one
channel is shown as often the case in CFD simulations of a steady flow. There are often many
runner blades, from seven to seventeen or more.
Francis turbines have a leak flow that, instead of entering the runner, creeps between the rotating
shroud and the stationary machine casing. Obviously, this flow which circumvents the runner
represents energy that can not be used in the machine. This unwanted effect is reduced by lab-
yrinth seals, but still remains an issue for very high heads (which means a very high pressure
difference between the entrance and the exit of the runner).

Pelton turbines
The third basic type of water turbines is used for very high heads, typically many hundred
meters. It also employs a different physical principle to convert the energy from the fluid into a
rotational motion. A Pelton turbine consists of two separate elements: a runner and one or sev-
eral nozzles (see 3.11).

171
C Turbomachinery Basics
3.2 Hydraulic Turbines And Pumps

Fig. 3.10: Photos of Francis turbines. Left, a small machine being assembled on site;
the guide vanes and their mounts about which they can rotate are visible.
Right, a large Francis runner.
Photo by Sulzer Hydro / Escher Wyss.

In the nozzle, the internal energy of the fluid in the form of pressure is converted completely
into high velocity. Upon exiting, the fluid forms a free-flowing jet without any guidance. Since
the surrounding air pressure is the normal pressure of approximately one bar, so is the pressure
at the surface of the jet. The pressure inside the jet does not vary much, so a slow-moving fluid
of very high pressure is converted to a very fast-moving fluid of low pressure by the nozzle.
The free-flowing jet then impacts the buckets of the runner, which are designed to deflect the
water flow almost 180 degrees. The runner of a Pelton machine is driven purely by the moment
(weight times velocity) of the inflowing water. This is a major difference to the other types of
turbines, in which the actual force acting on the runner is mainly the hydrodynamic lift from the
shape of the blades in the flow. The blades of Kaplan and Francis turbines have therefore to be
shaped to optimize the lift, whereas the buckets of a Pelton turbine are designed to deflect the
flow as much as possible in order to use as much of the momentum as feasible.
The water can not be deflected exactly 180 degrees, or it would hit the following bucket from
behind and slow the wheel. Thus, the shape of the buckets is optimized to allow a large angle
without the water hitting the next bucket.
The simulation of the flow in confined channels poses no major problems and is routinely used
in the design and analysis of Francis and Kaplan turbines. For pelton turbines however, the com-
pletely free-flowing jet of water in the air represents a problem for accurate simulation. When

172
C Turbomachinery Basics
3.2 Hydraulic Turbines And Pumps

Fig. 3.11: Pelton turbine. 1: bucket, runner, 2: nozzle, 3: needle (for regulating the
flow rate), 4: deflector (for deflecting the jet away from the runner in an emergency)

the jet interacts with the bucket, there always is a free surface of the flow. Appropriate numer-
ical methods to describe this interaction are currently a research topic, and such simulations are
not yet part of the industrial design process. However, classical CFD can be used to design and
optimize all the parts up to and including the exit of the nozzle.

Turbulence and cavitation


7XUEXOHQFH is a small and high-frequent fluctuation of flow speed, flow direction and pressure.
Zones of high turbulence develop mainly in boundary zones associated with solid surfaces, but
turbulence is also transported along with the flow and dissipated. Usually, the actual flow is
modeled as an average flow component plus a chaotic turbulent flow component. For pressure,
this can be seen in the measured data shown in Fig. 3.12 (left): the instantaneous pressure can
be decomposed into an average pressure pa plus pressure fluctuations in the order of p' .
When water is subject to a pressure below that of saturated water vapor, it starts to develop cav-
ities filled with vapor instead of liquid water. The pressure of saturated water vapor pvap
depends on temperature and is around 2 kPa at 18 °C. In its early phase, incipient FDYLWDWLRQ
shows up as small bubbles, originating at points where the instantaneous pressure drops below

173
C Turbomachinery Basics
3.2 Hydraulic Turbines And Pumps

Fig. 3.12: Left, typical turbulent variation of pressure over time (measurement). Right,
cavitation bubbles. In the area of collapsing bubbles, high erosion takes place.

vapor pressure (Fig. 3.12, right, and Fig. 3.13). These bubbles are transported downstream until
they enter a region where the instantaneous pressure is again higher than pvap, where the bubbles
collapse. The problem of cavitation is that the sudden collapse (implosion) of these bubbles
cause very high instantaneous pressure at the center of the collapsing bubble, leading to shock
waves in the water. When bubbles implode near solid surfaces, the constant high frequency
hammers cause erosion of the surface and lead to severe cavitation damages. Over time, this can
even lead to fist-sized holes in steel blades with a thickness of more than five centimeters. Cav-
itation and abrasion by sand or other small objects carried with the flow lead to damages that
require regular replacement of turbine runners within every few years.

Fig. 3.13: Left: cavitation at the tip of a propeller blade. Right: the four tip vortices of a ship
propeller are directly visible due to cavitation occurring at the vortex core.

174
C Turbomachinery Basics
3.3 Design of Water Turbines

3.3 Design of Water Turbines


To understand the field of application for our flow visualization projects in collaboration with
Escher Wyss (formerly associated with Sulzer as Sulzer Hydro; now a part of VA Tech), we
will explain some basics of the process of designing water turbines and pumps. The significance
of CFD simulations for this process will be explained in the next section.

design point,
best efficiency
point (BEP)

Fig. 3.14: Typical contour plot of efficiency versus flow rate Q (horizontal) and head H
(vertical) for a particular turbine (diameter 6.3 m, rotation speed 88.3 rpm).

Water turbines are very large units manufactured and designed individually. These machines
can be made fairly efficient: today, efficiencies at design point for water turbines typically reach
a level of 93-96%. Since any increase in efficiency is directly proportional to an increase in
profit that can be made with the machine, it is still an important issue to improve hydraulic per-
formances of the machine. A typical hill chart (contour plot) of efficiency levels can be seen in
Fig. 3.14: isolines of efficiency (η) are plotted against head and discharge for a certain turbine.
Limiting lines (with shading) occur because of the maximal opening of the guide vane (limit
towards lower right) and maximal rating of the generator (limit towards upper right).
The machine is designed such that the point of maximum efficiency (the GHVLJQSRLQW or EHVW
HIILFLHQF\SRLQW, BEP) coincides with the operating conditions that are most frequently used.
Another design goal is to keep the efficiency high when deviating from the design conditions,

175
C Turbomachinery Basics
3.4 Industrial Turbomachinery Design

that means to keep the hill chart flat in the vicinity of the BEP. The head often varies only little,
for example with the water level of a river or lake. Flow rates however can be significantly
changed (by opening or closing the guide vanes), in order to react to changes in the demand for
electricity.
Cavitation (Fig. 3.13) near solid surfaces leads to high erosion as described above and therefore
has to be avoided. This can be achieved easily by mounting the turbine far below the level of
tailwater and thus increasing the overall pressure in the machine (while the head stays the same).
However, every meter the turbine must be lowered into the ground adds substantial costs while
building the power plant, so that designers are forced to place the machine as high as possible.
The main task of the designers of turbines is to find a design that best fulfills the customer’s
expectations. The design process is not simply a straightforward calculation leading to an opti-
mal design, but a “best compromise” between the various design goals must be found. This is a
process that can not be automated and relies mainly on know-how and experience of the design-
ers. For this task the designers have physical laws, model experiments and computer simula-
tions at hand to try to predict flow and compare designs. In addition to considerations regarding
the flow physics, the overall design will also have to consider size, cost, structural and dynamic
stability, operation or maintenance.

3.4 Industrial Turbomachinery Design


During the design phase of a turbine, a scaled model (diameter of the runner around 30 cm) is
usually built and measured on a test stand. An example can be seen in Fig. 3.15, where the scaled
model was placed in the center of the finished Francis runner. However, these model tests are
fairly expensive and time consuming. Computer simulations are not actually done to replace the
model test stands completely, although in the last years, more and more designs have been car-
ried out without model tests, relying solely on CFD (Computational Fluid Dynamics). However,
the CFD simulations are always used to test several alternatives and select the best one before
an actual machine or model is built. On the other hand, measurements with models on the test
stand are used to verify the accuracy of the CFD simulations.
This process allows for some (necessary) simplifications in the CFD models, since not every-
thing needs to be determined by the computer simulation. An example is a parameter called run-
away speed, the rotation speed the turbine will take on when under emergency conditions, the
load suddenly drops to zero (i.e. generator cut from the power grid). This number is important
for the mechanical design of all rotating parts, which must withhold that maximum speed. The
runaway speed can easily be tested on a model, but would be extremely difficult and unreliable
to predict with a CFD simulation.

176
C Turbomachinery Basics
3.4 Industrial Turbomachinery Design

Fig. 3.15: A finished Francis runner and its scale model (standing in the center of
the large runner) previously built to verify the design on a test stand.
Photo by Sulzer Hydro / Escher Wyss.

Numerical test stand


The type of CFD model used in the daily design work has so far been a steady-state solution of
the Reynolds-averaged Navier-Stokes equations. As a study by Sulzer Hydro has shown, the
flow close to the design point can be fairly well predicted with the even simpler (and thus less
time-consuming) model of the Euler equations (not taking into account the effect of viscosity);
for simulations of operating conditions at excess or partial load however, taking into account
the viscous effects is essential. Until recently, each part such as a runner, stay vanes, spiral or
draft tube have been simulated separately. Currently, these calculations are coupled such that a
complete Francis or Kaplan machine can be simulated. In the future, time-dependent simulation
will be necessary to study and optimize interactions between the runner and the stationary parts,
or to be able to simulate unsteady phenomena such as rotating stall (a condition where, for some
brief time, the recirculation in one of the channels gets so large that no net flow goes through
that channel; this stall of a single channel then decays and builds up in the neighboring channel,
such that always one of the channels is stalled; this stall rotates with a fraction of the rotation
speed of the runner). The goal of developments at Sulzer Hydro is to use CFD simulation and

177
C Turbomachinery Basics
3.4 Industrial Turbomachinery Design

visualization as a numerical test stand, which is used in daily design work as routinely as the
physical model test stand.
In the process of designing a new turbine, CFD is thus mainly used to do more of the optimiza-
tion prior to building a model, or sometimes, to completely avoid building models. Also, the
experience of the engineers and company history usually provides a good starting point for a
new design. In recent years however, projects for “uprating” [132] existing machines have
become more important. Machines which were designed at the beginning of the century often
can be significantly improved with today’s knowledge by redesigning only a part, usually the
runner, of a machine.
These upgrade projects are more difficult to design, since many constraints of the existing
machines are given. Changes to the large structures (spiral casing, draft tube) are often not pos-
sible or prohibitively expensive, yet they have an important influence on the flow conditions for
the runner and the overall performance of the machine. For these projects, it has become even
more important to run a variety of CFD design tests to find out which one provides best perfor-
mance at reasonable costs.

Existing CFD flow visualization tools


The engineers working at Escher Wyss first of all rely on a long-established, standardized
scheme for the analysis of simulated flows which they simply call “post processing” and run
after every simulation. It runs entirely in batch mode and creates a set of paper pages with 2D
arrow plots, contour plots of pressure distributions, some 1D function plots, and some charac-
teristic numbers derived from the simulation data set. For example, from the pressure distribu-
tion on the blades, the rotational moment of the rotor and thus the power and efficiency of the
machine is calculated. An example of the arrow plots generated by this standard visualization
postprocessing is shown in Fig. 3.16.
These arrow plots are rather simple regarding the shortcomings of arrow plots to depict a 2D or
even a 3D field discussed in the previous chapter. However, the standardized set of pages is
valuable for a rough and quick comparison, and the numbers calculated (such as efficiency) are
essential for the evaluation of the design.
However, more advanced 3D flow visualization is necessary to compare details in the flow of
different designs, as for example in Fig. 3.17. It is also increasingly important not only to find
out which of several designs is better, but also to investigate the reasons behind an improvement
or the reason for a drop in performance. As the machines are already highly optimized, moving
to even higher efficiencies or flattening the efficiency curve in order to allow a wider range of
operating points with high efficiency requires an increasing understanding of the details of the
flow in these machines. For these tasks, simple 2D visualization tools are not sufficient; the flow

178
C Turbomachinery Basics
3.4 Industrial Turbomachinery Design

Fig. 3.16: Typical page from the standardized “post processing” run for analysis and
visualization each CFD simulation at Escher Wyss.

must be observed in its true 3D domain. This is even more important for “uprating” projects,
where often the flow in the existing machine has to be analyzed thoroughly to understand the
limitations of the existing design prior to deciding how the machine can be improved or adapted
to different requirements.
Visualization of the 3D flow is also used to communicate design decisions or results of an anal-
ysis to other designers. During this collaborations, many video sequences have been produced
to document a particular project, or the general state of the art in CFD, for conferences or for
customers.
The main focus of our work however is 3D flow visualization with the intent to investigate and
analyze a CFD flow data set. Flow visualization is done to find differences, and reasons for
these differences, between two or more designs or simulations at different operating points.
While this task will always need a significant amount of manual interaction, we believe that by
developing and employing feature-based visualization techniques, we can arrive at a more effi-
cient visualization tool to understand flow data. The need for more automated designs gains
importance by the ever increasing size of the data sets, and especially for time-dependent sim-
ulations, where the data to be analyzed is by several orders of magnitude larger than for a com-
parable steady-state simulation.

179
C Turbomachinery Basics
3.5 Specific Issues of Turbomachinery Flow Visualization

Fig. 3.17: Comparison of streamlines on suction side of a Kaplan turbine runner blade.

3.5 Specific Issues of Turbomachinery Flow Visualization


In this section, we will mention a number of issues which arise specifically when visualizing
turbomachinery flow data. Many visualization systems offer not enough flexibility in their data
structures in order to support typical turbomachinery data.

Single-block data and rotational symmetry


For steady-state simulations, it is appropriate to assume the flow will be the same in each chan-
nel (a channel is the space between two blades). So it is sufficient to simulate the flow in one
channel and infer the rest of the flow using rotational symmetry. Until recently, most industrial
simulations employed a single irregular structured grid, filling the space between two blades as
illustrated in Fig. 3.18. The parameter space represents a regular grid, which is distorted in order
to fit into one channel of the machine. The resulting grid shapes are difficult to understand in
the absence of solid surfaces of the machine and without completion of the rotational symmetry.
Of course, some special periodic boundary conditions need to be applied where the grid of a
channel and its rotated copy match.
In order to produce a meaningful visualization, it is necessary to be able to depict the flow in
the whole machine. This can be achieved by making physical copies of the one block with
rotated coordinates and rotated vector data, and then visualizing the whole flow in the resulting
multi-block structure. Since this is not memory efficient, a better solution is to build a system

180
C Turbomachinery Basics
3.5 Specific Issues of Turbomachinery Flow Visualization

Fig. 3.18: A typical irregular structured grid used in single-block CFD simulations.

in which the rotated copies are not explicitly stored but calculated on the fly when needed. This
mandates for example, that the algorithm for tracing streamlines needs to keep track of the chan-
nel in which the streamline is for each step of the integration. Both options are not supported in
general MVE systems, so a lot of programming is necessary for even the most basic visualiza-
tion techniques.

Multiple moving zones


An additional issue specific to turbomachinery comes when for visualization purposes, CFD
results of a simulation of the runner should be combined with the CFD simulations of the rest
of the machine. This requires that several zones can be handled, each zone having different rota-
tional symmetry as there is always a different number of blades on the runner and the guide
vane. In fact, the number of blades is usually chosen such that there is no common divider
between the number of blades in the wicket gate and in the runner.
As soon as two zones are in relative motion, time has to be considered in the integration of par-
ticle paths and streamlines, even if the fields are steady within their respective frame of refer-
ence. Still before this research project, the program ren was extended to flux, which can handle
several zones, each containing a single block. Fig. 3.19 demonstrates the effects in such a sys-
tem. It shows a reversible Francis pump-turbine in pump mode. Particles are released continu-
ously from four sources located below the runner. In the part before the runner blades, all
particles take the same path; the particles blend together, forming a streak line. These streak

181
C Turbomachinery Basics
3.5 Specific Issues of Turbomachinery Flow Visualization

Fig. 3.19: A moving runner combined with the stationary guide and stay vanes for a pump
turbine in pump mode. Particles are released constantly from four sources fixed in physical
space.

lines are cut into pieces by the rotating blades. Since velocity in the center of the channel is
higher, the streak line pieces are distorted into a V-shape. Upon exiting from the rotating runner
into the stationary part, the particles appear largely chaotic. This visualization shows time-
dependent effects due to the relative motion of the two zones, although the flow fields are steady
in their own frame of reference.

Multi-block data structures


A single, irregular block does not provide much flexibility in designing the grid. Multi-block
structured grids allow to place dense grid sections only where they are needed, such as around
the blades. Recent projects of Escher Wyss and Sulzer Innotec therefore utilized multi-block
grids with several hundred blocks. Again, only one channel of each rotationally symmetric part
is actually simulated and present in the data, and the rotating blocks form a zone which is
moving with respect to the rest of the machine.
Fig. 3.20 shows on the left how the grid for the runner and one channel of the stator is composed
of blocks; each colored block represents a block with its internal structured grid. Likewise, the
spiral casing (center) and draft tube are composed of many grid blocks. A collection of modules
for the AVS5 system has been written in order to handle such multi-block grids with the addi-

182
C Turbomachinery Basics
3.5 Specific Issues of Turbomachinery Flow Visualization

Fig. 3.20: Multi-block grid for an entire Francis turbine. Left: blocks of stator and runner.
Center: block of the spiral casing. Right: Streamlines calculated through the whole turbine.

tion of moving zones. They allow to trace streamlines or particles through the entire simulated
machine as shown in Fig. 3.20 on the right. This has also been highlighted in two video
sequences for Escher Wyss, which illustrate the ability to simulate a complete Francis or Kaplan
machine with numerical methods.
Most of today’s commercial visualization systems lack support for these complex multi-block,
multi-zone moving grids. A substantial programming effort was necessary in order to handle
these data structures, and basic algorithms such as streamline calculation, point location or par-
ticle animation has to be re-implemented. We decided to integrate these functions as modules
in the AVS 5 [1] system, which offered a stable platform for building modules, a graphical way
of connecting them, and a decent geometry viewer. To support the VR capabilities of the Vis-
dome [6], we recently began using the Covise [5] visualization system in addition.
In order to abstract from the various grid formats and the different environments, we developed
a library for cell-based access to the data (similar to unstructured grids). The vortex core meth-
ods described in this theses have been implemented both in a separate, single-block structured
mesh version (published as a library of AVS 5 modules, downloadable from the project web page
[2]), and another version based on this abstraction layer for access to data in single-block, multi-
block and unstructured meshed (not publicly available). The library was designed to present an
API with which one can write modules that work both on AVS 5 and Covise. In the current
implementation, it is limited to reading fields for inputs and producing geometry for output.
Also, system-specific code is necessary to handle the parameters and their user interface.

183
C Turbomachinery Basics
3.5 Specific Issues of Turbomachinery Flow Visualization

184
D AVS Parallel Vectors Module Library

D AVS Parallel Vectors Module Library

A library of AVS 5 modules implements the mathematical framework for line-type feature detec-
tion described in this thesis, for 3D irregular scalar and vector fields. The source code can be
downloaded from KWWSZZZFJLQIHWK]FKaURWKPDWXUERSDUDOOHO, where also a documentation for each
of the modules can be found.

Fig. D.1: All modules of the AVS 5 library for the parallel vectors operator.

The main functionality is provided by the following modules:


• The SDUDOOHOYHFWRUV module takes two 3D irregular 3-vector fields as input, which must be
two vector fields defined on the same (irregular) grid. It produces a list of points where the
two given vector fields are parallel. The points are the intersections of the solution lines with
interior grid faces, but no connectivity is provided. The module has a geometry output for
debugging/test purposes that outputs the points as little lines in direction of an estimated
tangent to the solution line.
• The FRQQHFW OLQHV module takes mainly the list of solution points generated above, and
connects the points to a set of poly-lines. It also calculates the angle between these solution
lines and a given vector field (usually the flow vector field, or for scalar data, the gradient of
the scalar). The lines can be colored by scalar data provided with the list of points if the
optional colormap input is also connected.

185
D AVS Parallel Vectors Module Library

• The VFDODURQSRLQWV module interpolates a scalar given on the same irregular grid onto the
solution points. This can serve two purposes: points can be filtered by setting a threshold for
a scalar, or the scalar can be used to color the resulting lines (or both).
There are some auxiliary modules such as a JUDGLHQW (for scalar or vector field input) and some
specific filters for conditions on the solution points necessary for valley, ridge, minimum and
maximum lines.
In addition to these modules, which provide the basic low-level functions for extracting all line-
type features discussed in this thesis, there are AVS 5 macro networks for the generalized feature
lines such as zero curvature lines, maximum lines or valley lines. There are also high-level
macros which implement the various vortex core line definitions (named by the abbreviation of
the authors, e.g. sh for Sujudi and Haimes’ definition).
For a practical view of the theory handled in this thesis, the reader is encouraged to have a look
at the online documentation of the AVS 5 library. If you are interested in using the modules but
do not have access to the AVS 5 visualization system, you might still want to download the
library source code as an example implementation.
Documentation and source can be found at KWWSZZZFJLQIHWK]FKaURWKPDWXUERSDUDOOHO/.

Fig. D.2: Left, an example AVS 5 network for vortex cores according to Banks and Singer.
Right, the macro YRUWH[FRUHVEV in expanded view. It uses the parallel vectors module.

186
E Equation for Bent Helical Flow Field

E Equation for Bent Helical Flow Field

This appendix is a printout of the Maple worksheet used to find the formula of the bent helical
flow field from chapter 6.1.1. The worksheet can be downloaded from
KWWSZZZFJLQIHWK]FKaURWKPDWXUEREHQWKHOL[KWPO
# In the following, we derive the formula for the bent helical flow field described in chapter 6.1.1
> restart:
> with(linalg):
# The following small procedure simplifies an expression by using the
# symbol r for sqrt(x^2+y^2); we will use it later.
> simplifyUsingR := proc(a) expand(simplify(simplify(a,{x^2+y^2=r^2}),assume=positive)) end:
# We first define the vector field describing a rigid rotation in 2D
# around the origin:
> RigRot := (s,t) -> vector([-omega*t,omega*s]);

RigRot := (s, t) -> [-omega t, omega s]

# We can plot this field using fieldplot:


> with(plots,fieldplot):
> fieldplot(subs(omega=1,RigRot(x,y)),x=-1..1,y=-1..1);

# This is used to define a helical flow in 3D. We choose the rotation


# to lie in the xz-plane, the vortex core at x=R, z=0, and we add a
# constant motion in the y direction. We assume R to be a positive
# constant.
#
# The rotation in the xz-plane means the arguments to RigRot are (x-R,
# z).
# For the component in y direction, we choose the constant Omega/R. The
# somewhat arbitrary division by R makes the final formula simpler.

> Helix := (x,y,z) -> vector([RigRot(x-R, z)[1], Omega/R, RigRot(x-R,


> z)[2]]);

Helix := (x, y, z) ->

[ Omega ]
[RigRot(x - R, z)[1], -----, RigRot(x - R, z)[2]]
[ R ]

# The straight helical flow field is


> eval(Helix(x,y,z));

[ Omega ]
[-omega z, -----, omega (x - R)]
[ R ]

# which is equation (6.1) in the thesis.


#

187
E Equation for Bent Helical Flow Field

# In order to "bend" this flow around the z-axis, we can essentially


# interpret the Helix function in a cylindrical coordinate system.
# Finding the formula for a cartesian space thus involves first
# converting the cartesian to cylindrical coordinates, then applying the
# Helix function, and finally converting the resulting vector back from
# cylindrical to cartesian coordinates.
#
# For this last step, we define the function VecCylToCart, which
# converts a vector given in a cylindrical system (vrad, vang, vvert) to
# a cartesian system. This conversion depends on the location in
# cylindrical coordinates, given by rho and phi (the z coordinate is
# irrelevant for this conversion). The formula is the mapping of the
# tangential space induced by the mapping from cylindrical to cartesian
# coordinates.
#
# In addition, we scale all three vector components by R/rho, which
# simplifies the final formula and results in zero divergence for the
# bent helical flow field (mass conservation for a steady flow), as will
# be shown at the end of this file. Since this scaling by a positive
# scalar only changes the length but never the direction of the vectors,
# the streamlines do not change.
> VecCylToCart := (rho, phi, vrad, vang, vvert) -> vector([
> (vrad*cos(phi)-rho*vang*sin(phi)) * R/rho,
> (vrad*sin(phi)+rho*vang*cos(phi)) * R/rho,
> vvert * R/rho]);

[
VecCylToCart := (rho, phi, vrad, vang, vvert) -> [
[

(vrad cos(phi) - rho vang sin(phi)) R


-------------------------------------,
rho

(vrad sin(phi) + rho vang cos(phi)) R vvert R]


-------------------------------------, -------]
rho rho ]

# For the BentHelix flow field, we now concatenate the mapping from
# cartesian to cylindrical coordinates (which is rho=sqrt(x^2+y^2),
# phi=arctan(y/x),z=z) with the Helix function and convert the result
# back to cartesian coordinates using the function just defined:
#
> BentHelix := (x,y,z) -> VecCylToCart((x^2+y^2)^(1/2), arctan(y/x),
> Helix((x^2+y^2)^(1/2), arctan(y/x), z)[1],
> Helix((x^2+y^2)^(1/2), arctan(y/x), z)[2],
> Helix((x^2+y^2)^(1/2), arctan(y/x), z)[3]);

2 2
BentHelix := (x, y, z) -> VecCylToCart(sqrt(x + y ), arctan(y/x),

2 2
Helix(sqrt(x + y ), arctan(y/x), z)[1],

2 2
Helix(sqrt(x + y ), arctan(y/x), z)[2],

2 2
Helix(sqrt(x + y ), arctan(y/x), z)[3])

# At first, this looks like a rather complicated expression:


> eval(BentHelix(x,y,z));

188
E Equation for Bent Helical Flow Field

[/ 2 2 \
[| omega z sqrt(x + y ) Omega y|
[|- -------------- - ---------------------| R
[| 2 2 |
[| y y |
[| sqrt(1 + ----) R x sqrt(1 + ----) |
[| 2 2 |
[\ x x /
[--------------------------------------------,
[ 2 2
[ sqrt(x + y )

/ 2 2 \
| omega z y sqrt(x + y ) Omega|
|- ---------------- + -------------------| R
| 2 2 |
| y y |
| x sqrt(1 + ----) R sqrt(1 + ----) |
| 2 2 |
\ x x /
--------------------------------------------,
2 2
sqrt(x + y )

]
]
]
]
]
]
2 2 ]
omega (sqrt(x + y ) - R) R]
---------------------------]
2 2 ]
sqrt(x + y ) ]

# but we can simplify each of the components. We can use assume=positive


# to exclude problems at the z-axis (where the bent helical vector field
# is not properly defined), and to tell Maple that R is positive.
> # V := vector([simplify(BentHelix(x,y,z)[1], assume=positive),
# simplify(BentHelix(x,y,z)[2], assume=positive),
# simplify(BentHelix(x,y,z)[3], assume=positive)]);

[ 2 2
[ omega z x R + Omega y sqrt(x + y )
V := [- -----------------------------------,
[ 2 2
[ x + y

2 2
omega z y R - Omega x sqrt(x + y )
- -----------------------------------,
2 2
x + y

2 2 ]
omega (sqrt(x + y ) - R) R]
---------------------------]
2 2 ]
sqrt(x + y ) ]

189
E Equation for Bent Helical Flow Field

# By introducing the abbreviation r for the root, we can get an even


# simpler expression for the Bent Helix field. It consists of the three
# components
#
> simplifyUsingR(V[1]);

omega z x R Omega y
- ----------- - -------
2 r
r

> simplifyUsingR(V[2]);

omega z y R Omega x
- ----------- + -------
2 r
r

> collect(simplifyUsingR(V[3]),omega);

/ 2 \
| R |
|R - ----| omega
\ r /

# where
> r = sqrt(x^2+y^2);

2 2
r = sqrt(x + y )

# which is exactly the equation (6.2) in the thesis.


#
# We now have an analytical definition for the bent helical flow. For
# the straight and bent helical flow, we can now analytically compute
# all derived quantities like Jacobian or curl.
> jacoStraight := map(simplify,jacobian(Helix(x,y,z),[x,y,z]));

[ 0 0 -omega]
[ ]
jacoStraight := [ 0 0 0 ]
[ ]
[omega 0 0 ]

> curlStraight := map(simplify,curl(Helix(x,y,z),[x,y,z]));

curlStraight := [0, -2 omega, 0]

> jacoBent := map(simplify,jacobian(BentHelix(x,y,z),[x,y,z])):


> curlBent := map(simplify,curl(BentHelix(x,y,z),[x,y,z])):
# Because the Jacobian and Curl of the BentHelix is rather complicated,
# we don't print them here.
# However, we can verify that indeed these steady flows conserve mass by
# checking that their divergence is zero:
> simplify(diverge(Helix(x,y,z),[x,y,z]));

> simplify(diverge(BentHelix(x,y,z),[x,y,z]));

190
F Color Figures

F Color Figures

Color Figure 1: Flow volume and stream surface. See Fig. 2.8 on page 13.

Color Figure 2: Illustration for vortex strength and quality. See Fig. 4.2 on page 59.

191
F Color Figures

Color Figure 3: Draft tube data set. See Fig. 7.1 on page 119.

Color Figure 4: Vortex cores (white) for lds method. See Fig. 7.2 on page 120.

192
F Color Figures

Color Figure 5: Vortex cores for sh and rp methods. See Fig. 7.4 on page 121.

Color Figure 6: Valley line of pressure (mk method). See Fig. 7.5 on page 122.

193
F Color Figures

Color Figure 7: sh core lines (white). See Fig. 7.8 on page 124.

Color Figure 8: sh and rp cores. See Fig. 7.9 on page 125.

194
G References

G References

G.1 Web Site References


[1] AVS – ADVANCED VISUAL SYSTEMS INC., 300 Fifth Avenue, Waltham, MA 02451, USA. AVS 5 and
AVS/Express visualization software (MVE). KWWSZZZDYVFRP.
[2] HOMEPAGE OF THIS RESEARCH PROJECT: KWWSZZZFJLQIHWK]FKaURWKPDWXUER. If no longer available,
try KWWSJUDSKLFVHWK]FK or KWWSPDUWLQQRELOLWDVFRPWXUER.
[3] IBM – INTL. BUSINESS MACHINES, Data Explorer visualization software (MVE). KWWSZZZLEPFRPG[.
[4] NAG – NUMERICAL ALGORITHMS GROUP, IRIS Explorer visualization software (MVE). KWWS
ZZZQDJFRP:HOFRPHB,(&KWPO.
[5] VIRCINITY GMBH, Covise visualization software (MVE). KWWSZZZYLUFLQLW\GHHQJOLVFKHBPDLQ
HBIVBFRYLVHKWPO
[6] VISDOME, ETH Zürich. KWWSZZZYLVGRPHHWK]FK.
[7] VTK – THE VISUALIZATION TOOLKIT. Open source visualization software, see also [131]. KWWS
ZZZNLWZDUHFRPYWNKWPO.

G.2 Literature
[8] ANOSHKINA, E. V., BELAYAEV, A. G., HUANG, R., and KUNII, T. L. Ridges and ravines on a surface
and related geometry of skeletons, caustics and wavefronts. In Computer Graphics: Developments in Virtual
Environments. Academic Press, ISBN 0-12-227741-4, 1995.
[9] ARNOLD, V. I. Mathematical Methods of Classical Mechanics. 2nd edition, Springer, 1989.
[10] ASIMOV, D. Notes on the topology of vector fields and flows. In Proceedings of IEEE Visualization '93, Oct.
1993.
[11] BANKS, D., and SINGER, B. Vortex tubes in turbulent flows: Identification, representation, reconstruction.
In Proceedings of IEEE Visualization ’94, 1994, pp. 132-139.
[12] BATTKE, H., STALLING, D., and HEGE, H.-C. Fast line integral convolution for arbitrary surfaces in 3D.
In Proceedings of IEEE Visualization ’96, 1996.
[13] BELYAEV, A. G., BOGAEVSKI, I. A., and KUNII, T. L. Ridges and ravines on a surface and segmentation
of range images. In Vision Geometry VI, Proceedings of SPIE, vol. 3168, 1997, pp. 106-114.
[14] BERDAHL, C. H and THOMPSON, D. S. Eduction of Swirling Structure Using the Velocity Gradient
Tensor. In AIAA Journal, vol. 31, no. 1, Jan. 1993.
[15] BERROIR, J.-P., HERLIN, I., and COHEN, I. Non-rigid motion without relying on local features: a surface
model applied to vortex tracking. INRIA RR No. 2684, Institut national de recherche en informatique et en
automatique, Cedex, France, Oct. 1995.
[16] BOHL, W. Strömungsmaschinen: Aufbau und Wirkungsweise. Vogel Verlag, ISBN 3-8023-0107-2 (in
German), 1977.

195
G References
G.2 Literature

[17] BOHL, W. Strömungsmaschinen: Berechnung und Konstruktion. Vogel Verlag, ISBN 3-8023-0127-7 (in
German), 1980.
[18] BRODLIE, K. W. et al. Scientific Visualization - Techniques and Applications. Springer Verlag, 1992.
[19] BRONSTEIN, I. N., and SEMENDJAJEW, K. A. Taschenbuch der Mathematik. 14. Auflage, Teubner
Verlag, 1974.
[20] BUNING, P. G. Sources of error in the graphical analysis of CFD results. Journal of Scientific Computing
vol. 3, no. 2, 1988, pp. 149-164.
[21] BUNING, P. G. Numerical algorithms in CFD post-processing. In Computer Graphics and Flow
Visualization in Computational Fluid Dynamics, L. S. 1989-07, Ed. Von Karman Institute for Fluid
Dynamics, 1989, pp. 1-10.
[22] CABRAL, B., and LEEDOM, L. Imaging vector fields using line integral convolution. In Computer Graphics
’93 (SIGGRAPH) Conference Proceedings, Aug. 1993, pp. 263-270.
[23] CAI, W., and HENG, P.-A. Principal stream surfaces. In Proceedings of IEEE Visualization ’97, Oct. 1997,
pp. 75-80.
[24] CHONG, M. S., PERRY, A. E., and CANTWELL, B. J. A general classification of three-dimensional flow
fields. In Phys. Fluids A, vol. 2, no. 5, May 1990, pp. 765-777.
[25] COHEN-OR, D., RICH, E., LERNER, U., and SHENKAR, V. A real-time photo-realistic visual flythrough.
In IEEE Transactions on Visualization and Computer Graphics, vol. 2, no. 3, 1996, pp. 255-265.
[26] CRAWFIS, R. A., and MAX, N. Texture splats for 3D scalar and vector field visualization. In Proceedings
of IEEE Visualization ’93, Oct. 1993, pp. 261-266.
[27] DARMOFAL, D., and HAIMES, R. Visualization of 3D vector fields: Variations on a stream. American Inst.
of Aeronautics and Astronautics (AIAA), 1992.
[28] DARMOFAL, D. L., and HAIMES, R. An analysis of 3D particle path integration algorithms. Technical
Report, Dept. of Aeronautics and Astronautics, MIT, Cambridge, MA, 1995.
[29] DE CHAMP, B. Note sur les faîte et de thalweg. C. R., 39, pp. 647ff, 1854. (according to [122])
[30] DE LEEUW, W. Presentation and Exploration of Flow Data. Ph.D. thesis, Technische Universiteit Delft,
NL, Principal Advisor F. W. Jansen, co-advisor F. H. Post, 1997.
[31] DE LEEUW, W. C., PAGENDARM, H.-G., POST, F. H., and WALTER, B. Visual simulation of
experimental oil-flow visualization by spot noise images from numerical flow simulation. In Visualization
in Scientific Computing, ed. R. Scateni et al., Springer Verlag, 1995.
[32] DE LEEUW, W. C., POST, F. H., and VAATSTRA, R. W. Visualization of turbulent flow by spot noise. In
Virtual Environments and Scientific Visualization, Proceedings of the Eurographics Workshops, Monte
Carlo, Monaco, Feb. 1996, pp. 286-295.
[33] DE LEEUW, W. C., and VAN WIJK, J. J. A probe for local flow field visualization. In Proceedings of IEEE
Visualization ’93, Oct. 1993, pp. 39-45.
[34] DE SAINT-VENANT. Surfaces à plus grande pente constituées sur des lignes courbes. Bulletin de la soc.
philomath. de Paris, 1852. (according to [122])
[35] DELMARCELLE, T., and HESSELINK, L. Visualizing second-order tensor fields with hyperstreamlines.
IEEE Computer Graphics and Applications, vol. 13, no. 4, July 1993, pp. 25-33.
[36] DELMARCELLE, T., and HESSELINK, L. A unified framework for flow visualization. In Computer
Visualization: Graphics Techniques For Scientific and Engineering Analysis, R. S. Gallagher, Ed. CRC
Press, 1994.
[37] DOVEY, D. Vector Plots for Irregular Grids. In Proceedings of IEEE Visualization '95, Oct. 1995.
[38] EARNSHAW, R. A. and WISEMAN, N. An Introductory Guide to Scientific Visualization. Springer Verlag,
1992.

196
G References
G.2 Literature

[39] FENG, D., WANG, X., CAI, W., and SHI, J. A mass conservative flow field visualization method.
Computers and Graphics, vol. 21, no. 6, 1997, pp. 749-756.
[40] FINSTERWALDER, R. Zur Bestimmung von Tal- und Kammlinien. Zeitschrift für Vermessungswesen, vol.
111, no. 5, 1986, pp. 184-189.
[41] GLOBUS, A., LEVIT, C., and LASINSKI, T. A tool for visualizing the topology of 3D vector fields. In
Proceedings of IEEE Visualization ’91, San Diego, CA, Oct. 1991, pp. 33-39.
[42] GREYWALL, M. S. Streamwise computation of three-dimensional flows using two stream functions.
Journal of Fluids Engineering, vol. 115, 1993, pp. 233-238.
[43] GROSSO, R., SCHULZ, M., KRAHEBERGER, J., and ERTL, T. Flow visualization for multiblock multigrid
simulations. In Virtual Environments and Scientific Visualization, Proceedings of the Eurographics
Workshops, Monte Carlo, Monaco, Feb. 1996, pp. 286-295.
[44] HAPPE, R.-T., and RUMPF, M. Characterizing global features of simulation data by selected local icons.
In Virtual Environments and Scientific Visualization, Proceedings of the Eurographics Workshops, Monte
Carlo, Monaco, Feb. 1996, pp. 234-242.
[45] HARALICK, R. M. Ridges and valleys on digital images. Computer Vision, Graphics, and Image Processing,
1983, pp. 28-38.
[46] HARALICK, R. M. Digital step edges from zero crossing of second directional derivatives. IEEE
Transactions on Pattern Analysis and Machine Intelligence, vol. 6, no. 1, Jan. 1984, pp. 58-68.
[47] HARALICK, R. and SHAPIRO, L.G. Computer and Robot Vision. Vol. I, Addison-Wesley, 1992.
[48] HELMAN, J., and HESSELINK, L. Representation and display of vector field topology in fluid flow data
sets. IEEE Computer, Aug. 1989, pp. 27-36.
[49] HELMAN, J., and HESSELINK, L. Surface representations of two- and three-dimensional fluid flow
topology. In Proceedings of IEEE Visualization ’90, Oct. 1990, pp. 6-13.
[50] HELMAN, J., and HESSELINK, L. Visualizing vector field topology in fluid flows. IEEE Computer
Graphics and Applications, vol. 11, no. 3, May 1991, pp. 36-46.
[51] HESSELINK, L., and DELMARCELLE, T. Visualization of vector and tensor data sets. In Scientific
visualization - Advances and challenges, L. Rosenblum, R. A. Earnshaw, J. Encarnacao, H. Hagen, A.
Kaufman, S. Klimenko, G. Nielson, F. Post, and D. Thalman, Eds. Academic Press, 1994, pp. 367-390.
[52] HIN, A. Visualization of turbulent flow. Ph. D. thesis, TU Delft, NL, 1994.
[53] HIN, A., POST, F., and VAN WALSUM, T. A testbed for flow visualization research. In Scientific
Visualization Advanced Software Techniques, P. Palamidese, Ed. Ellis Horwood Ltd., 1993, pp. 135-146.
[54] HIN, A. J., and POST, F. H. Visualization of turbulent flow with particles. In Proceedings of IEEE
Visualization ’93, Oct. 1993, pp. 46-52.
[55] HIRSCH, C. An analysis of flow models: from Navier-Stokes to potential flow equations. In Computational
Fluid Dynamics for Industrial Flows, von Karman Institute, Lecture Series 1990-04, Apr. 1990.
[56] HIRSCH, C. An introduction to turbulence models. In Computational Fluid Dynamics for Industrial Flows,
von Karman Institute, Lecture Series 1990-04, Apr. 1990.
[57] HULTQUIST, J. P. M. Interactive numerical flow visualization using stream surfaces. Computing Systems
in Engineering, vol. 1, no. 2-4, 1990, pp. 349-353.
[58] HULTQUIST, J. P. M. Constructing stream surfaces in steady 3D vector fields. In Proceedings of
Visualization ’92, Boston, MA, Oct. 1992, pp. 171-178.
[59] HUNT, J. C. R., WRAY, A. A., and MOIN, P. Eddies, stream, and convergence zones in turbulent flow
fields. Center for Turbulence Research Report CTR-S88, 1988.
[60] INTERRANTE, V., FUCHS, H., and PIZER, S. Enhancing transparent skin surfaces with ridge and valley
lines, in Proceedings of IEEE Visualization, 1995, pp. 52-59.

197
G References
G.2 Literature

[61] INTERRANTE, V., and GROSCH, C. Strategies for effectively visualizing a 3D flow using volume line
integral convolution, 1997. In Proceedings of Visualization '97, Oct. 1997, pp. 421-424.
[62] INTERRANTE, V., and GROSCH, C. Visualizing 3D Flow. In IEEE Computer Graphics & Applications, vol.
18, no. 4, 1998, pp. 49-53.
[63] JEONG, J., and HUSSAIN, F. On the identification of a vortex. In Journal of Fluid Mechanics, no. 285,
1995, pp. 69-94.
[64] JOHNSTON, E. G., and ROSENFELD, A. Digital detection of pits, peaks, ridges, and ravines. In IEEE
Transactions on Systems, Man, and Cybernetics, SMC-5, vol. 4, 1975, pp. 472-480.
[65] KAEPPELI, E. Strömungsmaschinen an Beispielen. ISBN 3-8171-1382-X, 1994.
[66] KAO, D. L., and SHEN, H.-W. Numerical surface flow visualization, 1998.
[67] KENWRIGHT, D. N., and HAIMES, R. Vortex identification - applications in aerodynamics: A case study.
In Proceedings of IEEE Visualization ’97, Oct. 1997, pp. 413-416.
[68] KENWRIGHT, D. N. Automatic detection of open and closed separation and attachment lines. In
Proceedings of IEEE Visualization ’97, Oct. 1998, pp. 151-158.
[69] KENWRIGHT, D. N., HENZE, C. and LEVIT, C. Feature Extraction of Separation and Attachment Lines.
In IEEE Transactions on Visualization and Computer Graphics, vol. 5, no. 2, April 1999.
[70] KENWRIGHT, D. N., and MALLINSON, G. D. A 3D streamline tracking algorithm using dual stream
functions. In Proceedings of Visualization ’92, Boston, MA, Oct. 1992, pp. 62-68.
[71] KIDA, S., and MIURA, H. Identification and analysis of vortical structures. NIFS-520 Research Report,
National Institute for Fusion Science, Japan, Nov. 1997.
[72] KIDA, S., and MIURA, H. Dynamics of low-pressure swirling vortices in turbulence. In Advances in
Turbulence VII, U. Frisch, Ed. Kluwer Academic Publishers, 1998, pp. 347-348.
[73] KIDA, S., and MIURA, H. Identification and analysis of vortical structures. European Journal of Mechanics
B/Fluids, vol. 17, no. 4, 1998, pp. 471-488.
[74] KIDA, S., and MIURA, H. Swirl condition in low-pressure vortices. Journal of the Physical Society of
Japan, vol. 67, no. 7, July 1998, pp. 2166-2169.
[75] KNIGHT, D., and MALLINSON, G. Visualizing unstructured flow data using dual stream functions. In IEEE
Transactions on Visualization and Computer Graphics, vol. 2, no. 4, 1996, pp. 355-363.
[76] KRIVCHENKO, G. I. Hydraulic machines: turbines and pumps. CRC Press, 2nd. ed., ISBN 1-56670-001-9,
1994.
[77] KWEON, I. S., and KANADE, T. Extracting topographic terrain features from elevation maps. In CVGIP:
Image Understanding, vol. 59, no. 2, 1994, pp. 117-182.
[78] LANDAU, L. D. and LIFSCHITZ, E. M. Fluid Mechanics (Course of Theoretical Physics, Vol. 6), 2nd ed.,
Butterworth-Heinemann Ltd, 1987.
[79] LEVIT, C. Visualizing the topology of vector fields - an annotated bibliography. RR, NASA Ames Research
Center, 1992.
[80] LEVY, Y., DEGANI, D., and SEGINER, A. Graphical visualization of vortical flows by means of helicity.
In AIAA Journal, vol. 28, no. 8, Aug. 1990, pp. 1347-1352.
[81] LIEBE, W. Der natürliche Wirbel. In Forschung im Ingenieurwesen, vol. 51, no. 6, 1985, pp. 175-180.
[82] LIGHTHILL, J. An informal introduction to theoretical fluid mechanics. Claredon Press, Oxford, 1986.
[83] LORENSEN, W. E., and CLINE, H. E. Marching cubes: A high resolution 3D surface construction
algorithm. In Computer Graphics, vol. 21, no. 4, 1987, pp. 163-169.
[84] LUGT, H. J. The dilemma of defining a vortex. In Recent Developments in Theoretical and Experimental
Fluid Mechanics, Springer Verlag, 1979, pp. 309-321.

198
G References
G.2 Literature

[85] LUGT, H. J. Vortex flow in Nature and Technology. Krieger Publishing Co., Malabar, FL, 1995.
[86] MA, K.-L., and INTERRANTE, V. Extracting feature lines from 3D unstructured grids. In Proceedings of
IEEE Visualization ’97, Oct. 1997, pp. 285-292.
[87] MA, K.-L., and SMITH, P. J. Virtual smoke: an interactive 3D flow visualization technique. In Proceedings
of IEEE Visualization ’92, Boston, MA, Oct. 1992, pp. 46-53.
[88] MA, K.-L., and SMITH, P. J. Cloud tracing in convection-diffusion systems. In Proceedings of IEEE
Visualization ’93, Oct. 1993, pp. 253-260.
[89] MALLINSON, G. The calculation of the lines of a three-dimensional vector field. In Computational Fluid
Dynamics, 1988, pp. 525-534.
[90] MARK, D. M. Topology of ridge patterns: Randomness and constraints. In Geological Society of America
Bulletin, Part I 90, 1979, pp. 164-172.
[91] MAX, N., BECKER, B., and CRAWFIS, R. Flow volumes for interactive vector field visualization. In
Proceedings of IEEE Visualization ’93, Oct. 1993, pp. 19-23.
[92] MAX, N., CRAWFIS, R., and WILLIAMS, D. Visualizing wind velocities by advecting cloud textures. In
Proceedings of IEEE Visualization ’93, Oct. 1993, pp. 179-184.
[93] MCCORMICK, B. H., DEFANTI, T. A. and BROWN, D. Visualization in Scientific Computing. In
Computer Graphics, vol. 21, no. 6, Nov. 1987, pp 1-4.
[94] MIELKE, C., and KLEISER, L. Investigation of the late stages of transition to turbulence in a mach 4.5
boundary layer. In Notes on Numerical Fluid Mechanics, R. Friedrich and P. Bontoux, Eds. Vieweg Verlag,
1998.
[95] MIURA, H., and KIDA, S. Identification of central lines of swirling motion in turbulence. In Proceedings of
Intl. Conference on Plasma Physics, Nagoya, Japan, 1996, pp. 866-869.
[96] MIURA, H., and KIDA, S. Swirl condition in low-pressure vortices. In Journal of the Physical Society of
Japan, vol. 66, no. 5, May 1997, pp. 1331-1334.
[97] NEEMAN, H. J. Visualization techniques for three-dimensional flow fields. CSRD Report No. 1003, UILU-
ENG-90-8024, Center for Supercomputing Research and Development, University of Illinois, Urbana, IL,
1990.
[98] NIELSON, G. M., SHRIVER, B. and ROSENBLUM, L. J. Visualization in Scientific Computing. IEEE
Computer Society Press, 1990.
[99] NIELSON, G. M., HAGEN, H. and MÜLLER, H. Scientific Visualization - Overviews, Methodologies,
Techniques. IEEE Computer Society Press, 1997.
[100] OBRIST, D. Wirbelidentifikation in Grenzschichtströmungen. Semesterarbeit, Inst. für Fluiddynamik,
Betreuer C. Mielke und T. Wintergerste, ETH Zürich, Aug. 1995.
[101] PAGENDARM, H.-G, HENNE, B and RÜTTEN, M. Detecting Vortical Phenomena in Vector Data by
Medium-Scale Correlation. In Proceedings of IEEE Visualization ’99, Oct. 1999, pp. 409-412.
[102] PAGENDARM, H.-G., and SEITZ, B. An algorithm for detection and visualization of discontinuities. In
Scientific Visualization Advanced Software Techniques, P. Palamidese, Ed. Ellis Horwood Ltd., 1993, pp.
161-177.
[103] PANTON, R. L. Incompressible Flow. 2nd edition, John Wiley and Sons, 1996.
[104] PEIKERT, R. Stromlinien in Ren und Flux - Die Integrationsmethode. IPS Supercomputing, ETH Zurich,
Oct. 1993.
[105] PEIKERT, R., and ROTH, M. The “parallel vectors” operator - a vector field visualization primitive. In
Proceedings of IEEE Visualization ‘99, San Francisco, CA, Oct. 1999.
[106] PEIKERT, R. Limitations of Principal Stream Surfaces. KWWSZZZFJLQIHWK]FKaSHLNHUWSHUVRQDOSVV

199
G References
G.2 Literature

[107] PEIKERT, R. Purely linear 2D vector fields. KWWSZZZFJLQIHWK]FKaSHLNHUWSHUVRQDO/LQHDU'


[108] PERRY, A. E., and CHONG, M. S. A description of eddying motions and flow patterns using critical-point
concepts. In Ann. Rev. Fluid Mech., vol. 19, 1987, pp. 125-155.
[109] PERRY, A. E., and CHONG, M. S. Topology of flow patterns in vortex motions and turbulence. In Eddy
Structure Identification in Free Turbulent Shear Flows, J. P. Bonnet and M. N. Glauser, Eds. Kluwer
Academic Publishers, IUTAM Symposium, Poitiers, France, Oct. 1992.
[110] PORTELA, L. M. Identification and characterization of vortices in the turbulent boundary layer. Ph.D.
thesis, Dept. of Mechanical Engineering, Stanford University, Principal Advisor Peter Bradshaw, co-
advisors Stephen J. Kline and Brian J. Cantwell, 1997.
[111] POST, F., and VAN WALSUM, T. Fluid flow visualization. In Focus on scientific visualization, H. Hagen,
H. Mueller, and G. Nielson, Eds. Springer, 1993, pp. 1-40.
[112] POST, F., and VAN WIJK, J. Visual representation of vector fields: recent developments and research
directions. In Scientific visualization - Advances and challenges, L. Rosenblum, R. A. Earnshaw, J.
Encarnacao, H. Hagen, A. Kaufman, S. Klimenko, G. Nielson, F. Post, and D. Thalman, Eds. Academic
Press, 1994, pp. 367-390.
[113] PREUSSER, T. and RUMPF, M. Anisotropic Nonlinear Diffusion in Flow Visualization. In Proceedings of
IEEE Visualization ‘99, Oct. 1999, pp. 325-332.
[114] RIAZANOFF, S., CERVELLE, B., and CHOROWICZ, J. Ridge and valley line extraction from digital terrain
models. In International Journal of Remote Sensing, vol. 9, no. 6, 1988, pp. 1175-1183.
[115] RIST, U., MUELLER, K., and WAGNER, S. Enhanced visualization of late-stage transitional structures
using vortex identification and automatic feature extraction. In Computational Fluid Dynamics, ed. K. D.
Papailiou, D. Tsahalis, J. Periaux, C. Hirsch, and M. Pandolfi, part II, vol. 1, 1998.
[116] RIST, U., MUELLER, K., and WAGNER, S. Visualization of late-stage transitional structures in numerical
data using vortex identification and feature extraction. In 8th Intl. Symposium on Flow Visualization, 1998.
[117] ROBINSON, S. K. Coherent motions in the turbulent boundary layer. In Ann. Rev. Fluid Mech., vol. 23,
1991, pp. 601-639.
[118] ROSENBLUM, L. et al., ed. Scientific Visualization - Advances and Challenges. Academic Press, 1994.
[119] ROTH, M. A visualization system for turbomachinery flow. Tech. report, ETH Zurich, CSCS/SCSC, 1996.
[120] ROTH, M., and PEIKERT, R. Flow visualization for turbomachinery design. In Proceedings of IEEE
Visualization ‘96, Oct. 1996, pp. 381-384.
[121] ROTH, M., and PEIKERT, R. A higher-order method for finding vortex core lines. In Proceedings of IEEE
Visualization ‘98, Oct. 1998, pp. 143-150.
[122] ROTHE, R. Zum Problem des Talwegs. In Sitzungsberichte der Berliner mathematischen Gesellschaft, no.
14, 1915, pp. 51-68.
[123] SADARJOEN, A. Extraction and Visualization of Geometries in Fluid Flow Fields. Ph.D. thesis, Technische
Universtiteit Delft, NL, Principal Advisor F. W. Jansen, co-advisors M. Rumpf et al., 1999.
[124] SADARJOEN, A., VAN WALSUM, T., HIN, A., and POST, F. Particle tracing algorithms for 3D curvilinear
grids. Technical Report 94-80, Faculty of Technical Mathematics and Informatics, TU Delft, NL, 1994.
[125] SAFFMAN, P. G. Vortex Dynamics. Cambridge University Press, 1992.
[126] SAMTANEY, R., SILVER, D., ZABUSKY, N., and CAO, J. Visualizing features and tracking their evolution.
In IEEE Computer, vol. 27, no. 7, 1994, pp. 20-27.
[127] SAWADA, K. Visualization of Unsteady Vortex Motion in the Flow over a Delta Wing. In Proceedings of
the 5th Int. Symp. on Computational Fluid Dynamics, Sendai, JSCFD, vol. III, 1993.

200
G References
G.2 Literature

[128] SCHEUERMANN, G., KRÜGER, H., MENZEL, M. and ROCKWOOD, A. P. Visualizing Non-Linear Vector
Field Topology. In IEEE Transactions on Visualization and Computer Graphics, vol 4, no. 2, 1998, pp. 109-
116.
[129] SCHEUERMANN, G., TRIOCHE, X. and HAGEN, H. C1-Interpolation for Vector Field Topology
Visualization. In Proceedings of IEEE Visualization ‘99, Oct. 1999, 271-278.
[130] SCHROEDER, W., VOLPE, C., and LORENSEN, W. The stream polygon: A technique for 3D vector field
visualization. In Proceedings of IEEE Visualization ‘91, Oct. 1991, pp. 126-132.
[131] SCHROEDER, W., MARTIN, K. and LORENSEN, B. The Visualization Toolkit - An Object-Oriented
Approach To 3D Graphics, ISBN 0-13-954694-4, (includes CD-ROM with software/data), Prentice Hall,
1997.
[132] SEBESTYEN, A., and KECK, H. Uprating of ultra-low head francis units based on numerical flow analysis.
In Proceedings of Water Power Conference on Uprating and Refurbishing Hydro Powerplants, Nice, France,
Oct. 1995.
[133] SEBESTYEN, A., and PEIKERT, R. Simulation of turbomachinery secondary flow phenomena. In
Proceedings of European Simulation Multiconference, Panum Institute, Copenhagen, Denmark, June 1991,
pp. 590-594.
[134] SILVER, D. Object-oriented visualization. In IEEE Computer Graphics and Applications, vol. 15, no. 3 May
1995, pp. 54-62.
[135] SILVER, D., ZABUSKY, N., FERNANDEZ, V., SAMTANEY, R., and GAO, M. Ellipsoidal quantification of
evolving phenomena. In Scientific visualization of physical phenomena, ed. N. Patrikalakis, MIT,
Cambridge, June 1991, pp. 573-588
[136] SILVER, D. and WANG, X. Tracking Scalar Features in Unstructured Datasets. In Proceedings of IEEE
Visualization ‘98, Oct. 1998.
[137] SILVER, D. and WANG, X. Tracking and Visualizing Turbulent 3D Features. In IEEE Transaction on
Visualization and Computer Graphics, vol. 3, no. 2, June 1997.
[138] SINGER, B., and BANKS, D. A predictor-corrector scheme for vortex identification. NASA Contractor
Report 194882; ICASE Report No. 94-11, NASA Langeley, Hampton VA, Mar. 1994.
[139] SORIA, J., and CANTWELL, B. J. Identification and classification of topological structures in free shear
flows. In Eddy Structure Identification in Free Turbulent Shear Flows, J. P. Bonnet and M. N. Glauser, Eds.
Kluwer Academic Publishers, IUTAM Symposium, Poitiers, France, Oct. 1992.
[140] STALLING, D., and HEGE, H.-C. Fast and resolution independent line integral convolution. In Computer
Graphics ‘95 (SIGGRAPH) Conference Proceedings, Los Angeles, Aug. 1995, pp. 249-256.
[141] STOLK, J., and VAN WIJK, J. Surface-particles for 3D flow visualization. In Advances in scientific
visualization, F. Post and A. Hin, Eds. Springer, 1992.
[142] STRAWN, R. C., KENWRIGHT, D. N., and AHMAD, J. Computer visualization of vortex wake system,
1998.
[143] SUJUDI, D., and HAIMES, R. Identification of swirling flow in 3D vector fields. AIAA Paper 95-1715, 12th
AIAA CFD Conference, San Diego CA, Jun. 1995.
[144] SUJUDI, D., and HAIMES, R. Identification of swirling flow in 3D vector fields. Tech. report, Dept. of
Aeronautics and Astronautics, MIT, Cambridge, MA, 1995.
[145] TANG, C.-K., and MEDIONI, G. Extremal feature extraction from 3-D vector and noisy scalar fields. In
Proceedings of IEEE Visualization ‘98, Oct. 1998, pp. 95-102.
[146] TEITZEL, C., GROSSO, R., and ERTL, T. Efficient and reliable integration methods for particle tracing in
unsteady flows on discrete meshes. In Proceedings of the Eurographics Workshop on Visualization in
Scientific Computing, 1997, pp. 31-41.

201
G References
G.2 Literature

[147] TELEA, A. and VAN WIJK, J. Simplified Representation of Vector Fields. In Proceedings of IEEE
Visualization ‘99, Oct. 1999, pp. 35-42.
[148] TERZOPOULOS, D., and FLEISCHER, K. Deformable models. In The Visual Computer, vol. 4, 1988, pp.
306-331.
[149] THEISEL, H. Vector Field Curvature and Applications. Ph.D. thesis, Fakultät der Ingenieurwissenschaften,
Universität Rostock, Germany, Nov. 1995.
[150] THIRON, J.-P., and GOURDON, A. The 3D marching lines algorithm. In Graphical Models and Image
Processing, vol. 58, no. 6, Nov. 1996, pp. 503-509.
[151] TOBAK, M., and PEAKE, D. J. Topology of 3D separated flow. In Ann. Rev. Fluid Mech., vol. 14, 1982,
pp. 61-85.
[152] TRUESDELL, C. The Kinematics of Vorticity. Bloomington, Indiana University Press, 1954.
[153] TURK, G. and BANKS, D. Image-Guided Streamline Placement. In Computer Graphics ‘96 (SIGGRAPH)
Conference Proceedings, 1996, p. 453.
[154] VAN WIJK, J. J. Spot noise - texture synthesis for data visualization. In Computer Graphics ‘91
(SIGGRAPH) Conference Proceedings, vol. 25, no. 4, July 1991, pp. 309-317.
[155] VAN WIJK, J. J. Flow visualization with surface particles. In IEEE Computer Graphics and Applications
vol. 13, no. 4, July 1993, pp. 18-24.
[156] VAN WIJK, J. J. Implicit stream surfaces. In Proceedings of IEEE Visualization ‘93, Oct. 1993, pp. 245-
252.
[157] VILLASENOR, J., and VINCENT, A. An algorithm for space recognition and time tracking of vorticity tubes
in turbulence. In CVGIP Image Understanding, vol. 55, no. 1, Jan. 1992, pp. 27-35.
[158] WERNER, C. Formal analysis of ridge and channel patterns in maturely eroded terrain. In Annals of the
American Geographers, vol. 78, no. 2, 1988, pp. 253-270.
[159] WESTERMANN, R., and ERTL, T. A multiscale approach to integrated volume segmentation and rendering.
In Proceedings of Eurographics, vol. 18, no. 3, 1998.
[160] WHITE, F. M. Fluid mechanics. 2nd ed., McGraw-Hill Inc, 1986.
[161] WIENER, C. Lehrbuch der darstellenden Geometrie, Vol. 2, Leipzig, 1887. (according to [40])
[162] WRAY, A. A., and HUNT, J. C. R. Algorithms for classification of turbulent structures. In Topological
Fluid Mechanics - Proceedings of the IUTAM Symposium, ed. H. K. Moffatt and A. Tsinober, Cambridge,
UK, Aug. 1989, pp. 1-10.
[163] YATES, L. A., and CHAPMAN, G. T. Streamlines, vorticity lines and vortices. Tech. Report, American Inst.
of Aeronautics and Astronautics, AIAA-91-9731, 1990.
[164] YIH, C.-S. Stream functions in three-dimensional flows. In La Houille Blanche, no. 3, 1957, pp. 445-450.
[165] YIH, C.-S. Fluid Mechanics. West River Press, Ann Arbor, MI, (reprinted 1988), 1969.
[166] ZABUSKY, N., BORATAV, O., PELZ, R., GAO, M., SILVER, D., and COOPER, S. Emergence of coherent
patterns of vortex stretching during reconnection: A scattering paradigm. In Physical Review Letters, vol.
67, no. 18, 1991, pp. 2469-2472.
[167] ZOECKLER, M., STALLING, D., and HEGE, H.-C. Interactive visualization of 3D vector fields using
illuminated streamlines. In Proceedings of IEEE Visualization ‘96, Oct. 1996, pp. 107-113.

202
H Index

H Index

A strength . . . . . . . . . . . . . . . 57 L
angle criterion ............................. 59 surface . . . . . . . . . . . . . . . . 24 Lagrangian invariance .................72
arrows ............................................ 9 tracking . . . . . . . . . . . . . . . 16 lambda2 .......................................36
attachment ............................ 50, 82 volume . . . . . . . . . . . . . . . . 24 lds, Levy/Degani/Seginer ..... 42, 74
AVS, AVS5 ................................... 8 feature-based visualization ......... 15 LIC ..............................................14
axial turbine .............................. 169 filtering, filter ............................... 7 line feature ........................... 15, 23
flow rate .................................... 164 line integral convolution .............14
B fluid, ideal ................................. 153 local feature .................................24
band ........................................... 170 fluid, incompressible ................ 154 localizability ................................23
BEP ........................................... 175 Francis turbine .......................... 170 loci of zero curvature ..................82
best efficiency point .................. 175
bifurcation line ............................ 84 G M
Boolean criteria ........................... 56 Galilean invariance ..................... 72 mapping, mapper ........................... 7
bs, Banks/Singer .................. 43, 77 geomorphology ........................... 52 mk, Miura/Kida .................... 47, 87
bulb type turbine .............. 168, 170 global feature .............................. 24 multi-block grid ................... 6, 182
grid MVE .............................................. 8
C hierarchical . . . . . . . . . . . . . 6
cavitation ................................... 173 hybrid . . . . . . . . . . . . . . . . . . 6 N
compressor ................................ 163 multi-block . . . . . . . . . 6, 182 Navier-Stokes equation ............. 155
continuity equation .................... 153 single-block . . . . . . . . . . . 180 node ............................................... 6
criteria, selection ......................... 56 structured . . . . . . . . . . . . . . . 6 normalized helicity ......................74
critical point ......................... 15, 18 uniform . . . . . . . . . . . . . . . . 6 nozzle ........................................ 172
curvature, zero ............................. 82 unstructured . . . . . . . . . . . . . 6
curved vortex .............................. 93 guide vanes ............................... 166 O
operator, parallel vectors || ..........55
D H
design point ............................... 175 head, static ................................ 164 P
detachment ........................... 50, 82 headwater .................................. 164 parallel vectors operator ..............55
dimensionality ............................. 23 helical flow field ......................... 28 pathline ........................................11
direction fields .......................... 104 helicity Pelton turbine ............................ 171
discharge ................................... 164 normalized . . . . . . . . . . . . . 74 phase space ........................... 51, 84
doubly regulated ........................ 170 HEPP ........................................ 164 point feature ......................... 15, 23
draft tube ................................... 168 hierarchical grid ............................ 6 potential vortex ...........................28
hub ............................................ 168 potential, potential field ..............30
E hybrid grid .................................... 6 predictor-corrector algorithm ......43
equation of continuity ............... 153 hydraulic machine .................... 164 principal stream surface ..............13
Escher Wyss .............................. 175 hydroelectric power plant ......... 164 pseudo-pressure ...........................47
Euler equation ........................... 155 pump ......................................... 163
I pump-turbines ........................... 170
F icons .............................................. 9
fan ............................................. 163 ideal fluid .................................. 153 Q
feature ......................................... 15 impeller ..................................... 166 quality measure ...........................59
global . . . . . . . . . . . . . . . . . . 24 incompressible fluid ................. 154
line . . . . . . . . . . . . . . . . . . . . 23 information visualization .............. 5 R
local . . . . . . . . . . . . . . . . . . . 24 Rankine vortex ............................30
point . . . . . . . . . . . . . . . . . . 23 K reduced velocity ..........................45
quality . . . . . . . . . . . . . . . . . 59 Kaplan turbines ......................... 169 region feature ....................... 15, 24
region . . . . . . . . . . . . . . . . . 24 k-epsilon turbulence model ...... 158 rendering, renderer ........................ 7

203
H Index

reversible turbine .......................170 unstructured grid ........................... 6


Reynolds number ......................157
ridge ...............................53, 85, 96 V
rotational symmetry ..................180 valley ............................. 53, 85, 96
rp, Roth/Peikert .........................102 viscosity .................................... 155
runner ............................... 163, 166 visualization .................................. 5
visualization pipeline .................... 7
S visualization, feature-based ........ 15
scientific visualization ...................5 volume feature ......................15, 24
sectional extrema .........................78 vortex .......................................... 25
selection criteria ..........................56 curved . . . . . . . . . . . . . . . . 93
sh, Sujudi/Haimes ................ 44, 80 strength . . . . . . . . . . . . . . . 57
shaft ...........................................166 vortex core line ........................... 38
shroud ........................................170 vortex method
single-block grid .......................180 critical points . . . . . . . . . . . 39
ska, Strawn/Kenwright/Ahmad ...49 eigenvector . . . . . . . . . . 44, 80
slope, slope line ...........................53 helicity . . . . . . . . . . . . . . . . 33
solid body rotation ......................28 higher-order . . . . . . . . . . . 102
spiral casing ............................... 166 lambda2 . . . . . . . . . . . . . . . 36
spot noise .....................................14 normalized helicity . . . 42, 74
stage ................................. 163, 168 predictor-corrector . . . . 43, 77
stationary point ............................78 pressure . . . . . . . . . . . . . . . 32
stay vanes ..................................166 pseudo-pressure min. . . 48, 87
straflo turbine ............................168 second invariant . . . . . . . . . 35
streakline .....................................11 sectional extrema . . . . . . . . 78
stream function ............................13 set-concept . . . . . . . . . . . . . 36
stream ribbon ...............................12 streamline . . . . . . . . . . . . . . 39
stream surface .............................12 vorticity line . . . . . . . . . . . . 43
streamline ....................................10 vorticity maximum . . . . . . 49
strength
general feature . . . . . . . . . . .57 W
vortex . . . . . . . . . . . . . . . . .57 wicket gate ................................ 166
structured grid ...............................6
Sulzer Hydro .............................175 Z
surface feature ...................... 15, 24 zero curvature loci ...................... 82
symmetry, rotational .................180

T
tailwater .....................................164
texture ..........................................14
texture splats ...............................14
topography ..................................52
topology
of vector fields . . . . . . 18, 19
tube ..............................................12
turbine .......................................163
axial . . . . . . . . . . . . . . . . . . 169
Francis . . . . . . . . . . . . . . . . 170
Kaplan . . . . . . . . . . . . . . . . 169
Pelton . . . . . . . . . . . . . . . .171
reversible . . . . . . . . . . . . . .170
turbomachine .............................163
turbulence ..................................173
turbulence model .......................158

U
uniform grid ..................................6

204

Вам также может понравиться