Friday, November 12, 2010

zero velocity should definitely be "cold"

I am very frustrated with the code lately, because I don't exactly understand the mechanism that is causing it to fail.  I will describe the trouble in more detail below.   However, I have been able to get the code to run for a certain number of particles near 1k (which is not nearly enough to test what I wanted to test).  Ultimately I would like to test how the initial density profile affects the final density profile that the system settles to.  However, I would like to make sure to start with COLD initial conditions.  I was feeling concerned because the runs that we had done before, where the regular spacing of the particles was jittered around a bit, displayed results that were qualitatively very similar to the warm simulations, they did not exhibit the $r^{-1/2}$ scaling.  I figure that one way to ensure that the particles are cold would be to give them zero velocity.  Before I tried $v=0$ on groups of particles with different initial density profiles, I thought it would be a good idea to test that the $r^{-1/2}$ scaling is reproduced on the equally spaced particles (which I fully expected since we tried both positive and negative initial velocities for the equally spaced particles and both went to the $r^{-1/2}$ scaling).   Here is the run with 1004 particles.




There are basically not quite enough particles to be able to see the inner scaling, but it looks roughly correct, if a little soft in the middle.  I also wanted to see if setting the velocities to zero would cause the runs with position jitter to exhibit $r^{-1/2}$ scaling rather than looking like the warm runs.  Here's the plot:


Again, there are not really enough particles to be able to tell, but it does look a little softer, still qualitatively more like the warm runs than the cold...  If I could run more particles it would be easier to say.

Why aren't there more particles, you may be asking!  Well, for days my scripts have been hanging, and I have traced the problem to the fact that for these initial conditions, for some numbers of particles the code simply runs forever without ever getting to the first time dump.  So for example I used to (in order to get the error bars) do runs with 1004 1007 1010 1013 1016 1019 particles in them.  I found that for this mkinit.cc initializer, 1004 and 1007 are okay (they run in about 22 seconds) , but 1010 and 1013 are not okay (they never finish running).   I am still looking into what is happening, but I think I will also send Walter the mkinit.cc code, and see if he reproduces the problem on his version. 

No comments:

Post a Comment