This module provides an implementation of the "Lagrangian-Eulerian Advection for Unsteady Flow Visualization" algorithm to visualize 2D unsteady vector fields.
Name | Type | Description |
|
||
Vector_Field | Mesh_Struct+Node_Data | Field with 2D vector node data. |
|
Name | Type | Description | Name |
|
|||
nx, ny | int | output texture resolution | Fields |
integrationStep | int | integration step size | Slider |
blendCoef | float |
temporal blending | Slider |
licOn | int | enables LIC computation | Toggle Button |
normalizationOn | int | LIC vector field normalization | Toggle Button |
intensityCorrectionOn | int | LIC intensity correction | Toggle Button |
kernelLength | int | LIC kernel length | Slider |
maskOn | int | enable mask | Toggle Button |
alphaOn | int | transparency | Toggle Button |
velocityMaskVersion | int | contrast |
Slider |
nInitialSteps | int | number of initial steps | Field |
nStepsAtOnce | int | number of steps at once | Field |
trigger | int | automatic update (1); continuous run (2) | Toggle Button |
|
Name | Type | Description |
|
||
lea_img | IPfld | the computed LEA texture |
obj | DefaultObject | renderable version of lea_img |
textured_obj | DefaultObject | textured input field |
|
This module provides an implementation of the "Lagrangian-Eulerian Advection for Unsteady Flow Visualization" algorithm to visualize 2D unsteady vector fields.
Vector fields are represented as grayscale textures, spatially correlated along the flow. This technique produces still images of a steady vector field, but is mainly intended to depict the dynamic behavior of unsteady vector fields. In this case, a series of subsequent textures will display the path of thousands of particles in a comprehensive and intuitive manner. These particles follow pathlines in time while any single texture shows the instantaneous structure of the flow.
Vector_Field
The vector field to be visualized. Must be a 2D field with either two scalar components or one component with veclen = 2. When vector field values change, the computation of a new texture is triggered. This is the way to produce unsteady flow animations. Note that subsequent vector fields must change smoothly in order to produce smooth animations. It may be useful feed this module with interpolated intermediate vector fields for optimal results.
nx, ny
These parameters set the resulting output texture
resolution. The image dimensions are forced to respect the input vector
field aspect ratio.
integrationStep
Set the integration step size for the advector calculation. This integration step size specifies the maximum distance the texel property will be advected between two computations. The size, in texels, is relative to the output texture resolution. If you double nx and ny, do not forget to double the integrationStep to produce higher resolution animation of the same phenomenon.
blendCoef
Specifies the temporal blending coefficient. This coefficient controls a long time exposure photography effect enabling spatial correlation in the resulting image. A typical value for blendCoef is 0.9. If blendCoef = 0, there is no blending and the output texture shows the instantaneous distribution of particle properties.
licOn
If set enables LIC filter computation. This filter enhances the resulting texture by fading out the high frequencies along the flow.
normalizationOn
LIC vector field normalization.
intensityCorrectionOn
The LIC filters correct the resulting texture image luminosity based
on the local velocity magnitude.
kernelLength
LIC filter kernel length. A typical range for this parameter is between
integrationStep and 2*integrationStep
.
maskOn
If set applies a mask to the resulting image to remove noise from areas
with low velocity.
alphaOn
The image transparency is set depending on the local velocity magnitude.
velocityMaskVersion
This parameter sets the mask contrast value. On the user interface this
slider is called Contrast.
nInitialSteps
Displays the first image after nInitialSteps advection steps.
This is necessary to have a well correlated first image. A good value
for nInitialSteps is 15 to 30.
nStepsAtOnce
Number of computation steps between generated images. Allows to advect
property over a longer distance without changing the integrationStep
.
trigger
Sets the automatic computation behavior:
On the user interface this parameter is computed from the setting of
the two toggle buttons Automatic Update and run.
lea_img
The computed texture image.
obj
Renderable version of lea_img.
textured_obj
The computed LEA image textured on a quadrilateral with the same aspect
ratio of the input vector field.
The LEA_Example application display LEA Flow Textures on a slice of the wind.fld demo dataset. Push the run toggle to see the flow of the vector field.
iac_proj/lea/lea.v
Creates the IAC_PROJ.LEA library.
iac_proj/lea/lea_lib.v
Creates the LEALib library that integrates the build of the lea library (liblea.a) into the module build procedure.
iac_proj/lea/lea_mods.v
Creates the LEAMods library containing the low-level module LEACore and the LEAParams parameter block.
iac_proj/lea/lea_macs.v
Creates the LEAMacs library containing the high-level functional macro LEAFunc, user interface macro LEAUI and the user macro LEA_Advector as well as the support macros LEAUIParams, AdvectionUI, LICUI, VMaskUI and ComputationUI.
iac_proj/lea/lea_apps.v
Creates the LEAApps library containing the example application LEA_Example.
iac_proj/lea/lea_lib-1.0
The computation routines for the LEA algorithm. This directory is included as is received from the author. Minor changes have been applied (see ChangeLog).
As the LEA Advector module uses an external library you might need to change the avsenv file. If there are problems compiling change the last line of the avsenv file to include the absolute path of the directory instead of a '.'
change the avsenv as follows:
original:
# WARNING: this file is program generated. # Remove these two lines to protect the file from overwrites. XP_PATH=. $XP_ROOT
to
# WARNING: this file is program generated. # Remove these two lines to protect the file from overwrites. XP_PATH=<absolute_path> $XP_ROOT
i.e.:
# WARNING: this file is program generated. # Remove these two lines to protect the file from overwrites. XP_PATH=C:\iac $XP_ROOT
Bruno Jobard CSCS, Swiss Center for Scientific Computing
Mario Valle CSCS, Swiss Center for Scientific Computing Tobias Schiebeck Manchester Visualization Centre
International AVS Centre Manchester Visualization Centre Kilburn Building University of Manchester Oxford Road Manchester United Kingdom M13 9PL Bruno Jobard bjobard@univ-pau.fr LIUPPA, Université de Pau, BP 1155, 64013 PAU Cedex, France
The LEA algorithm is described in the paper "Lagrangian-Eulerian Advection for Unsteady Flow Visualization" written by Bruno Jobard, Gordon Erlebacher and M.Y. Hussaini. Other related papers are:
Paper and videos can be downloaded also from:
http://www.cscs.ch/~bjobard/Research/Publications/vis2001/lea_paper.htm