[Paraview] ParticleTracer particle lifetime

Berk Geveci berk.geveci at kitware.com
Tue Jan 14 16:19:37 EST 2014


Hi Ryan,

(4) and (5) won't work out of box and need some thinking. (3) can be
implemented by applying Threshold after the particle tracer.

I am not aware of any particular issues - other than general slowness
but not as bad as you describe - with the particle tracer. Do you have
some data that I can experiment with?

Note that if you jump around in time, the particle filter can be very
slow specially with time dependent data. It has to regenerate the
particle paths for all of the times in between if you do that, which
means loading a lot of data from disk. It should be relatively fast
when animating forward in time.

-berk

On Tue, Jan 14, 2014 at 3:51 PM, Ryan Abernathey
<ryan.abernathey at gmail.com> wrote:
> Yes, that sounds very sensible!
>
> Of course, the difficult part (for me, a relative noob) is to actually
> implement those steps in terms of a Paraview pipeline. Or would you
> recommend creating a new custom filter?
>
> Unfortunately experimentation has been difficult because of the slowness /
> instability of the ParticleTracer filter. Even with a very modest number of
> particles (~10), I experience crippling delays when advancing timesteps.
> Perhaps pre-generating the trajectories is the answer.
>
> Thanks a lot for your suggestions.
> -Ryan
>
>
> On Tue, Jan 14, 2014 at 3:32 PM, Berk Geveci <berk.geveci at kitware.com>
> wrote:
>>
>> I got it. I think that the correct way of doing this would be:
>>
>> 1. Seed particles
>> 2. Integrate 1 time step
>> 3. Kill particles that are older that threshold
>> 4. Connect particles to generate streaklets
>> 5. If time step % n == 0, update seed source randomly
>> 6. Go to 1 if time step left
>>
>> Does this make sense?
>>
>> -berk
>>
>>
>> On Tue, Jan 14, 2014 at 3:17 PM, Ryan Abernathey
>> <ryan.abernathey at gmail.com> wrote:
>> > Berk,
>> > That might be the correct interpretation for the first video, which I
>> > think
>> > uses a steady (i.e. not time-dependent) flow field. For steady flows,
>> > streamlines, streaklines, and trajectories are all identical.
>> > But if you look at the second video, I think you can see that they are
>> > plotting Lagrangian trajectories. My velocity data is time-dependent, so
>> > I
>> > think I need the trajectories.
>> > -Ryan
>> >
>> >
>> > On Tue, Jan 14, 2014 at 2:47 PM, Berk Geveci <berk.geveci at kitware.com>
>> > wrote:
>> >>
>> >> Hi Ryan,
>> >>
>> >> When I look at these  movies carefully, it looks like they are using
>> >> streaklines that are seeded for a short burst. It looks like they pick
>> >> a number of seeds each time step and start a streakline from each and
>> >> keep them active for a few time steps. Then those streaklines seem to
>> >> be killed eventually. It also appears as if they are playing with
>> >> transparency depending on the age of the streakline. Am I right?
>> >>
>> >> -berk
>> >>
>> >> On Tue, Jan 14, 2014 at 2:20 PM, Ryan Abernathey
>> >> <ryan.abernathey at gmail.com> wrote:
>> >> > Hello,
>> >> >
>> >> > I am continuing my ongoing quest to do something like this
>> >> >
>> >> >
>> >> > http://earth.nullschool.net/#current/wind/isobaric/1000hPa/orthographic=267.73,5.54,350
>> >> > or this
>> >> > http://www.youtube.com/watch?v=xusdWPuWAoU
>> >> > in Paraview using ***time dependent velocity vectors***.
>> >> >
>> >> > While the LIC plugin is very cool, it does something different. I
>> >> > followed
>> >> > the previous suggestion and tried to use the streamline filter:
>> >> > http://paraview.org/Wiki/ParaView/Custom_Filters
>> >> > Unfortunately that is not quite right either.
>> >> >
>> >> > The problem with the streamline filter is that it treats each
>> >> > timestep
>> >> > as
>> >> > completely independent and regenerates the streamlines whenever the
>> >> > velocity
>> >> > field changes. (This is the correct behavior: streamlines are defined
>> >> > by
>> >> > the
>> >> > *instantaneous* flow.)
>> >> >
>> >> > What we see in those videos are truly particle trajectories. In
>> >> > particular:
>> >> > - particles are seeded randomly (in space and time)
>> >> > - they leave a decaying trail (sometimes called a streaklet)
>> >> > - the particles disappear after a short lifetime
>> >> > This is the combination of ingredients I need to reproduce in
>> >> > paraview.
>> >> >
>> >> > The best candidate is clearly the ParticleTracer filter. However, I
>> >> > have
>> >> > hit
>> >> > a serious problem: it doesn't appear that this filter is able to make
>> >> > the
>> >> > particles "die" after a temporal lifetime. Compare the v 3.3
>> >> > documentation
>> >> > http://paraview.org/OnlineHelpCurrent/ParticleTracer.html
>> >> > with the current documentation
>> >> >
>> >> >
>> >> > http://paraview.org/Wiki/ParaView/Users_Guide/List_of_filters#ParticleTracer
>> >> > In the old version, there was an option called "Termination Time"
>> >> > that
>> >> > is
>> >> > missing from the new version.
>> >> >
>> >> > Without such an option, the particles will never disappear, the
>> >> > domain
>> >> > will
>> >> > get more and more crowded, and the computational expense will grow
>> >> > with
>> >> > time.
>> >> >
>> >> > Let me know if you have any suggestions or if you know how to
>> >> > re-enable
>> >> > this
>> >> > Termination Time option.
>> >> >
>> >> > Thanks a lot,
>> >> > Ryan
>> >> >
>> >> > _______________________________________________
>> >> > Powered by www.kitware.com
>> >> >
>> >> > Visit other Kitware open-source projects at
>> >> > http://www.kitware.com/opensource/opensource.html
>> >> >
>> >> > Please keep messages on-topic and check the ParaView Wiki at:
>> >> > http://paraview.org/Wiki/ParaView
>> >> >
>> >> > Follow this link to subscribe/unsubscribe:
>> >> > http://www.paraview.org/mailman/listinfo/paraview
>> >> >
>> >
>> >
>
>


More information about the ParaView mailing list