Académique Documents
Professionnel Documents
Culture Documents
ETH Zürich
Institute of Scientific Computing
Computer Graphics Group
presented by
Martin Roth
Dipl. Eng. CS, ETH
born January 24, 1968
citizen of Berken, BE, Switzerland
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.
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.
iii
About the Author
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
v
Table of Contents
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
vii
Table of Contents
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
ix
Table of Contents
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.
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.
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
In this chapter, we will give an overview of the field of scientific visualization, with particular
focus on flow visualization and feature-based techniques.
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
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].
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.
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
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.
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
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
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
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
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
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.
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.
24
3 Line-Type Features: The State of the Art
3.2 Vortices in Fluid Flow
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].
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)
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].
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.
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 γ
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.
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.
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.
∇ × 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.
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.
( ∇ × 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
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.
36
3 Line-Type Features: The State of the Art
3.3 Region-Type Vortex Definitions
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.
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.
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].
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)
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
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
at this point, there is one real eigenvalue λ 0 , and a pair of conjugate complex
eigenvalues λ 1 and λ 2 .
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
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.
50
3 Line-Type Features: The State of the Art
3.5 Flow Attachment and Detachment
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.
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.
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)
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.
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.
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
velocity at core
core line
streamlines
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).
angle between
velocity at core
and
core line
core line
streamlines
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
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
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.
62
4 Parallel Vectors
4.3 Implementation
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
f ( xi )
x i + 1 = x i – -------------- (4.7)
f '(x ) i
f i ' ∆x = – f i (4.8)
63
4 Parallel Vectors
4.3 Implementation
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.
64
4 Parallel Vectors
4.3 Implementation
65
4 Parallel Vectors
4.3 Implementation
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
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.
s s
V t = λW t (4.12)
1 1
s s
W –1 V t = λ t (4.13)
1 1
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.
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
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.
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
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
evident
core line
evident
core line
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.
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.
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)
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 .
81
5 Analysis of Line-Type Features
5.2 Analysis and Generalization of Existing Methods
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.
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].
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
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.
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
ridge lines of p
maximum lines of v
5 Analysis of Line-Type Features
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
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.
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
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.
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
–1 for z ≤ – 1
f( z) = 1 for z ≥ 1 (6.6)
continuous for – 1 ≤ z ≤ 1
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.
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
(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)
102
6 Enhancing Vortex Core Methods
6.2 Second-Order Method for Vortex Cores
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).
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.
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
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).
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.
ωxzR Ωy
– ------------- – -------
r2 r
ωyzR Ωx
v = – ------------- + ------- (6.13)
r2 r
2
R – R
------ ω
r
108
6 Enhancing Vortex Core Methods
6.3 Calculation of Derivatives and Numerical Errors
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.
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.
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.
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.
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”.
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
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.
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
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.
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.
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
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].
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
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
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
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
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
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.
133
8 Conclusions
8.2 Future Research Directions
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.
135
8 Conclusions
8.2 Future Research Directions
136
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.
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.
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,
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.
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
∂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:
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
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
m 11 m 12 m 13
M = m 21 m 22 m 23 (A.17)
m 31 m 32 m 33
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 = 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
ξ 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
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
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).
148
A Mathematics of Vector Fields
A.6 Some Vector Field Identities
( 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)
curl v ⋅ v = helicity v
(A.50)
( ∇ × v ) ⋅ v = helicity v
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
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
1
( grad v ) v = curl v × v + --- grad ( v ⋅ v )
2
(A.61)
1
( ∇v )v = ( ∇ × v ) × v + --- ∇ ( v ⋅ v )
2
151
A Mathematics of Vector Fields
A.6 Some Vector Field Identities
152
B Introduction to Fluid Dynamics
∂
∂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)
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.
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 = 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):
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.
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
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.
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
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
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
headwater
electric power
intake generator
shaft static
head
tailwater
penstock turbine
draft
tube
The two most characteristic figures of a turbine installation are its head and flow rate. The
VWDWLFKHDG 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
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.
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
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.
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.
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.
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.
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.
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.
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
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.
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
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]);
[ Omega ]
[RigRot(x - R, z)[1], -----, RigRot(x - R, z)[2]]
[ R ]
[ Omega ]
[-omega z, -----, omega (x - R)]
[ R ]
187
E Equation for Bent Helical Flow Field
[
VecCylToCart := (rho, phi, vrad, vang, vvert) -> [
[
# 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])
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 ) ]
[ 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
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 )
[ 0 0 -omega]
[ ]
jacoStraight := [ 0 0 0 ]
[ ]
[omega 0 0 ]
> 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.
194
G References
G References
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
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
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