Flow Visualization Overview: Flow Visualization (1) Introduction, - - PDF document

flow visualization overview flow visualization 1
SMART_READER_LITE
LIVE PREVIEW

Flow Visualization Overview: Flow Visualization (1) Introduction, - - PDF document

Flow Visualization Overview: Flow Visualization (1) Introduction, overview Flow data Simulation vs. measurement vs. modelling 2D vs. surfaces vs. 3D Steady vs time-dependent flow Direct vs. indirect flow visualization Experimental flow


slide-1
SLIDE 1

Flow Visualization

slide-2
SLIDE 2

Eduard Gröller, Helwig Hauser 2

Overview: Flow Visualization (1) Introduction, overview

Flow data Simulation vs. measurement vs. modelling 2D vs. surfaces vs. 3D Steady vs time-dependent flow Direct vs. indirect flow visualization

Experimental flow visualization

Basic possibilities PIV (Particle Image Velocimetry) + Example

slide-3
SLIDE 3

Eduard Gröller, Helwig Hauser 3

Overview: Flow Visualization (2)

Visualization of models Flow visualization with arrows Numerical integration

Euler-integration Runge-Kutta-integration

Streamlines

In 2D Particle paths In 3D, sweeps Illuminated streamlines

Streamline placement

slide-4
SLIDE 4

Eduard Gröller, Helwig Hauser 4

Overview: Flow Visualization (3) Flow visualization with integral objects

Streamribbons, Streamsurfaces, stream arrows

Line integral convolution

Algorithm Examples, alternatives

Glyphs & icons, flow topology

slide-5
SLIDE 5

Eduard Gröller, Helwig Hauser 5

Flow Visualization

Introduction:

FlowVis = visualization of flows

Visualization of change information Typically: more than 3 data dimensions General overview: even more difficult

Flow data:

nDnD data, 1D2 /2D2/nD2 (models), 2D2/3D2 (simulations, measurements) Vector data (nD) in nD data space

User goals:

Overview vs. details (with context)

slide-6
SLIDE 6

Eduard Gröller, Helwig Hauser 6

Flow Data

Where do the data come from:

Flow simulation:

Airplane- / ship- / car-design Weather simulation (air-, sea-flows) Medicine (blood flows, etc.)

Flow measurements:

Wind tunnel, fluid tunnel Schlieren-, shadow-technique

Flow models:

Differential equation systems (ODE) (dynamical systems)

slide-7
SLIDE 7

Eduard Gröller, Helwig Hauser 7

Data Source – Examples 1/2

slide-8
SLIDE 8

Eduard Gröller, Helwig Hauser 8

Data Source – Examples 2/2

slide-9
SLIDE 9

Eduard Gröller, Helwig Hauser 9

Comparison with Reality

Experiment Simulation

slide-10
SLIDE 10

Eduard Gröller, Helwig Hauser 10

2D vs. Surfaces vs. 3D 2D-Flow visualization

2D2D-Flows Models, slice flows (2D out of 3D)

Visualization of surface flows

3D-flows around “obstacles” Boundary flows on surfaces (2D)

3D-Flow visualization

3D3D-flows Simulations, 3D-models

slide-11
SLIDE 11

Eduard Gröller, Helwig Hauser 11

2D/Surfaces/3D – Examples

2D Surface 3D

slide-12
SLIDE 12

Eduard Gröller, Helwig Hauser 12

Steady vs. Time-Dependent Flows Steady (time-independent) flows:

Flow static over time v(x): RnRn, e.g., laminar flows Simpler interrelationship

Time-dependent (unsteady) flows:

Flow itself changes over time v(x,t): RnR1Rn, e.g., turbulent flows More complex interrelationship

slide-13
SLIDE 13

Eduard Gröller, Helwig Hauser 13

Time-Dependent vs. Steady Flow

slide-14
SLIDE 14

Eduard Gröller, Helwig Hauser 14

Direct vs. Indirect Flow Visualization Direct flow visualization:

Overview on current flow state Visualization of vectors Arrow plots, smearing techniques

Indirect flow visualization:

Usage of intermediate representation: vector-field integration over time Visualization of temporal evolution Streamlines, streamsurfaces

slide-15
SLIDE 15

Eduard Gröller, Helwig Hauser 15

Direct vs. Indirect Flow Vis. – Example

slide-16
SLIDE 16

Experimental Flow Visualization

Optical Methods, etc.

slide-17
SLIDE 17

Injection

  • f color,

smoke, particles Optical methods:

Schlieren, shadows

Eduard Gröller, Helwig Hauser 17

With Smoke rsp. Color Injection

slide-18
SLIDE 18

Eduard Gröller, Helwig Hauser 18

Example: Car-Design Ferrari-model, so-called five- hole probe (no back flows)

slide-19
SLIDE 19

Eduard Gröller, Helwig Hauser 19

PIV: Particle Image Velocimetry Laser + correlation analysis:

Real flow, e.g., in wind tunnel Injection of particles (as uniform as possible) At interesting locations: 2-times fast illumination with laser-slice Image capture (high-speed camera), then correlation analysis of particles Vector calculation / reconstruction, typically only 2D-vectors

slide-20
SLIDE 20

Eduard Gröller, Helwig Hauser 20

PIV - Measurements Setup and typical result:

slide-21
SLIDE 21

Eduard Gröller, Helwig Hauser 21

Example: Wing-Tip Vortex Problem: Air behind airplanes is turbulent

slide-22
SLIDE 22

Visualization of Models

Dynamical Systems

slide-23
SLIDE 23

Eduard Gröller, Helwig Hauser 23

Differences:

Flow analytically def.: dx/dt = v(x) Navier-Stokes equations E.G.: Lorenz-system: dx/dt = (y-x) dy/dt = rx-y-xz dz/dt = xy-bz Larger variety in data:

2D, 3D, nD Sometimes no natural constraints like non- compressibility or similar

Dynamical Systems Visualization

slide-24
SLIDE 24

Eduard Gröller, Helwig Hauser 24

Visualization of Models Sketchy, “hand drawn”

slide-25
SLIDE 25

Eduard Gröller, Helwig Hauser 25

Visualization of 3D Models

slide-26
SLIDE 26

Flow Visualization with Arrows

Hedgehog plots, etc.

slide-27
SLIDE 27

Eduard Gröller, Helwig Hauser 27

Flow Visualization with Arrows Aspects:

Direct Flow Visualization Normalized arrows vs. scaling with velocity 2D: quite usable, 3D: often problematic Sometimes limited expressivity (temporal component missing) Often used!

slide-28
SLIDE 28

Eduard Gröller, Helwig Hauser 28

Arrows in 2D Scaled arrows vs. color-coded arrows

slide-29
SLIDE 29

Eduard Gröller, Helwig Hauser 29

Arrows in 3D Following problems:

Ambiguity Perspective Shortening 1D-objects in 3D: difficult spatial perception Visual clutter

Improvement:

3D-arrows (help to a certain extent)

slide-30
SLIDE 30

Eduard Gröller, Helwig Hauser 30

Arrows in 3D Compromise: Arrows only in slices

slide-31
SLIDE 31

Eduard Gröller, Helwig Hauser 31

Arrows in 3D Well integrable within “real” 3D:

slide-32
SLIDE 32

Integration of Streamlines

Numerical Integration

slide-33
SLIDE 33

Helwig Hauser, Eduard Gröller 33

Streamlines – Theory Correlations:

flow data v: derivative information dx/dt = v(x); spatial points xRn, time tR, flow vectors vRn streamline s: integration over time, also called trajectory, solution, curve s(t) = s0 + 0utv(s(u))du; seed point s0, integration variable u difficulty: result s also in the integral  analytical solution usually impossible!

slide-34
SLIDE 34

Helwig Hauser 34

Streamlines – Practice Basic approach:

theory: s(t) = s0 + 0utv(s(u))du practice: numerical integration idea:

(very) locally, the solution is (approx.) linear

Euler integration: follow the current flow vector v(si) from the current streamline point si for a very small time (dt) and therefore distance Euler integration: si+1 = si + dt·v(si), integration of small steps (dt very small)

slide-35
SLIDE 35

Helwig Hauser 35

Euler Integration – Example

2D model data: vx = dx/dt = y vy = dy/dt = x/2 Sample arrows: True solution: ellipses!

1 2 3 4 1 2

slide-36
SLIDE 36

Helwig Hauser 36

Euler Integration – Example

Seed point s0 = (0|-1)T; current flow vector v(s0) = (1|0)T; dt = 1/2

1 2 3 4 1 2

slide-37
SLIDE 37

Helwig Hauser 37

Euler Integration – Example

New point s1 = s0 + v(s0)·dt = (1/2|-1)T; current flow vector v(s1) = (1|1/4)T;

1 2 3 4 1 2

slide-38
SLIDE 38

Helwig Hauser 38

Euler Integration – Example

New point s2 = s1 + v(s1)·dt = (1|-7/8)T; current flow vector v(s2) = (7/8|1/2)T;

1 2 3 4 1 2

slide-39
SLIDE 39

Helwig Hauser 39

Euler Integration – Example

s3 = (23/16|-5/8)T  (1.44|-0.63)T; v(s3) = (5/8|23/32)T  (0.63|0.72)T;

1 2 3 4 1 2

slide-40
SLIDE 40

Helwig Hauser 40

Euler Integration – Example

s4 = (7/4|-17/64)T  (1.75|-0.27)T; v(s4) = (17/64|7/8)T  (0.27|0.88)T;

1 2 3 4 1 2

slide-41
SLIDE 41

Helwig Hauser 41

Euler Integration – Example

s9  (0.20|1.69)T; v(s9)  (-1.69|0.10)T;

1 2 3 4 1 2

slide-42
SLIDE 42

Helwig Hauser 42

Euler Integration – Example

s14  (-3.22|-0.10)T; v(s14)  (0.10|-1.61)T;

1 2 3 4 1 2

slide-43
SLIDE 43

Helwig Hauser 43

Euler Integration – Example

s19  (0.75|-3.02)T; v(s19)  (3.02|0.37)T; clearly: large integration error, dt too large! 19 steps

1 2 3 4 1 2

slide-44
SLIDE 44

Helwig Hauser 44

Euler Integration – Example

dt smaller (1/4): more steps, more exact! s36  (0.04|-1.74)T; v(s36)  (1.74|0.02)T; 36 steps

1 2 3 4 1 2

slide-45
SLIDE 45

Helwig Hauser 45

Comparison Euler, Step Sizes

Euler is getting better propor- tionally to dt

slide-46
SLIDE 46

Helwig Hauser 46

Euler Example – Error Table dt #steps error 1/2 19 ~200% 1/4 36 ~75% 1/10 89 ~25% 1/100 889 ~2% 1/1000 8889 ~0.2%

slide-47
SLIDE 47

Helwig Hauser 47

Better than Euler Integr.: RK Runge-Kutta Approach:

theory: s(t) = s0 + 0utv(s(u))du Euler: si = s0 + 0u<iv(su)dt Runge-Kutta integration:

idea: cut short the curve arc RK-2 (second order RK): 1.: do half a Euler step 2.: evaluate flow vector there 3.: use it in the origin RK-2 (two evaluations of v per step): si+1 = si + v(si+v(si)·dt/2)·dt

slide-48
SLIDE 48

Helwig Hauser 48

RK-2 Integration – One Step

1 2 3 4 1 2

Seed point s0 = (0|-2)T; current flow vector v(s0) = (2|0)T; preview vector v(s0+v(s0)·dt/2) = (2|0.5)T; dt = 1

slide-49
SLIDE 49

Helwig Hauser 49

RK-2 – One more step

Seed point s1 = (2|-1.5)T; current flow vector v(s1) = (1.5|1)T; preview vector v(s1+v(s1)·dt/2)  (1|1.4)T; dt = 1

1 2 3 4 1 2

slide-50
SLIDE 50

Helwig Hauser 50

RK-2 – A Quick Round RK-2: even with dt=1 (9 steps) better than Euler with dt=1/8 (72 steps)

slide-51
SLIDE 51

Helwig Hauser 51

Integration, Conclusions Summary:

analytic determination of streamlines usually not possible hence: numerical integration several methods available (Euler, Runge-Kutta, etc.) Euler: simple, imprecise, esp. with small dt RK: more accurate in higher orders furthermore: adaptive methods, implicit methods, etc.

slide-52
SLIDE 52

Flow Visualization with Streamlines

Streamlines, Particle Paths, etc.

slide-53
SLIDE 53

Helwig Hauser 53

Streamlines in 2D Adequate for overview

slide-54
SLIDE 54

Particle paths = streamlines

(steady flows)

Variants (time-

dependent data):

streak lines: steadily new particles path lines: long-term path

  • f one particle

Helwig Hauser 54

Visualization with Particles

slide-55
SLIDE 55

Helwig Hauser, Eduard Gröller 55

Streamlines in 3D

Color coding: Speed Selective Placement

slide-56
SLIDE 56

Helwig Hauser 56

3D Streamlines with Sweeps Sweeps: better spatial 3D perception

slide-57
SLIDE 57

Helwig Hauser 57

Illuminated Streamlines Illuminated 3D curves  better 3D perception!

slide-58
SLIDE 58

Streamline Placement

in 2D

slide-59
SLIDE 59

Helwig Hauser 59

Problem: Choice of Seed Points Streamline placement:

If regular grid used: very irregular result

slide-60
SLIDE 60

Helwig Hauser, Eduard Gröller 60

Overview of Algorithm Idea: streamlines should not get too close to each other Approach:

choose a seed point with distance dsep from an already existing streamline forward- and backward-integration until distance dtest is reached (or …). two parameters:

dsep … start distance dtest … minimum distance

slide-61
SLIDE 61

Helwig Hauser 61

Algorithm – Pseudocode

Compute initial streamline, put it into a queue Initial streamline becomes current streamline

WHILE not finished DO: TRY: get new seed point which is dsep away from current streamline IF successful THEN compute new streamline and put to queue ELSE IF no more streamline in queue THEN exit loop ELSE next streamline in queue becomes current streamline

slide-62
SLIDE 62

Helwig Hauser, Eduard Gröller 62

Streamline Termination When to stop streamline integration:

when dist. to neighboring streamline ≤ dtest when streamline leaves flow domain when streamline runs into fixed point (v=0) when streamline gets too near to itself after a certain number of maximal steps

slide-63
SLIDE 63

Helwig Hauser 63

New Streamlines

slide-64
SLIDE 64

Helwig Hauser 64

Different Streamline Densities

Variations of dsep in rel. to image width: 6% 3% 1.5%

slide-65
SLIDE 65

Helwig Hauser 65

dsep vs. dtest

dtest = 0.9 · dsep dtest = 0.5 · dsep

slide-66
SLIDE 66

Helwig Hauser 66

Tapering and Glyphs Thickness in rel. to dist. Directional glyphs:

slide-67
SLIDE 67

Flow Visualization with Integral Objects

Streamribbons, Streamsurfaces, etc.

slide-68
SLIDE 68

Helwig Hauser 68

Integral Objects in 3D 1/3 Streamribbons

slide-69
SLIDE 69

Helwig Hauser 69

Integral Objects in 3D 2/3 Streamsurfaces

slide-70
SLIDE 70

Helwig Hauser 70

Stream Arrows

slide-71
SLIDE 71

Helwig Hauser 71

Integral Objects in 3D 3/3 Flow volumes …

  • vs. streamtubes

(similar to streamribbon)

slide-72
SLIDE 72

Helwig Hauser 72

Relation to Seed Objects

IntegralObj. Dim. SeedObj. Dim.

______________________________________________________________________________________________________

Streamline,… 1D Point 0D Streamribbon 1D++ Point+pt. 0D+0D Streamtube 1D++ Pt.+cont. 0D+1D

______________________________________________________________________________________________________

Streamsurface 2D Curve 1D

______________________________________________________________________________________________________

Flow volume 3D Patch 2D

slide-73
SLIDE 73

Line Integral Convolution

Flow Visualization in 2D or on surfaces

slide-74
SLIDE 74

Helwig Hauser 74

LIC – Introduction Aspects:

goal: general overview of flow Approach: usage of textures Idea: flow  visual correlation Example:

slide-75
SLIDE 75

Helwig Hauser, Eduard Gröller 75

LIC – Approach LIC idea:

for every texel: let the texture value…

… correlate with neighboring texture values along the flow (in flow direction) … not correlate with neighboring texture values across the flow (normal to flow dir.)

result: along streamlines the texture values are correlated  visually coherent! approach: “smudge” white noise (no a priori correlations) along flow

slide-76
SLIDE 76

Helwig Hauser 76

LIC – Steps Calculation of a texture value:

look at streamline through point filter white noise along streamline

Flow Data Streamline (DDA) White Noise LIC Texel Integration Convolution with results in

slide-77
SLIDE 77

Helwig Hauser 77

LIC – Convolution with Noise Calculation of LIC texture:

input 1: flow data v(x): RnRn,

analytically or interpolated

input 2: white noise n(x): RnR1,

normally precomputed as texture

streamline sx(u) through x: R1Rn,

sx(u) = x + sgn(u)0t|u|v(sx(sgn(u)t))dt

input 3: filter h(t): R1R1, e.g., Gauss result: texture value lic(x): RnR1, lic(x) = lic(sx(0)) = n(sx(u))·h(u)du

slide-78
SLIDE 78

Helwig Hauser 78

More Explanation So:

LIC – lic(x) – is a convolution of

white noise n (or …) and a smoothing filter h (e.g. a Gaussian)

The noise texture values are picked up along streamlines sx through x

slide-79
SLIDE 79

Helwig Hauser 79

LIC – Example in 2D

quite laminar flow quite turbulent flow

slide-80
SLIDE 80

Helwig Hauser 80

LIC – Examples on Surfaces

slide-81
SLIDE 81

Helwig Hauser 81

Arrows vs. StrLines vs. Textures

Streamlines: selective Arrows: well..

Textures: 2D-filling

slide-82
SLIDE 82

Similar approaches:

spot noise vector kernel line bundles/splats textured splats particle systems flow volumes texture advection

Helwig Hauser 82

Alternatives to LIC

motion blurred particles spot noise flow volume textured splats

slide-83
SLIDE 83

Flow Visualization dependent on local props.

Visualization of v

slide-84
SLIDE 84

Helwig Hauser 84

Glyphs resp. Icons Local / topological properties

slide-85
SLIDE 85

Helwig Hauser 85

Icons in 2D

slide-86
SLIDE 86

Helwig Hauser 86

Icons & Glyphs in 3D

slide-87
SLIDE 87

Helwig Hauser 87

Flow Topology Topology:

abstract structure

  • f a flow

different elements, e.g.:

checkpoints, defined through v(x)=0 cycles, defined through sx(t+T)=sx(t) connecting structures (separatrices, etc.)

slide-88
SLIDE 88

Helwig Hauser 88

Flow Topology in 3D Topology on surfaces:

fixed points separa- trices

slide-89
SLIDE 89

Helwig Hauser 89

Flow Topology in 3D Lorenz system:

1 saddle 2 saddle foci 1 chaotic attractor

slide-90
SLIDE 90

Helwig Hauser 90

Timesurfaces Idea:

start surface, e.g. part of a plane move whole surface along flow over time time surface: surface at one point in time

slide-91
SLIDE 91

Literature, References

  • B. Jobard & W. Lefer: “Creating Evenly-Spaced Streamlines of Arbitrary

Density” in Proceedings of 8th Eurographics Workshop on Visualization in Scientific Computing, April 1997, pp. 45-55

  • B. Cabral & L. Leedom: “Imaging Vector Fields Using Line Integral

Convolution” in Proceedings of SIGGRAPH ‘93 = Computer Graphics 27, 1993, pp. 263-270

  • D. Stalling & H.-C. Hege: “Fast and Resolution Independent Line Integral

Convolution” in Proceedings of SIGGRAPH ‘95 = Computer Graphics 29, 1995, pp. 249-256 Frits H. Post, Benjamin Vrolijk, Helwig Hauser, Robert S. Laramee, Helmut Doleisch: The State of the Art in Flow Visualization: Feature Extraction and

  • Tracking. Published in journal Computer Graphics Forum (Blackwell CGF)

22(4), pp. 775-792, 2003. [http://wwwx.cs.unc.edu/~taylorr/Comp715/papers/j.1467-

8659.2003.00723.x.pdf]

Robert S. Laramee, Helwig Hauser, Helmut Doleisch, Benjamin Vrolijk, Frits H. Post, Daniel Weiskopf: The State of the Art in Flow Visualization: Dense and Texture-based Techniques. Published in journal Computer Graphics Forum (Blackwell CGF) 23(2), pp. 203-222, 2004. [http://wwwx.cs.unc.edu/~taylorr/Comp715/papers/j.1467-8659.2004.00753.x.pdf] http://www.winslam.com/rlaramee/swirl-tumble/

Eduard Gröller, Helwig Hauser 91

slide-92
SLIDE 92

Acknowledgements

For material for this lecture unit

Hans-Georg Pagendarm Roger Crawfis Lloyd Treinish David Kenwright Terry Hewitt Bruno Jobard Malte Zöckler Georg Fischel Helwig Hauser Bruno Jobard Jeff Hultquist Lukas Mroz, Rainer Wegenkittl Nelson Max, Will Schroeder et al. Brian Cabral & Leith Leedom David Kenwright Rüdiger Westermann Jack van Wijk, Freik Reinders, Frits Post, Alexandru Telea, Ari Sadarjoen Bob Laramee, Daniel Weiskopf, Jürgen Schneider

Eduard Gröller, Helwig Hauser 92