Image Space Based Visualization of Unsteady Flow on Surfaces Robert Laramee Bruno Jobard Helwig...

Post on 18-Dec-2015

219 views 3 download

Tags:

Transcript of Image Space Based Visualization of Unsteady Flow on Surfaces Robert Laramee Bruno Jobard Helwig...

Image Space Based Visualization of Unsteady

Flow on Surfaces

Robert LarameeBruno JobardHelwig Hauser

Presenter: Bob Armstrong24 January 2007

What's This About?

New Algorithm: ISBV Generates dense representations of

arbitrary fluid flow on computational fluid dynamics (CFD) surfaces

Applied to unsteady flow on boundary surfaces of complex meshes from CFDs of more than 250K polygons, dynamic meshes, medical data

Seeing is believing

Visualization of flow on the surface of an intake manifold. The ideal intake manifold distributes flow evenly to the piston valves.

Visualization of flow at the complex surface of a cooling jacket – a composite of over 250,000 polygons

The Baldwin-Lomax model is a classical algebraic turbulence model which is suitable for high-speed flows with thin attached boundary-layers, typically present in aerospace and turbomachinery applications.

What's the Problem? Traditional direct visualization of

unsteady flow is computationally expensive No real-time production Animation/Simulation is expensive

Their Approach

Build off of Past Work LEA IBFV

Reduce complexity by generating 3D vector fields onto 2D image space

Past Work

Foundation for the ISBV Algorithm Both produce dense representations of

unsteady, 2D vector fields LEA:

Lagrangian-Eulerian Advection IBFV:

Image Based Flow Visualization

Lagrangian-Eulerian Advection

Produces animations with high spatio-temporal correlation

All data stored in 2D arrays Each frame depicts instantaneous flow

structure Generates animations at interactive

frame rates

Image Based Flow Visualization

Simulation of 2D fluid flow Each frame of a flow animation is a

blend between a warped version of the previous image and a number of background images.

Relies on graphics hardware

IBFV Method

image k distort render blend

k = k + 1

Note Distortion Phase: There is nothing to stop the image from being advected outside of the

geometrical boundary.

Definition: CFD

Computational Fluid Dynamics Branch of Fluid Mechanics Relies on Numerical Methods &

Algorithms

More CFD

How does one treat a continuous fluid in a discretized fashion on a computer? Widely used: Discretize the spatial

domain into small cells that form a grid or mesh

Apply suitable algorithm to solve the equations of motion.

www.cfd-online.com

Definition: Advection

Advection is transport of a conserved scalar quantity in a vector field.

A good example is the transport of pollutants or silt in a river: the motion of the water carries these impurities downstream.

Different Advections

Velocity Vorticity Vorticity mapped to helicity

More information here:http://www.vrvis.at/scivis/laramee/isa-streamsurface/

A hybrid stream surface-texture advection visualization showing tumble motion inside a gas engine cylinder.

Texture is advected according to the velocity field and color is mapped to velocity magnitude.

The same stream surface geometry.

Texture is advected according to the vorticity field and color is mapped to vorticity magnitude. The relationship to the velocity field can be explored in a novel fashion.

The same stream surface geometry.

Texture is advected according to the vorticity field and color is mapped to helicity. Mapping color to helicity indicates candidate vortex core regions.

Traditional Visualization Methods

Maps one or more 2D textures to a 3D geometrical surface

Textured geometry rendered to an image space

ISBV Algorithm

Project surface geometry to image space

Apply texturing Texture properties are advected in

image space

ISBV Method (1)

Associate the 3D flow data with polygons at boundary surface

Project the surface and vector field onto the image plane

Identify geometric discontinuities Advect texture properties according to

the vector field in image space

ISBV Method (2)

Inject and blend noise Apply additional blending along the

geometric discontinuities previously identified

Overlay all optional visualization cues such as showing a semi-transparent representation of the surface with shading

Flow DiagramVector FieldProjection

Edge Detection

ComputeAdvection Mesh

Edge Blending

Noise Blending

Image OverlayApplication

Image Advection

DynamicCasek = k+1

StaticCase

k = k+1

k = time as a frame #

Vector Edge Projection

Project vector field to the image plane Velocity vectors stored at the polygon

vertices Encode velocity vectors as color values

at the mesh vertices

Color & Velocity Component

Color assignment done as a scaling operation

Each color component assigned velocity

h r =v x−vminx

vmax x−vminx

hg =v y−vmin y

ymax y−vmin y

hb = v z−vminz

vmax z−vminz

hrgbv xvz

Why Use Velocity Image Fields?

Advection computation, noise blending simpler in image space

Vector field and polygon mesh decoupled

Hardware-accelerated occlusion culling Supported on graphics hardware

Velocity Vectors Decoded vectors used to compute

advection mesh, then projected upon the image plane

v x = hr ⋅ vmax x−vminx vminx

v y = hg ⋅ vmax y−vminy vmin y

vz = hb ⋅ vmax z−vminz vmin z

Timing of Projection of Vectors

Project vectors to image plane after velocity image construction Don't have to project all vectors Use original 3D vectors for the velocity

mask

Example Velocity Image Field

Edge Detection

Edge detection solves the problem of artificial flow continuity because of artifacts from 3D to 2D image space projection

Selectively detects only edges affecting flow texture properties

Problem with Sharp Edges

Geometric Edge Boundaries

Edge Blending

During this phase of the algorithm Introduce discontinuities in the texture

aligned with discontinuities from the surface

Essentially, ensure that edges are accounted for visually

Geometric Edge Detection

Disabled Enabled

Compute Advection Mesh

Distort regular, rectilinear mesh according to velocity vectors stored at mesh grid intersections

p k −1 = p k− vp p k−1 ; t t

p is a path line, k is a frame

Above ensures that distortion does not extend beyond geometric boundaries.

Image Advection & Texture Clipping

Coarse ResolutionAdvection Mesh, With Artifacts

Texture Clipping applied

Noise Blending

Use IBVF method for noise injection and blending

F p ; k = i=0k −1 1− iG P k −1 ; k− 1

Blending

SampleNoiseImage

SampleBlendedImage

No Edge Blending

With Edge

Blending

Image Overlay Application

Optional step Overlay enhances visualization with

colorization, shading, etc.

OverlayApplied

Compositeof All

Vector Projection

The projection of the vectors to the image plane is done after velocity image construction for 2 reasons: not all of the vectors have to be

projected, thus saving computation time can use the original 3D vectors for the

velocity mask

Performance

Data Set

Ring 10K128 x 128 18 (5)256 x 256 9 (3)512 x 512 3 (1)

Intake Manifold 48K128 x 128 22 (2)256 x 256 14 (2)512 x 512 6 (1)

79K128 x 128 17 (2)256 x 256 10 (2)512 x 512 4 (1)

Intake Port 221K128 x 128 17 (0.5)256 x 256 7 (0.5)512 x 512 2 (0.3)

# of Polygons

Advection Mesh Resolution

Frames Per Sec

Combustion Chamber

Performance Discussed

Authors looking for speedup; specifically, increased frame rates up to 20 fps

Performance tied to image resolution & polygon count (unsteady state flow)

Don't have any good comparative figures

79K polygons

dynamic geometry

dynamic topology

time-lapsed pics

221K Polygonal Intake Port

Intake Port Mesh Close-Up