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

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

Embed Size (px)

Citation preview

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

CFD Simulations

Brambilla et al. 2 / 27

Velocity

Brambilla et al. 3 / 27

Flow aspects

Brambilla et al. 4 / 27

𝑺=12

(𝛻𝒖+(𝛻𝒖)𝑇 )

𝒖 (𝒙 ,𝑡 )

𝝎=𝛻×𝒖

Velocity (motion)

Rate of strain (deformation)

Vorticity (rotation)

Related work

Brambilla et al. 5 / 27

De Leew and van Wick ‘93

Bürger et al. ‘08

Kirby et al. ‘99

Integrated Multi-aspect Vis

Brambilla et al. 6 / 27

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 max

min max

min max

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

Relevance measures

Brambilla et al. 9 / 27

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

-> [0, 1]

ux

min max min max

1

0

rele

vanc

e

uy

0

1

rele

van

ce

Relevance measures are user defined

Relevance measures

Brambilla et al. 10 / 27

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

-> [0, 1]

ux

min max min max

1

0

rele

vanc

e

uy

0

1

rele

van

ce

Relevance measures are user defined

Flow 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

Coherency and Visual Redundancy

Brambilla et al. 11 / 27

Information can be replicated over many samples

Visualize that information only once!

Coherency measures

Brambilla et al. 12 / 27

A coherency measure encodes the degree of redundancy of a set of data samples

For 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

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:

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

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

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

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

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

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

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

Ap

The radius of Ap is mapped to size

The relevance of p is mapped to opacity

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

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 processed

Repeat for every attribute of interest

Integrated Multi-aspect Vis

Brambilla et al. 23 / 27

Integrated Multi-aspect Vis

Brambilla et al. 24 / 27

Integrated Multi-aspect Vis

Brambilla et al. 25 / 27

Parameter settings

Brambilla et al. 26 / 27

Relevance corresponds to user’s interest

Coherency thresholdInitially set to 10% of maximal coherency valueCan be interactively adjusted

high thresh. mid thresh. low thresh.

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

Thanks for your attention!

Brambilla et al.

Square Cylinder

Brambilla et al.

Flow in a Box

Brambilla et al.

Flow in a Box (pruned)

Brambilla et al.

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

Exhaust Manifold

Brambilla et al.

Exhaust Manifold (pruned)

Brambilla et al.

Thanks for your attention!

Brambilla et al.

Attributes of interest

Brambilla et al.

Velocity vector field

Rate of strain tensor

Vorticity tensor

Vorticity vector

𝐷𝜔 𝑖

𝐷𝑡=𝑆 𝑖𝑗𝜔 𝑗+ν

𝜕2𝜔𝑖

𝜕 𝑥𝑘𝜕 𝑥𝑘

𝑆 𝑖𝑗=12 ( 𝜕𝑢𝑖

𝜕 𝑥 𝑗

+𝜕𝑢 𝑗

𝜕 𝑥 𝑖)

𝑢𝑖 (𝑥 𝑗 , 𝑡 )

Ω𝑖𝑗=12 ( 𝜕𝑢𝑖

𝜕𝑥 𝑗

−𝜕𝑢 𝑗

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

Vorticity transport equation

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!

Streamline-based Pruning

Brambilla et al.

Streamline-based Pruning

Brambilla et al. 39 / 27