[vtkusers] StreamTracer usage

tom fogal tfogal at apollo.sr.unh.edu
Mon Aug 2 17:05:40 EDT 2004


I'm trying to switch to using vtkStreamTracer instead of vtkStreamLine,
as from what I hear its the 'right' thing to do.

I've changed my 'SetIntegrationStepLength' calls with calls to
'SetMaximumPropagationStep'. I don't set a minimum propagation step at
all, because I don't care much if it chooses a smaller step length. I'm
assuming that smaller steps also means more of them, and more accurate
results. I also do a 'SetMaximumPropagation(99999999.9999)', because I
found that I just had a little blip on my screen otherwise. It would be
cool if there was a 'UntilItsDone' setting for the maximum propagation.

I've been using RungeKutta4 for both methods of generating streamlines.
I take the output of the StreamTracer object and give it to a
TubeFilter which I setup to vary its radius by vector. The input is a
rectilinear grid (the output of vtkInterpolateDataSetAttributes, to be
exact).

Now that setup is done, on to my questions =). I noticed that my
'Tube's seem a lot smaller with StreamTracer. Mostly though, they don't
appear to vary their radii at all. I'm not sure if it should exactly,
but it seems to me that either StreamLine or StreamTracer must be
'wrong'...

Secondly I end up with two lines somehow. The program is animating
magnetic field lines and it starts out with a small line that looks
like a backwards question mark. About 20% into the animation I start
seeing the half-oval shape that I should be seeing, but I still see the
question mark. Sometimes the "correct" field line disappears and I'm
left with the question mark for a frame. Occasionally I see 3
streamlines -- the question mark, the half-oval i described above that
is mostly confined to an XY plane, and finally a third half-oval that
lies mostly in an XZ plane.

As an aside, vtkStreamTracer is MUCH faster than vtkStreamLine, at
least with the datasets I've tried so far. Very nice.

Any ideas on the above quirks? Do I need to setup vtkStreamTracer more
completely? Maybe I should set high maximums for all types of units
(TIME, LENGTH, CELL_LENGTH...)? Is there a better guide for using this
or even (salivates) a StreamLine -> StreamTracer list of 'gotchas'?

Thanks for any help!

-tom



More information about the vtkusers mailing list