[Paraview] ParticleTracer particle lifetime
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
Re: [Paraview] ParticleTracer particle lifetime
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 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 > ___ 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
Re: [Paraview] ParticleTracer particle lifetime
Hi Ryan, The following thread might be useful in trying to get pathlines/streaklines to work in paraview. http://paraview.markmail.org/search/?q=Dan%20Lipsa#query:Dan%20Lipsa+page:1+mid:lr6wjdwan2ixidlg+state:results Dan On Tue, Jan 14, 2014 at 2:20 PM, Ryan Abernathey 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 > > ___ 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
Re: [Paraview] ParticleTracer particle lifetime
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 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 > 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 > > > ___ 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
Re: [Paraview] ParticleTracer particle lifetime
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 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 > 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 >> 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 >> > > > ___ 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
Re: [Paraview] ParticleTracer particle lifetime
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 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 > 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 > > 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 > >> 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 > >> > > > > > > ___ 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 F
Re: [Paraview] ParticleTracer particle lifetime
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 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 > 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 >> 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 >> > 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 >> >> 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
Re: [Paraview] ParticleTracer particle lifetime
> > > >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 It used to work just fine jumping around in time - and I implemented it that way so that one could do just that - setting up animations to look just right often requires that kind of playing (and I’m quite upset that it isn’t possible now). Since you chaps messed around with it, it’s awful, and implementing the time steps as a recursive call is really dreadful. Debugging the particle tracer now means stack traces of many thousands of lines. Just my grumpy 2c. JB ___ 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