evolution with time

53 views
Skip to first unread message

denis

unread,
Nov 10, 2010, 5:33:04 PM11/10/10
to partiview
Hi,

I want to visualize various data sets (containing various numbers of
particles, from about a hundred to more than 100,000) at different
dates, in order to make movies of the motion of these particles. The
movies would last about 2 minutes, corresponding to about 3,000
different time steps for each set of data.

When using the "warp extrap-" command, Partiview uses only one time
step, then it generates the motion of the particles by linear
extrapolation, based on the velocity values of the particles at this
single date. This is not what I want since the velocity of the
particles is far from being constant with time...
When using the "datatime T" command, Partiview reads and shows a set
of data at the date T=0, then it reads and shows the new set at T=1
and so on up to T=99. Apparently, T can not be written with three
digits, so I can not read more than one hundred time steps.
I would like to combine both these commands, in order to avoid loading
too many sets of data and in order to get a smooth visual effect. But
apparently, it doesn't work: when doing so, only the warp runs.

Being a beginner with Partiview, I read the Partiview Users Guides
provided on the main web site but I could not find more information
about the possibilities to create a movie and I would need some help
about this subject.

Thanks

Denis

Peter Teuben

unread,
Nov 11, 2010, 11:26:45 AM11/11/10
to part...@googlegroups.com


Denis

have a look at this URL listed below, and the first link in that page, i
think it might
help you on the right path. It's been a while I did this though. I don't
know the provenance of your data, another potential program you
could look into is glnemo2, which you can find within the NEMO
package


http://bima.astro.umd.edu/nemo/amnh/movies/


Peter

Stuart Levy

unread,
Nov 11, 2010, 11:41:33 AM11/11/10
to part...@googlegroups.com
On Wed, Nov 10, 2010 at 02:33:04PM -0800, denis wrote:
> Hi,
>
> I want to visualize various data sets (containing various numbers of
> particles, from about a hundred to more than 100,000) at different
> dates, in order to make movies of the motion of these particles. The
> movies would last about 2 minutes, corresponding to about 3,000
> different time steps for each set of data.
>
> When using the "warp extrap-" command, Partiview uses only one time
> step, then it generates the motion of the particles by linear
> extrapolation, based on the velocity values of the particles at this
> single date. This is not what I want since the velocity of the
> particles is far from being constant with time...

Right. Actually, just this spring, I made some changes (in partiview CVS)
to fix that problem, for just this purpose. Remember that originally
"warp extrap" would yield particle positions like
position(t) = position + t*velocity + t^2*...
Now, with the latest code, you can use "warp extrap" on a dataset with
multiple "datatime" timesteps. You can construct the velocities (and higher-order
coefficients if you use degree > 1) on the assumption that they'll be multiplied
by a time between 0 and 1. Specifically, at time t,
if the highest (integer) datatime less than t is T, then it displays particles
from datatime T, and their positions become
position(t) = position + (t - T)*velocity + (t - T)^2*...

Generally 0 <= (t-T) < 1, except when t goes out of the range of defined
datatimes. When t<0, it uses datatime T=0 particles and coefficents,
and (t-T) < 0 of course; when t exceeds the highest defined datatime,
then t-T can obviously exceed 1.

To get this feature, you'll need to compile partiview from the CVS source;
see the summary on the partiview web page under "Source code"
http://virdir.ncsa.illinois.edu/partiview/#src

... or let me know -- I could make and post a current binary for windows/macos/linux.

> When using the "datatime T" command, Partiview reads and shows a set
> of data at the date T=0, then it reads and shows the new set at T=1
> and so on up to T=99. Apparently, T can not be written with three
> digits, so I can not read more than one hundred time steps.

That doesn't sound right -- there should be no limit other than available
memory, and I've made time-series with thousands of datatime timesteps.
What happened when you tried to make a longer series?

denis

unread,
Nov 16, 2010, 3:10:52 PM11/16/10
to partiview
Thanks for your very helpful answers,

I looked at the NEMO site and saw the examples of scripts to get a
movie from Partiview snapshots. I guess that this is helpful to
visualize a flypath, but I am not sure I can apply this method to my
evolution-with-time movie, since i've got only a limited number of
pictures : I need to interpolate between them.

Concerning the datatime T command, I tried with T greater than 100 and
it worked! In fact, the last step doesn't last at all and T loops back
to T=0.
Because I used 101 time steps exactly, the last datatime step in my
script was T = 100 and I couldn't see it, it was jumping from T = 99
to T = 0.

With the new version of Partiview, I could combine both the datatime
and warp command. This is very helpful!!!
However, I realized that if Partiview is able to read several data
sets at each time step T, the command warp can not change with T: the
warp command applied by Partiview is the last one written in the
script (as for the other commands, like color...). Is it right ? In
that case, it means that the time interval between two consecutive
time steps has to be constant during the whole motion.

Thanks again

Denis

Stuart Levy

unread,
Nov 16, 2010, 4:30:07 PM11/16/10
to part...@googlegroups.com
I'm not sure what you mean by

> the warp command applied by Partiview is the last one written in the script

Does that matter? The warp does apply regardless of timestep --
you don't need to (and can't) enter a separate warp for each timestep.

It's true that the integer data-timestep numbers mean that you have to
supply motion coefficients (position, velocity, acceleration, etc.)
at fixed time intervals.

However, even you can only specify data values at integer times,
you can still set the partiview time to any real number,
and it will interpolate (or extrapolate) in the way specified by "warp -extrap".

I've recently checked in a new script into the CVS repository, as
partiview/scripts/timesnapper

To use it (on unix/linux/macos, though not windows),
you'd put it in your search path somewhere,
invoke partiview with your data, adjust for a nice display and
point-of-view, and then type in the partiview text box something like

async timesnapper /some/where/myimage 0 150 0.1

(assuming the range of datatimes was from 0 to 150 or more)

This should take a series of about 1500 snapshots named
/some/where/myimage.0000.png (with time set to 0.0)
/some/where/myimage.0001.png (with time set to 0.1)
/some/where/myimage.0002.png (with time set to 0.2)
...
/some/where/myimage.1500.png (with time set to 150.0)

> --
> You received this message because you are subscribed to the Google Groups "partiview" group.
> To post to this group, send email to part...@googlegroups.com.
> To unsubscribe from this group, send email to partiview+...@googlegroups.com.
> For more options, visit this group at http://groups.google.com/group/partiview?hl=en.

Reply all
Reply to author
Forward
0 new messages