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 Fl Flow data d t Simulation vs. measurement vs. modelling 2D vs. surfaces vs. 3D Steady vs time-dependent flow St d ti d d t fl Direct vs. indirect flow


slide-1
SLIDE 1

Flow Visualization

slide-2
SLIDE 2

Overview: Flow Visualization (1) Introduction, overview

Fl d t Flow data Simulation vs. measurement vs. modelling 2D vs. surfaces vs. 3D St d ti d d t fl Steady vs time-dependent flow Direct vs. indirect flow visualization

Experimental flow visualization

B i ibiliti Basic possibilities PIV (Particle Image Velocimetry) + Example

Eduard Gröller, Helwig Hauser 2

( g y) p

slide-3
SLIDE 3

Overview: Flow Visualization (2)

Visualization of models Flow visualization with arrows Numerical integration

Euler-integration Euler integration Runge-Kutta-integration

Streamlines Streamlines

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

Streamline placement

Eduard Gröller, Helwig Hauser 3

slide-4
SLIDE 4

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

St ibb Streamribbons, Streamsurfaces, stream arrows

Line integral convolution

Al ith Algorithm Examples, alternatives

Glyphs & icons, flow topology

Eduard Gröller, Helwig Hauser 4

slide-5
SLIDE 5

Flow Visualization

Introduction:

FlowVis = visualization of flows FlowVis = visualization of flows

Visualization of change information T i ll th 3 d t di i 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)

Eduard Gröller, Helwig Hauser 5

Overview vs. details (with context)

slide-6
SLIDE 6

Flow Data

Where do the data come from:

Flow simulation: Flow simulation:

Airplane- / ship- / car-design W th i l ti ( i fl ) Weather simulation (air-, sea-flows) Medicine (blood flows, etc.)

Flow measurements:

Wind tunnel, fluid tunnel Schlieren-, shadow-technique

Flow models: Flow models:

Differential equation systems (ODE) (dynamical systems)

Eduard Gröller, Helwig Hauser 6

(dynamical systems)

slide-7
SLIDE 7

Data Source – Examples 1/2

Eduard Gröller, Helwig Hauser 7

slide-8
SLIDE 8

Data Source – Examples 2/2

Eduard Gröller, Helwig Hauser 8

slide-9
SLIDE 9

Comparison with Reality

Experiment Simulation

Eduard Gröller, Helwig Hauser 9

Simulation

slide-10
SLIDE 10

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

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

Visualization of surface flows

3D fl d “ b t l ” 3D-flows around “obstacles” Boundary flows on surfaces (2D) y ( )

3D-Flow visualization

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

Eduard Gröller, Helwig Hauser 10

Simulations, 3D models

slide-11
SLIDE 11

2D/Surfaces/3D – Examples

3D S f Surface

Eduard Gröller, Helwig Hauser 11

2D

slide-12
SLIDE 12

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

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

Ti d d t ( t d ) fl Time-dependent (unsteady) flows:

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

Eduard Gröller, Helwig Hauser 12

slide-13
SLIDE 13

Time-Dependent vs. Steady Flow

Eduard Gröller, Helwig Hauser 13

slide-14
SLIDE 14

Direct vs. Indirect Flow Visualization Direct flow visualization:

O i t fl t t Overview on current flow state Visualization of vectors Arrow plots, smearing techniques

I di t fl i li ti Indirect flow visualization:

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

Eduard Gröller, Helwig Hauser 14

slide-15
SLIDE 15

Direct vs. Indirect Flow Vis. – Example

Eduard Gröller, Helwig Hauser 15

slide-16
SLIDE 16

Experimental Experimental Flow Visualization Flow Visualization

Optical Methods, etc.

slide-17
SLIDE 17

With Smoke rsp. Color Injection Injection

  • f color
  • f color,

smoke, particles Optical Optical methods:

S Schlieren, shadows

Eduard Gröller, Helwig Hauser 17

slide-18
SLIDE 18

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

Eduard Gröller, Helwig Hauser 18

slide-19
SLIDE 19

PIV: Particle Image Velocimetry Laser + correlation analysis:

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

Eduard Gröller, Helwig Hauser 19

slide-20
SLIDE 20

PIV - Measurements Setup and typical result:

Eduard Gröller, Helwig Hauser 20

slide-21
SLIDE 21

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

Eduard Gröller, Helwig Hauser 21

slide-22
SLIDE 22

f Visualization of Models

Dynamical Systems

slide-23
SLIDE 23

Dynamical Systems Visualization

Differences:

Flow analytically def.: Flow analytically def.: dx/dt = v(x) Navier-Stokes equations Navier Stokes equations E.G.: Lorenz-system: dx/dt = (y-x) (y ) 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

Eduard Gröller, Helwig Hauser 23

slide-24
SLIDE 24

Visualization of Models Sketchy, “hand drawn” hand drawn

Eduard Gröller, Helwig Hauser 24

slide-25
SLIDE 25

Visualization of 3D Models

Eduard Gröller, Helwig Hauser 25

slide-26
SLIDE 26

Flow Visualization Flow Visualization with Arrows with Arrows

Hedgehog plots etc Hedgehog plots, etc.

slide-27
SLIDE 27

Flow Visualization with Arrows Aspects:

Di t Fl Vi li ti Direct Flow Visualization Normalized arrows vs. scaling with velocity 2D: quite usable 2D: quite usable, 3D: often problematic Sometimes limited expressivity (temporal p y ( p component missing) Often used!

Eduard Gröller, Helwig Hauser 27

Often used!

slide-28
SLIDE 28

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

Eduard Gröller, Helwig Hauser 28

slide-29
SLIDE 29

Arrows in 3D Following problems:

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

Improvement: Improvement:

3D-arrows (help to a certain extent)

Eduard Gröller, Helwig Hauser 29

slide-30
SLIDE 30

Arrows in 3D Compromise: Arrows only in slices Arrows only in slices

Eduard Gröller, Helwig Hauser 30

slide-31
SLIDE 31

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

Eduard Gröller, Helwig Hauser 31

slide-32
SLIDE 32

Integration of Streamlines

Numerical Integration

slide-33
SLIDE 33

Streamlines – Theory Correlations:

fl d t d i ti i f ti 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, g , also called trajectory, solution, curve s(t) = s0 + 0utv(s(u))du; s(t) s0 0utv(s(u))du; seed point s0, integration variable u difficulty: result s also in the integral  analytical difficulty: result s also in the integral  analytical solution usually impossible!

Helwig Hauser, Eduard Gröller 33

slide-34
SLIDE 34

Streamlines – Practice Basic approach:

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

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

y,

( pp )

Euler integration: follow the current flow vector v(si) from the current 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)

Helwig Hauser 34

integration of small steps (dt very small)

slide-35
SLIDE 35

Euler Integration – Example

2D model data: vx = dx/dt = y vy = dy/dt = x/2

y

y Sample arrows:

2

True

1

True solution: ellipses!

1 2 3 4

p

Helwig Hauser 35

slide-36
SLIDE 36

Euler Integration – Example

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

0)

( | ) ; dt = 1/2

2 1 1 2 3 4

Helwig Hauser 36

slide-37
SLIDE 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 1 1 2 3 4

Helwig Hauser 37

slide-38
SLIDE 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; (

2)

( | ) ;

2 1 1 2 3 4

Helwig Hauser 38

slide-39
SLIDE 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; (

3)

( | ) ( | ) ;

2 1 1 2 3 4

Helwig Hauser 39

slide-40
SLIDE 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; (

4)

( | ) ( | ) ;

2 1 1 2 3 4

Helwig Hauser 40

slide-41
SLIDE 41

Euler Integration – Example

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

9)

( | ) ;

2 1 1 2 3 4

Helwig Hauser 41

slide-42
SLIDE 42

Euler Integration – Example

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

14)

( | ) ;

2 1 1 2 3 4

Helwig Hauser 42

slide-43
SLIDE 43

Euler Integration – Example

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

2 1 1 2 3 4

Helwig Hauser 43

slide-44
SLIDE 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

( | ) ; (

36)

( | ) ; 36 steps

2 1 1 2 3 4

Helwig Hauser 44

slide-45
SLIDE 45

Comparison Euler, Step Sizes

Euler is getting is getting better propor- propor- tionally to dt to dt

Helwig Hauser 45

slide-46
SLIDE 46

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

Helwig Hauser 46

slide-47
SLIDE 47

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

theory: s(t) = s +  v(s(u))du 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 idea: cut short the curve arc RK-2 (second order RK): 1.: do half a Euler step 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

Helwig Hauser 47

slide-48
SLIDE 48

RK-2 Integration – One Step

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

0)

( | ) ; preview vector v(s0+v(s0)·dt/2) = (2|0.5)T; dt = 1

2 1 1 2 3 4

Helwig Hauser 48

slide-49
SLIDE 49

RK-2 – One more step

Seed point s1 = (2|-1.5)T; current flow vector v(s1) = (1.5|1)T; (

1)

( | ) ; preview vector v(s1+v(s1)·dt/2)  (1|1.4)T; dt = 1

2 1 1 2 3 4

Helwig Hauser 49

slide-50
SLIDE 50

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

Helwig Hauser 50

slide-51
SLIDE 51

Integration, Conclusions Summary:

analytic determination of streamlines analytic determination of streamlines usually not possible h i l i t ti hence: numerical integration several methods available (Euler, Runge-Kutta, etc.) Euler: simple, imprecise, esp. with small dt u e s p e, p ec se, esp s a d RK: more accurate in higher orders f rthermore adapti e methods implicit methods furthermore: adaptive methods, implicit methods, etc.

Helwig Hauser 51

slide-52
SLIDE 52

Flow Visualization with Streamlines

Streamlines Streamlines, Particle Paths, etc.

slide-53
SLIDE 53

Streamlines in 2D Adequate for overview for overview

Helwig Hauser 53

slide-54
SLIDE 54

Visualization with Particles

Particle paths = streamlines streamlines

(steady flows)

Variants (time-

dependent data): dependent data):

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

  • f one particle
  • f one particle

Helwig Hauser 54

slide-55
SLIDE 55

Streamlines in 3D

Color coding: g Speed Selective Selective Placement

Helwig Hauser, Eduard Gröller 55

slide-56
SLIDE 56

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

Helwig Hauser 56

slide-57
SLIDE 57

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

Helwig Hauser 57

slide-58
SLIDE 58

Streamline Placement

in 2D

slide-59
SLIDE 59

Problem: Choice of Seed Points Streamline placement:

If regular grid used: very irregular result If regular grid used: very irregular result

Helwig Hauser 59

slide-60
SLIDE 60

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

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

test

( )

two parameters:

d start distance dsep … start distance dtest … minimum distance

Helwig Hauser, Eduard Gröller 60

slide-61
SLIDE 61

Algorithm – Pseudocode

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

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

Helwig Hauser 61

slide-62
SLIDE 62

Streamline Termination When to stop streamline integration:

when dist to neighboring streamline ≤ d 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 when streamline gets too near to itself after a certain amount of maximal steps

Helwig Hauser 62

slide-63
SLIDE 63

New Streamlines

Helwig Hauser 63

slide-64
SLIDE 64

Different Streamline Densities

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

Helwig Hauser 64

slide-65
SLIDE 65

dsep vs. dtest

dtest = 0.9 · dsep dtest = 0.5 · dsep

Helwig Hauser 65

slide-66
SLIDE 66

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

Helwig Hauser 66

slide-67
SLIDE 67

Flow Visualization ith I t l Obj t with Integral Objects

Streamribbons, Streamsurfaces, etc.

slide-68
SLIDE 68

Integral Objects in 3D 1/3 Streamribbons

Helwig Hauser 68

slide-69
SLIDE 69

Integral Objects in 3D 2/3 Streamsurfaces

Helwig Hauser 69

slide-70
SLIDE 70

Stream Arrows

Helwig Hauser 70

slide-71
SLIDE 71

Integral Objects in 3D 3/3 Flow volumes …

  • vs. streamtubes

(similar to streamribbon)

Helwig Hauser 71

slide-72
SLIDE 72

Relation to Seed Objects

IntegralObj. Dim. SeedObj. Dim.

______________________________________________________________________________________________________

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

______________________________________________________________________________________________________

Streamsurface 2D Curve 1D Streamsurface 2D Curve 1D

______________________________________________________________________________________________________

Flow volume 3D Patch 2D

Helwig Hauser 72

slide-73
SLIDE 73

C Line Integral Convolution

Flow Visualization Flow Visualization in 2D or on surfaces

slide-74
SLIDE 74

LIC – Introduction Aspects:

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

Helwig Hauser 74

slide-75
SLIDE 75

LIC – Approach LIC idea:

for every texel: let the texture value for every texel: let the texture value…

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

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

Helwig Hauser, Eduard Gröller 75

slide-76
SLIDE 76

LIC – Steps Calculation of a texture value:

Flow Data

texture value:

look at streamline through point Flow Data Integrat through point filter white noise l t li Streamline (DDA) g along streamline (DDA) Convolu with White Noise results i LIC Texel results i

Helwig Hauser 76

slide-77
SLIDE 77

LIC – Convolution with Noise Calculation of LIC texture:

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

analytically or interpolated

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

normally precomputed as texture

t li ( ) th h R1 Rn streamline sx(u) through x: R1Rn,

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

i t 3 filt h(t) R1 R1 G 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

Helwig Hauser 77

slide-78
SLIDE 78

More Explanation So:

LIC lic(x) is a convolution of 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 p up along streamlines sx through x

Helwig Hauser 78

slide-79
SLIDE 79

LIC – Example in 2D

quite laminar flow

Helwig Hauser 79

quite turbulent flow

slide-80
SLIDE 80

LIC – Examples on Surfaces

Helwig Hauser 80

slide-81
SLIDE 81

Arrows vs. StrLines vs. Textures

Streamlines: selective A ll Arrows: well..

Textures: 2D-filling

Helwig Hauser 81

g

slide-82
SLIDE 82

Alternatives to LIC

Similar approaches:

spot noise

spot noise t t d l t

spot noise vector kernel line bundles/splats

textured splats

line bundles/splats textured splats particle systems particle systems flow volumes t t d ti texture advection

motion blurred

Helwig Hauser 82

particles flow volume

slide-83
SLIDE 83

Flow Visualization dependent on local props.

Visualization of v

slide-84
SLIDE 84

Glyphs resp. Icons Local / topological topological properties

Helwig Hauser 84

slide-85
SLIDE 85

Icons in 2D

Helwig Hauser 85

slide-86
SLIDE 86

Icons & Glyphs in 3D

Helwig Hauser 86

slide-87
SLIDE 87

Flow Topology Topology:

abstract abstract structure

  • f a flow
  • f a flow

different elements, e.g.:

checkpoints, defined through v(x)=0 cycles, defined through sx(t+T)=sx(t) y , g

x(

)

x( )

connecting structures (separatrices, etc.)

Helwig Hauser 87

slide-88
SLIDE 88

Flow Topology in 3D Topology on surfaces: surfaces:

fixed points points separa- t i trices

Helwig Hauser 88

slide-89
SLIDE 89

Flow Topology in 3D Lorenz system: system:

1 saddle 2 saddle foci 1 chaotic attractor

Helwig Hauser 89

slide-90
SLIDE 90

Timesurfaces Idea:

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

Helwig Hauser 90

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 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 g g g

  • f SIGGRAPH ‘93 = Computer Graphics 27, 1993,
  • pp. 263-270
  • D. Stalling & H.-C. Hege: “Fast and Resolution

g g Independent Line Integral Convolution” in Proceedings of SIGGRAPH ‘95 = Computer Graphics 29 1995 pp 249 256 Graphics 29, 1995, pp. 249-256

Eduard Gröller, Helwig Hauser 91

slide-92
SLIDE 92

Acknowledgements

For material for this lecture unit

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

Eduard Gröller, Helwig Hauser 92