Andrea Brambilla 1 Øyvind Andreassen 2,3 Helwig Hauser 1
description
Transcript of 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
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 maxmin maxmin 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]
uxmin max min max
1
0
rele
vanc
e
uy
0
1
rele
vanc
e
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]
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
Coherency and Visual Redundancy
Brambilla et al. 11 / 27
Information can be replicated over many samplesVisualize that information only once!
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
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
ApThe 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 processedRepeat 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 interestCoherency threshold
Initially 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