Andrea Brambilla 1 Øyvind Andreassen 2,3 Helwig Hauser 1

39
Andrea Brambilla 1 Øyvind Andreassen 2,3 Helwig Hauser 1 Integrated Multi- aspect Visualization of 3D Fluid Flows 1 University of Bergen, Norway 2 Norwegian Defence Research Establishment, Norway 3 University Graduate Center at Kjeller, Norway

description

Integrated Multi-aspect Visualization of 3D Fluid Flows. Andrea Brambilla 1 Øyvind Andreassen 2,3 Helwig Hauser 1. 1 University of Bergen, Norway 2 Norwegian Defence Research Establishment, Norway 3 University Graduate Center at Kjeller, Norway. CFD Simulations. Brambilla et al. - PowerPoint PPT Presentation

Transcript of Andrea Brambilla 1 Øyvind Andreassen 2,3 Helwig Hauser 1

Page 1: Andrea Brambilla 1 Øyvind Andreassen 2,3 Helwig Hauser 1

Andrea Brambilla1

Øyvind Andreassen2,3

Helwig Hauser1

Integrated Multi-aspect Visualization of 3D Fluid Flows

1 University of Bergen, Norway2 Norwegian Defence Research Establishment, Norway3 University Graduate Center at Kjeller, Norway

Page 2: Andrea Brambilla 1 Øyvind Andreassen 2,3 Helwig Hauser 1

CFD Simulations

Brambilla et al. 2 / 27

Page 3: Andrea Brambilla 1 Øyvind Andreassen 2,3 Helwig Hauser 1

Velocity

Brambilla et al. 3 / 27

Page 4: Andrea Brambilla 1 Øyvind Andreassen 2,3 Helwig Hauser 1

Flow aspects

Brambilla et al. 4 / 27

𝑺=12 (𝛻𝒖+(𝛻𝒖)𝑇 )

𝒖 (𝒙 ,𝑡 )

𝝎=𝛻×𝒖

Velocity (motion)

Rate of strain (deformation)

Vorticity (rotation)

Page 5: Andrea Brambilla 1 Øyvind Andreassen 2,3 Helwig Hauser 1

Related work

Brambilla et al. 5 / 27

De Leew and van Wick ‘93

Bürger et al. ‘08

Kirby et al. ‘99

Page 6: Andrea Brambilla 1 Øyvind Andreassen 2,3 Helwig Hauser 1

Integrated Multi-aspect Vis

Brambilla et al. 6 / 27

Page 7: Andrea Brambilla 1 Øyvind Andreassen 2,3 Helwig Hauser 1

Requirements

Brambilla et al. 7 / 27

Visual representationConvey local informationHandle vector and tensor data

Manage visibility issuesFocus + Context visualizationExploit data coherency

GlyphColor -> magnitudeGeometry -> direction

Velocity magnitude

Vorticity magnitude

Rate of Strain magnitude

min maxmin maxmin max

Page 8: Andrea Brambilla 1 Øyvind Andreassen 2,3 Helwig Hauser 1

Multiple Focus + Context

Brambilla et al. 8 / 27

Different flow aspects can be more or less relevant

Swirling motion in a constant laminar flow?

The relevance of an attribute can vary over the domainMultiple relevance measures

Page 9: Andrea Brambilla 1 Øyvind Andreassen 2,3 Helwig Hauser 1

Relevance measures

Brambilla et al. 9 / 27

For each attribute aDefine a set of potential locations Pa Define relevancea: Pa

-> [0, 1]

uxmin max min max

1

0

rele

vanc

e

uy

0

1

rele

vanc

e

Relevance measures are user defined

Page 10: Andrea Brambilla 1 Øyvind Andreassen 2,3 Helwig Hauser 1

Relevance measures

Brambilla et al. 10 / 27

For each attribute aDefine a set of potential locations Pa Define relevancea: Pa

-> [0, 1]

uxmin max min max

1

0

rele

vanc

e

uy

0

1

rele

vanc

e

Relevance measures are user definedFlow feature detectors can capture physical aspects

Hunt’s Q / λ2 / Haimes and Kenwright

1

0

rele

van

ce

λ2min max

1

0

rele

van

ce

Qmin max

Page 11: Andrea Brambilla 1 Øyvind Andreassen 2,3 Helwig Hauser 1

Coherency and Visual Redundancy

Brambilla et al. 11 / 27

Information can be replicated over many samplesVisualize that information only once!

Page 12: Andrea Brambilla 1 Øyvind Andreassen 2,3 Helwig Hauser 1

Coherency measures

Brambilla et al. 12 / 27

A coherency measure encodes the degree of redundancy of a set of data samplesFor each attribute a, coherencya: P(Pa) -> R+

Specified by the user4 measures implemented in our systemMore measures can be easily addedSimilar overall behaviour, but small differences

test dataset 2nd moment entropy c_diffv c_dotv

Page 13: Andrea Brambilla 1 Øyvind Andreassen 2,3 Helwig Hauser 1

for each attribute a .. γa = coherency threshold .. build(Pa) .. sort(Pa, relevancea) .. for p in Pa

.. .. Ap = sphere around p .. .. while coherencya(Ap) < γa .. .. .. increase radius of Ap .. .. place a glyph in p .. .. Pa = Pa - Ap

Visualization strategy

Brambilla et al. 13 / 27

Glyph placement algorithm:

Page 14: Andrea Brambilla 1 Øyvind Andreassen 2,3 Helwig Hauser 1

for each attribute a .. γa = coherency threshold .. build(Pa) .. sort(Pa, relevancea) .. for p in Pa

.. .. Ap = sphere around p .. .. while coherencya(Ap) < γa .. .. .. increase radius of Ap .. .. place a glyph in p .. .. Pa = Pa - Ap

Visualization strategy

Brambilla et al. 14 / 27

Glyph placement algorithm:

Pa

Page 15: Andrea Brambilla 1 Øyvind Andreassen 2,3 Helwig Hauser 1

for each attribute a .. γa = coherency threshold .. build(Pa) .. sort(Pa, relevancea) .. for p in Pa

.. .. Ap = sphere around p .. .. while coherencya(Ap) < γa .. .. .. increase radius of Ap .. .. place a glyph in p .. .. Pa = Pa - Ap

Visualization strategy

Brambilla et al. 15 / 27

Glyph placement algorithm:

Pa

Page 16: Andrea Brambilla 1 Øyvind Andreassen 2,3 Helwig Hauser 1

for each attribute a .. γa = coherency threshold .. build(Pa) .. sort(Pa, relevancea) .. for p in Pa

.. .. Ap = sphere around p .. .. while coherencya(Ap) < γa .. .. .. increase radius of Ap .. .. place a glyph in p .. .. Pa = Pa - Ap

Visualization strategy

Brambilla et al. 16 / 27

Glyph placement algorithm:

Pa

Ap

Page 17: Andrea Brambilla 1 Øyvind Andreassen 2,3 Helwig Hauser 1

for each attribute a .. γa = coherency threshold .. build(Pa) .. sort(Pa, relevancea) .. for p in Pa

.. .. Ap = sphere around p .. .. while coherencya(Ap) < γa .. .. .. increase radius of Ap .. .. place a glyph in p .. .. Pa = Pa - Ap

Visualization strategy

Brambilla et al. 17 / 27

Glyph placement algorithm:

Pa

Ap

Page 18: Andrea Brambilla 1 Øyvind Andreassen 2,3 Helwig Hauser 1

for each attribute a .. γa = coherency threshold .. build(Pa) .. sort(Pa, relevancea) .. for p in Pa

.. .. Ap = sphere around p .. .. while coherencya(Ap) < γa .. .. .. increase radius of Ap .. .. place a glyph in p .. .. Pa = Pa - Ap

Visualization strategy

Brambilla et al. 18 / 27

Glyph placement algorithm:

Pa

Ap

Page 19: Andrea Brambilla 1 Øyvind Andreassen 2,3 Helwig Hauser 1

for each attribute a .. γa = coherency threshold .. build(Pa) .. sort(Pa, relevancea) .. for p in Pa

.. .. Ap = sphere around p .. .. while coherencya(Ap) < γa .. .. .. increase radius of Ap .. .. place a glyph in p .. .. Pa = Pa - Ap

Visualization strategy

Brambilla et al. 19 / 27

Glyph placement algorithm:

Pa

Ap

Page 20: Andrea Brambilla 1 Øyvind Andreassen 2,3 Helwig Hauser 1

for each attribute a .. γa = coherency threshold .. build(Pa) .. sort(Pa, relevancea) .. for p in Pa

.. .. Ap = sphere around p .. .. while coherencya(Ap) < γa .. .. .. increase radius of Ap .. .. place a glyph in p .. .. Pa = Pa - Ap

Visualization strategy

Brambilla et al. 20 / 27

Glyph placement algorithm:

Pa

ApThe radius of Ap is mapped to size The relevance of p is mapped to opacity

Page 21: Andrea Brambilla 1 Øyvind Andreassen 2,3 Helwig Hauser 1

for each attribute a .. γa = coherency threshold .. build(Pa) .. sort(Pa, relevancea) .. for p in Pa

.. .. Ap = sphere around p .. .. while coherencya(Ap) < γa .. .. .. increase radius of Ap .. .. place a glyph in p .. .. Pa = Pa - Ap

Visualization strategy

Brambilla et al. 21 / 27

Glyph placement algorithm:

Pa

The radius of Ap is mapped to size The relevance of p is mapped to opacity

Page 22: Andrea Brambilla 1 Øyvind Andreassen 2,3 Helwig Hauser 1

Visualization strategy

Brambilla et al. 22 / 27

Glyph placement algorithm:for each attribute a .. γa = coherency threshold .. build(Pa) .. sort(Pa, relevancea) .. for p in Pa

.. .. Ap = sphere around p .. .. while coherencya(Ap) < γa .. .. .. increase radius of Ap .. .. place a glyph in p .. .. Pa = Pa - Ap

Pa

Repeat until all the points have been processedRepeat for every attribute of interest

Page 23: Andrea Brambilla 1 Øyvind Andreassen 2,3 Helwig Hauser 1

Integrated Multi-aspect Vis

Brambilla et al. 23 / 27

Page 24: Andrea Brambilla 1 Øyvind Andreassen 2,3 Helwig Hauser 1

Integrated Multi-aspect Vis

Brambilla et al. 24 / 27

Page 25: Andrea Brambilla 1 Øyvind Andreassen 2,3 Helwig Hauser 1

Integrated Multi-aspect Vis

Brambilla et al. 25 / 27

Page 26: Andrea Brambilla 1 Øyvind Andreassen 2,3 Helwig Hauser 1

Parameter settings

Brambilla et al. 26 / 27

Relevance corresponds to user’s interestCoherency threshold

Initially set to 10% of maximal coherency valueCan be interactively adjusted

high thresh. mid thresh. low thresh.

Page 27: Andrea Brambilla 1 Øyvind Andreassen 2,3 Helwig Hauser 1

Final remarks

Brambilla et al. 27 / 27

Our visualization strategy Presents multiple flow aspects simultaneouslyHandles visibility issues through smart placementCan be easily extended

Future work Streamlets as a new representationCoherency measure based on tensor invariantsAdapt the strategy to integral curvesExtension to time-dependent datasets

Page 28: Andrea Brambilla 1 Øyvind Andreassen 2,3 Helwig Hauser 1

Thanks for your attention!

Brambilla et al.

Page 29: Andrea Brambilla 1 Øyvind Andreassen 2,3 Helwig Hauser 1

Square Cylinder

Brambilla et al.

Page 30: Andrea Brambilla 1 Øyvind Andreassen 2,3 Helwig Hauser 1

Flow in a Box

Brambilla et al.

Page 31: Andrea Brambilla 1 Øyvind Andreassen 2,3 Helwig Hauser 1

Flow in a Box (pruned)

Brambilla et al.

Page 32: Andrea Brambilla 1 Øyvind Andreassen 2,3 Helwig Hauser 1

Andrea Brambilla1

Øyvind Andreassen2,3

Helwig Hauser1

Integrated Multi-aspect Visualization of 3D Fluid Flows

1 University of Bergen, Norway2 Norwegian Defence Research Establishment, Norway3 University Graduate Center at Kjeller, Norway

Page 33: Andrea Brambilla 1 Øyvind Andreassen 2,3 Helwig Hauser 1

Exhaust Manifold

Brambilla et al.

Page 34: Andrea Brambilla 1 Øyvind Andreassen 2,3 Helwig Hauser 1

Exhaust Manifold (pruned)

Brambilla et al.

Page 35: Andrea Brambilla 1 Øyvind Andreassen 2,3 Helwig Hauser 1

Thanks for your attention!

Brambilla et al.

Page 36: Andrea Brambilla 1 Øyvind Andreassen 2,3 Helwig Hauser 1

Attributes of interest

Brambilla et al.

Velocity vector field

Rate of strain tensor

Vorticity tensor

Vorticity vector

𝐷𝜔 𝑖

𝐷𝑡 =𝑆 𝑖𝑗𝜔 𝑗+ν𝜕2𝜔𝑖

𝜕 𝑥𝑘𝜕 𝑥𝑘

𝑆 𝑖𝑗=12 ( 𝜕𝑢𝑖

𝜕 𝑥 𝑗+𝜕𝑢 𝑗

𝜕 𝑥 𝑖)

𝑢𝑖 (𝑥 𝑗 , 𝑡 )

Ω𝑖𝑗=12 ( 𝜕𝑢𝑖

𝜕𝑥 𝑗−𝜕𝑢 𝑗

𝜕 𝑥𝑖 )𝜔 𝑖𝑗=−𝜀𝑖𝑗𝑘Ω 𝑗𝑘

Vorticity transport equation

Page 37: Andrea Brambilla 1 Øyvind Andreassen 2,3 Helwig Hauser 1

Performance

Brambilla et al.

PerformanceRelevance is pre-cumputedCoherency computation depends on

Dataset size and number of relevant pointsActual data coherencyExhaust Manifold (133x81x31) -> 0.128 sec (2.8GHz CPU)

Bottleneck is the geometry generationExhaust Manifold -> 0.470 sec / 1.037 sec (depth sort)But GPU implementation feasible!

Page 38: Andrea Brambilla 1 Øyvind Andreassen 2,3 Helwig Hauser 1

Streamline-based Pruning

Brambilla et al.

Page 39: Andrea Brambilla 1 Øyvind Andreassen 2,3 Helwig Hauser 1

Streamline-based Pruning

Brambilla et al. 39 / 27