Vortex Visualization project

Vortex Visualization project:

Full PDF: http://sciviscontest.visweek.org/2011/contributions/UNCVortexVis_yc_jl_2/UNCVortexVis_yc_jl_4.pdf 

Goal: Given three data sets of fluid flow in a centrifugal pump** that vary across time, visualize where the vortices develop, and why.

**The data is courtesy of the Institute of Applied Mechanics, Clausthal University, Germany (Dipl. Wirtsch.-Ing. Andreas Lucius).

Streamlines in original data:

Vortex extraction:

Our vortex extraction method is based on streamlines**.  We seeded the streamlines from the blades of the pump. Imagine if we paint the blades of the pump (shown below) with wet paint, and pump in clear liquid with a slightly lower density than the paint density (hand-waving here).  The resulting paint pattern caused by the movement of the blades is similar to the streamline patterns that we generate.

** Scientists have since informed us that this method is not Galilean invariant (streamlines change based on the space and time reference frames), and therefore not useful for visualizing turbulence.

We separated each individual streamline into multiple segments based on the direction of rotation (clockwise vs counter-clockwise).

For each segment, we find the geometric mean position of all the points in that segment. Each point in the segment also has its own unit direction vector (starting from the “seed” of the streamline and ending at the last point in the segment).  We define the unit normal of each point as the cross-vector of each neighboring unit direction vector. This gives us the geometric mean direction.

We projected each segment onto a 2-D plane defined by its normal.  This normal is defined by the geometric mean position and the geometric mean direction.

Then we calculate the winding angle of each segment, i.e. the sum of the angles between the edges in the segment:

Image and method courtesy of Sadarjoen et al

Now that we have the geometric mean position, direction, and winding angle of each segment, we group each segment into a “vortex” based on the : position, direction, winding angle, and bounding box of the segments.

We used these criteria because the data sets contain many vortices that may be really close to each other, but may have different winding angles (how tightly coiled a vortex is) or different rotation direction. Some vortices may have the same center but vary a lot in size.

Here are some of the images captured during our exploration:

Second image color-coded by Winding Angle. The Winding Angle does a better job of separating vortices within a local region than the x-y-z size of the segments.

Second image color-coded by Winding Angle. The Winding Angle still does a better job of separating vortices  but the large vortex is really complicated. Vortex Center aggregation fails for the large vortex.
(structurally, it seems like 2 vortices sharing a same center with different extents).

The Red Vortex Center in the Right image has high Winding Angle. See next section.

Vortex with high Winding Angle but almost invisible because it is too small

Top:  Vortex Core shown    Bottom: The tiny red dot is actually a tightly wound streamline.


To match vortices from one time step to the next time step, we used the same criteria as the vortex extraction method above (position, direction, winding angle, size).

In both cases, there exists more sophisticated methods for predicting the evolution of vortices and classifying the different features. See the references in our submission.


About Alexis Chan

This entry was posted in Uncategorized. Bookmark the permalink.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s