tailed_advector

Synopsis

generates AVS5 style advectors with dynamic tails

Input Port

in_field

Mesh + Node_Data

in_probe

mesh of initial particle positions

in_glyph

Grid describing geometry of particle glyph

ui_parent

user interface parent object

Parameters

Tracer Length

UIslider

length of generated tracer line

Tracer Style

UIradioBoxLabel

style of tracer to generate

N-segments

UIslider

accuracy of integration

Max Segments

UIslider

total number of integration steps

Order

UIslider

order of integration

Min Velocity

UIslider

minimum velocity value when integration stops

Direction

UIradioBoxLabel

forward/backward motion of particles

Mode

UIradioBoxLabel

render glyphs to represent data values

Glyph Normalize

UItogglemeone

normalizes glyph size

Glyph Scale

UIslider

scale factor for glyph

Start Time

UIslider

start of advection

End Time

UIslider

end of advection

Step

UIslider

integration step

Time Step Interval

Uislider

Time interval at which to release particles

Time

UIfieldTypein

current time value

Run

UItoggle

press to start/stop advection

Reset Time

UItoggle

reset time to Start Time

Cycle

UItoggle

on End Time, continue with Start Time

Output Port

time_step_number

int

out_fld

Mesh + Node_Data

out_stream

Mesh + Node_Data

out_tracer

Mesh + Node_Data

out_obj

output renderable object

stream_obj

output renderable object

tracer_obj

output renderable object

Description

tailed_advecter is an enhancement to the advector module which adds support for traced particles and time dependent data.

Input

in_field

The input is any mesh with Node_Data. The first component is used and must be a scalar or a two- or three-element velocity vector. You can use extract_component before this macro to get the component you want out of a multi-component field.

in_probe

Any mesh whose coordinates represent the sample points. Meshes that are not unstructured are accepted, but a local unstructured version is generated during execution.
To create this sampling mesh you could use the plane object in Geometries.FPlane or the slice macro.

in_glyph

A Grid describing a glyph to represent the particles. This is simply a mesh describing the geometry of the glyph. Any mesh can be used (for example, that of a teapot), but for convenience you can use the Geometries objects to generate arrows or solid arrows, and so on

ui_parent

A port to connect to a user interface object that contains the macro's widgets. By default, it is connected to the default user interface object in the application in which the macro is instanced. (This default connection is not drawn.)

Parameters

Tracer Length

UIslider. Specifies the maximum number of streamline nodes that should be included in the generated advector tracer. This parameter is ignored if a Tracer Style of ADD is specified.

Tracer Style

UIradioBoxLabel. Specifies the how the advector tracer should be generated. Currently there are three possible options. CAP (0): Generates a tracer that begins at the initial particle position and continues until either tracer_len steps have been completed or the current particle position has been reached. CYCLE (1): Generates a tracer that begins at the current particle position and continues until either tracer_len steps have been completed or the initial particle position has been reached. ADD (2): Generates a tracer that begins at the initial particle position and continues until the current particle position is reached.

N-segments

UIslider. An integer slider that sets the number of integration steps used within one grid "cell" to compute the streamline/particle path. The default is 2. The range is from 0 to 16.

Max Segments

UIslider. An integer slider that sets the total number of integration steps. When an individual particle exceeds this value, integration for it stops. The range is from 1 to 10000. The default is 256.

Order

UIslider. An integer slider that sets the order of integration. Higher orders are more accurate, but execute more slowly. The default is 2. The range is from 1 to 4.

Min Velocity

UIslider. A float slider. When a particle falls below this velocity, the integration process for that particle stops. The default is 0.00001. The range is from 0.0 to unbounded. You can use this to prevent wasted computation for particles barely moving, or even stationary (Min Velocity = 0).

Direction

UIradioBoxLabel. A radio box that controls whether particles are advected forward or backward from the starting sample points. The default is forward.

Mode

UIradioBoxLabel. A radio box that establishes how glyphs are rendered to represent the data values. (Glyphs are always colored by the magnitude of the data values in the component.) The choices are scalar, vector, or components:
scalar
Scale the glyph by the magnitude of the vector at that position.
vector (default)
Scale the glyph by the magnitude of the vector at that position. Also rotate the glyph in X, Y, (and Z) by the first, second, (and third) vector subcomponent values at that position. For example, a Cross3D in_probe would be rotated to reflect the vector values.
components
Scale the glyph in X, Y, (and Z) by the first, second, (and third) vector subcomponent values at that position. For example, a Cross3D in_probe's three lines would be individually scaled to match the vector values.

Glyph Normalize

UItoggle. If off, the sizes of the glyphs are proportional to the data component values at each node. If on, all glyphs are the same size. The default is off.

Glyph Scale

UIslider. A float slider to adjust the sizes of the glyphs. The default is 1.00. The range is 0.0 to 100.00.

Start Time

UIslider. A float. The time value along the original streamline continuum at which to start advection. (See DVadvect man page.) The default is 0.0.

End Time

UIslider. A float. The time value along the original streamline at which to halt advection of all particles. The default is 1.0.

Step

UIslider. A float. The value by which to increment the time along the original streamline continuum for each advection step. The default is 0.2.

Time Step Interval

The time interval at which to release another set of particles. The default is 0. If this parameter is 0, the module releases just one set of particles.

Time

UIfieldTypein. An output only widget that displays the current time in the count from Start Time to End Time.

Run

UItoggle. Starts or stops advection.

Reset Time

UItoggle. Reset Time to the value of Start Time.

Cycle

UItoggle. When End Time is reached, start the advection again at Start Time.

Output Port

time_step_number

Integer output that is incremented whenever the time specified by the time_step_interval parameter has passed.

out_fld

Output field containing the current particle positions. Each particle position is represented by a glyph geometry. The glyphs are orientated along the current velocity vector. They are scaled and coloured by the magnitude of the velocity vector.

out_stream

Output field containing the streamlines that were used to perform the advection. The field contains a Polyline mesh with the velocity vector stored as a node data component.

out_tracer

Output field containing the generated advector tracers. The field contains a Polyline mesh with the velocity vector stored as a node data component.

out_obj

This is a renderable version of the out_fld output field.

stream_obj

This is a renderable version of the out_stream output field.

tracer_obj

This is a renderable version of the out_tracer output field.

Example

Libraries.Examples.Visualization.TailedAdvect
v/dv_examp/t_advect1.v

Libraries.Examples.Visualization.TailedAdvectTime
v/dv_examp/t_advect2.v

File

v/modules.v

See also related modules

advector