introduction to flow visualizationhuamin/msbd5005/flowvis.pdf · vector visualization ydata set is...

54
This set of slides developed by Prof. Torsten Moeller, at Simon Fraser Univ and Professor Jian Huang, at University of Tennessee , Knoxville And some other presentation slides acquired online Introduction to Flow Visualization

Upload: others

Post on 10-Jul-2020

16 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Introduction to Flow Visualizationhuamin/MSBD5005/flowvis.pdf · Vector Visualization yData set is given by a vector component and its magnitude yoften results from study of fluid

This set of slides developed by Prof. Torsten Moeller, at Simon Fraser Univ and

Professor Jian Huang, at University of Tennessee , KnoxvilleAnd some other presentation slides acquired online

Introduction to Flow Visualization

Page 2: Introduction to Flow Visualizationhuamin/MSBD5005/flowvis.pdf · Vector Visualization yData set is given by a vector component and its magnitude yoften results from study of fluid

Vector Visualization

y Data set is given by a vector component and its magnitudey often results from study of fluid flow or by looking at

derivatives (rate of change) of some quantityy trying to find out what to see and how!y Many visualization techniques proposed

Page 3: Introduction to Flow Visualizationhuamin/MSBD5005/flowvis.pdf · Vector Visualization yData set is given by a vector component and its magnitude yoften results from study of fluid

Vector Visualization - Techniques

y Hedgehogs/glyphsy Particle tracingy stream-, streak-, time- & path-linesy stream-ribbon, stream-surfaces, stream-polygons,

stream-tubey hyper-streamlinesy Line Integral Convolution

Page 4: Introduction to Flow Visualizationhuamin/MSBD5005/flowvis.pdf · Vector Visualization yData set is given by a vector component and its magnitude yoften results from study of fluid

Vector Visualization - Origin

y Where are those methods coming from??y Rich field of Fluid Flow Visualizationy Hundreds of years old!!y Modern domain - Computational Field Simulationsy Let’s see some images first

Page 5: Introduction to Flow Visualizationhuamin/MSBD5005/flowvis.pdf · Vector Visualization yData set is given by a vector component and its magnitude yoften results from study of fluid

Flow visualizationLeonardo Da Vinci’s Hand drawings

Naturally occurring flow visualization

Page 6: Introduction to Flow Visualizationhuamin/MSBD5005/flowvis.pdf · Vector Visualization yData set is given by a vector component and its magnitude yoften results from study of fluid

Flow Past a Cylinder

Clouds past a mountain

Page 7: Introduction to Flow Visualizationhuamin/MSBD5005/flowvis.pdf · Vector Visualization yData set is given by a vector component and its magnitude yoften results from study of fluid

Some gas flow visualization images

Smoke visualization

Top- flow past aerofoilSide- laminar smoke jet

Page 8: Introduction to Flow Visualizationhuamin/MSBD5005/flowvis.pdf · Vector Visualization yData set is given by a vector component and its magnitude yoften results from study of fluid

Schlieren flow visualizationShadowgraph

Bullet at supersonic speed

Page 9: Introduction to Flow Visualizationhuamin/MSBD5005/flowvis.pdf · Vector Visualization yData set is given by a vector component and its magnitude yoften results from study of fluid

Flow over AerofoilSide –particle visualizationBelow –dye visualization

Liquid flows

Page 10: Introduction to Flow Visualizationhuamin/MSBD5005/flowvis.pdf · Vector Visualization yData set is given by a vector component and its magnitude yoften results from study of fluid

Insects walking on water

Page 11: Introduction to Flow Visualizationhuamin/MSBD5005/flowvis.pdf · Vector Visualization yData set is given by a vector component and its magnitude yoften results from study of fluid

Drop falling on liquid surface

Normal laminar flow chain

Page 12: Introduction to Flow Visualizationhuamin/MSBD5005/flowvis.pdf · Vector Visualization yData set is given by a vector component and its magnitude yoften results from study of fluid

Jets and Plumes

• Top left- flow below an ice cube in water

• Top right- near field of a jet

• Side- jet and flame jet

Page 13: Introduction to Flow Visualizationhuamin/MSBD5005/flowvis.pdf · Vector Visualization yData set is given by a vector component and its magnitude yoften results from study of fluid

Buoyant jet in stratified fluid

Tear ducts in wine glass

Page 14: Introduction to Flow Visualizationhuamin/MSBD5005/flowvis.pdf · Vector Visualization yData set is given by a vector component and its magnitude yoften results from study of fluid

Delta Wing Vortex Top & Back Views

Page 15: Introduction to Flow Visualizationhuamin/MSBD5005/flowvis.pdf · Vector Visualization yData set is given by a vector component and its magnitude yoften results from study of fluid

Delta Wing Vortex Top & Side Views

Page 16: Introduction to Flow Visualizationhuamin/MSBD5005/flowvis.pdf · Vector Visualization yData set is given by a vector component and its magnitude yoften results from study of fluid

MEMS Vortex Control

Vortex under control, moving outwards

Moving inwards

Page 17: Introduction to Flow Visualizationhuamin/MSBD5005/flowvis.pdf · Vector Visualization yData set is given by a vector component and its magnitude yoften results from study of fluid

Trailing Vortex Shed from Wingtip

Page 18: Introduction to Flow Visualizationhuamin/MSBD5005/flowvis.pdf · Vector Visualization yData set is given by a vector component and its magnitude yoften results from study of fluid

Missile Firing, Shock-cell structure

Page 19: Introduction to Flow Visualizationhuamin/MSBD5005/flowvis.pdf · Vector Visualization yData set is given by a vector component and its magnitude yoften results from study of fluid

Hurricane Fran, 1996

Page 20: Introduction to Flow Visualizationhuamin/MSBD5005/flowvis.pdf · Vector Visualization yData set is given by a vector component and its magnitude yoften results from study of fluid

Flow Visualization

y Gaseous flow:y development of cars, aircraft, spacecrafty design of machines - turbines, combustion engines

y Liquid Flow:y naval applications - ship designy civil engineering - harbor design, coastal protection

y Chemistry - fluid flow in reactor tanksy Medicine - blood vessels, SPECT, fMRI

Page 21: Introduction to Flow Visualizationhuamin/MSBD5005/flowvis.pdf · Vector Visualization yData set is given by a vector component and its magnitude yoften results from study of fluid

Flow Visualization (2)

y What is the problem definition?y Given (typically):y physical position (vector)y pressure (scalar),y density (scalar),y velocity (vector),y entropy (scalar)

y steady flow - vector field stays constanty unsteady - vector field changes with time

Page 22: Introduction to Flow Visualizationhuamin/MSBD5005/flowvis.pdf · Vector Visualization yData set is given by a vector component and its magnitude yoften results from study of fluid

Flow Visualization - traditionally

y Traditionally - Experimental Flow Vis

y How? -Three basic techniques:y adding foreign materialy optical techniquesy adding heat and energy

Page 23: Introduction to Flow Visualizationhuamin/MSBD5005/flowvis.pdf · Vector Visualization yData set is given by a vector component and its magnitude yoften results from study of fluid

Experimental Flow Visualiz.

y Problems:y the flow is affected by experimental techniquey not all phenomena can be visualizedy expensive (wind tunnels, small scale models)y time consuming

y That’s where computer graphics and YOU come in!

Page 24: Introduction to Flow Visualizationhuamin/MSBD5005/flowvis.pdf · Vector Visualization yData set is given by a vector component and its magnitude yoften results from study of fluid

Vector Field Visualization Techniques

Local technique: Advection based methods -Display the trajectory starting from a

particular location - streamxxxx- contours

Global technique: Hedgehogs, Line Integral Convolution, Texture Splats etc. Display the flow direction everywherein the field

Page 25: Introduction to Flow Visualizationhuamin/MSBD5005/flowvis.pdf · Vector Visualization yData set is given by a vector component and its magnitude yoften results from study of fluid

Local technique - Streamline

• Basic idea: visualizing the flow directions by releasing particles and calculating a series of particle positions based on the vector field -- streamline

( ) ∫+== dsvsxxtxvdsxd

)(or, 0

Page 26: Introduction to Flow Visualizationhuamin/MSBD5005/flowvis.pdf · Vector Visualization yData set is given by a vector component and its magnitude yoften results from study of fluid

Numerical Integration

y Euler

y not good enough, need to resort to higherorder methods

( ) ∫+== dsvsxxtxvdsxd

)(or, 0

( ) ( ) ( )( ) ssxvsxssx ∆+=∆+

Page 27: Introduction to Flow Visualizationhuamin/MSBD5005/flowvis.pdf · Vector Visualization yData set is given by a vector component and its magnitude yoften results from study of fluid

Numerical Integration

y 2nd order Runge-Kutta

( ) ( ) ( )( ) ( )( )( )s

ssxvsxvsxssx ∆

∆+++=∆+

2

*

( ) ( ) ( )( ) ssxvsxssx ∆+=∆+*

Euler Runge-Kutta

Page 28: Introduction to Flow Visualizationhuamin/MSBD5005/flowvis.pdf · Vector Visualization yData set is given by a vector component and its magnitude yoften results from study of fluid

Numerical Integration

y 4th order Runge-Kutta

( ) ( ) ( ) ( ) ( )( )( )( ) ( )

( ) ( )( ) ( ) sxvsxx

sxvsxx

sxvsxx

sxx

xvxvxvxvxssx

∆+=

∆+=

∆+=

=

++++=∆+

23

12

01

0

32100

2121

2261

Page 29: Introduction to Flow Visualizationhuamin/MSBD5005/flowvis.pdf · Vector Visualization yData set is given by a vector component and its magnitude yoften results from study of fluid

Streamlines (cont’d)

- Displaying streamlines is a local technique because you can only visualize the flow directions initiated from one or a fewparticles

-When the number of streamlines is increased, the scene becomes cluttered

-You need to know where to drop the particle seeds

- Streamline computation is expensive

Page 30: Introduction to Flow Visualizationhuamin/MSBD5005/flowvis.pdf · Vector Visualization yData set is given by a vector component and its magnitude yoften results from study of fluid

Pathlines, Timelines-Extension of streamlines for time-varying data (unsteady flows)

Pathlines:

Timelines:

T=1

T=2

T=3 T=4

T=5

T = 1 T = 2 T = 3

timeline

Page 31: Introduction to Flow Visualizationhuamin/MSBD5005/flowvis.pdf · Vector Visualization yData set is given by a vector component and its magnitude yoften results from study of fluid

Streaklines

- For unsteady flows also- Continuously injecting a new particle at each time step, advecting all the existing particles and connect them together into a streakline

b.t. =5b.t. =4

b.t. =3

b.t. =2 b.t. =1

Page 32: Introduction to Flow Visualizationhuamin/MSBD5005/flowvis.pdf · Vector Visualization yData set is given by a vector component and its magnitude yoften results from study of fluid

Advection methods comparison

Page 33: Introduction to Flow Visualizationhuamin/MSBD5005/flowvis.pdf · Vector Visualization yData set is given by a vector component and its magnitude yoften results from study of fluid

Stream-ribbon

y We really would like to see vorticities, I.e. places were the flow twists.

y A point primitive or an icon can hardly convey thisy idea: trace neighboring particles and connect them with

polygonsy shade those polygons appropriately and one will detect twists

Page 34: Introduction to Flow Visualizationhuamin/MSBD5005/flowvis.pdf · Vector Visualization yData set is given by a vector component and its magnitude yoften results from study of fluid

Stream-ribbon

y Problem - when flow divergesy Solution: Just trace one streamline and a constant size

vector with it:

Page 35: Introduction to Flow Visualizationhuamin/MSBD5005/flowvis.pdf · Vector Visualization yData set is given by a vector component and its magnitude yoften results from study of fluid

Stream-tube

y Generate a stream-line and connect circular crossflow sections along the stream-line

Page 36: Introduction to Flow Visualizationhuamin/MSBD5005/flowvis.pdf · Vector Visualization yData set is given by a vector component and its magnitude yoften results from study of fluid

Stream-balls

y Another way to get around diverging stream-linesy simply put implicit surface primitives at particle traces -

at places where they are close they’ll merge elegantly ...

Page 37: Introduction to Flow Visualizationhuamin/MSBD5005/flowvis.pdf · Vector Visualization yData set is given by a vector component and its magnitude yoften results from study of fluid

Flow Volumes

y Instead of tracing a line - trace a small polyhedra

Page 38: Introduction to Flow Visualizationhuamin/MSBD5005/flowvis.pdf · Vector Visualization yData set is given by a vector component and its magnitude yoften results from study of fluid

Contours

y Contour lines can measure certain quantities by connecting same values along a line

Page 39: Introduction to Flow Visualizationhuamin/MSBD5005/flowvis.pdf · Vector Visualization yData set is given by a vector component and its magnitude yoften results from study of fluid

Global techniques

- Display the entire flow field in a single picture - Minimum user intervention- Example: Hedgehogs (global arrow plots)

Page 40: Introduction to Flow Visualizationhuamin/MSBD5005/flowvis.pdf · Vector Visualization yData set is given by a vector component and its magnitude yoften results from study of fluid

Mappings - Hedgehogs, Glyphs

y Put “icons” at certain places in the flowy e.g. arrows - represent direction &

magnitude

y other primitives are possible

orientedlines

glyphs

vortex

Page 41: Introduction to Flow Visualizationhuamin/MSBD5005/flowvis.pdf · Vector Visualization yData set is given by a vector component and its magnitude yoften results from study of fluid

Mappings - Hedgehogs, Glyphs

y analogous to tufts or vanes from experimental flow visualization

y clutter the image real quicky maybe ok for 2Dy not very informative

Page 42: Introduction to Flow Visualizationhuamin/MSBD5005/flowvis.pdf · Vector Visualization yData set is given by a vector component and its magnitude yoften results from study of fluid

Global Methods

y Spot Noise (van Wijk 91)

y Line Integral Convolution (Cabral 93)

y Texture Splats (Crawfis 93)

Page 43: Introduction to Flow Visualizationhuamin/MSBD5005/flowvis.pdf · Vector Visualization yData set is given by a vector component and its magnitude yoften results from study of fluid

Spot Noise

y Uses small motion blurred particles to visualize flows on stream surfaces

y Particles represented as ellipses with their long axes oriented along the direction of the flow

y I.e. we multiply our kernel h with an amplitude and add a phase shift!

y Hence - we convolve a spot kernel in spatial domain with a random sequence (white noise)

Page 44: Introduction to Flow Visualizationhuamin/MSBD5005/flowvis.pdf · Vector Visualization yData set is given by a vector component and its magnitude yoften results from study of fluid

Spot Noise

y examples of white noise:y set of random values on a gridy Poisson point process - a set of randomly scaled delta functions

randomly placed (dart throwing)

y variation of the data visualization can be realized via variation of the spot:

d - data valuem - parameter mapping

( ) ( )( )( )∑ −=k

kkk xxxdmhaxf ,

Page 45: Introduction to Flow Visualizationhuamin/MSBD5005/flowvis.pdf · Vector Visualization yData set is given by a vector component and its magnitude yoften results from study of fluid

Rendering - Spot Noise

Different size Different profiles

Page 46: Introduction to Flow Visualizationhuamin/MSBD5005/flowvis.pdf · Vector Visualization yData set is given by a vector component and its magnitude yoften results from study of fluid

Rendering - Spot Noise

y bla

Page 47: Introduction to Flow Visualizationhuamin/MSBD5005/flowvis.pdf · Vector Visualization yData set is given by a vector component and its magnitude yoften results from study of fluid

Rendering - LIC

y Similar to spot noisey embed a noise texture

under the vector fieldy difference - integrates

along a streamline

LIC Spot Noise

Page 48: Introduction to Flow Visualizationhuamin/MSBD5005/flowvis.pdf · Vector Visualization yData set is given by a vector component and its magnitude yoften results from study of fluid

Texture Splats

y Crawfis, Max 1993y extended splatting to visualize vector fieldsy used simple idea of “textured vectors” for visualization of

vector fields

Page 49: Introduction to Flow Visualizationhuamin/MSBD5005/flowvis.pdf · Vector Visualization yData set is given by a vector component and its magnitude yoften results from study of fluid

Texture Splats - Vector Viz

y The splat would be a Gaussian type texturey how about setting this to an arbitrary image?y How about setting this to an image including some elongated

particles representing the flow in the field?y Texture must represent whether we are looking at the vector

head on or sideways

Page 50: Introduction to Flow Visualizationhuamin/MSBD5005/flowvis.pdf · Vector Visualization yData set is given by a vector component and its magnitude yoften results from study of fluid

Texture Splats

Texture images Appropriate opacities

Page 51: Introduction to Flow Visualizationhuamin/MSBD5005/flowvis.pdf · Vector Visualization yData set is given by a vector component and its magnitude yoften results from study of fluid

Texture Splats - Vector Viz

y How do you get them to “move”?y Just cycle over a periodic number of different textures

(rows)

Page 52: Introduction to Flow Visualizationhuamin/MSBD5005/flowvis.pdf · Vector Visualization yData set is given by a vector component and its magnitude yoften results from study of fluid

More global techniques

Texture Splats

Page 53: Introduction to Flow Visualizationhuamin/MSBD5005/flowvis.pdf · Vector Visualization yData set is given by a vector component and its magnitude yoften results from study of fluid

Spot Noise

Page 54: Introduction to Flow Visualizationhuamin/MSBD5005/flowvis.pdf · Vector Visualization yData set is given by a vector component and its magnitude yoften results from study of fluid

Line bundles