Sunday, 20 September 2015

newtonian gravity - Velocity distribution in Plummer's models and others mass distributions



The Plummer's sphere is an model for the mass density in a globular cluster of stars. For an $N$-body simulation I have initialized the position of $N$ masses with a Monte-Carlo technique but cannot find a way of initializing the velocity initial conditions.


Is there a simple function that given a position in a Plummers sphere assigns a velocity to a given mass? Lots of sites list the velocity for a circular orbit but is this a good approximation to a globular cluster and how should it be treated off the $x$-$y$ plane?



Answer



The Plummer model has a potential of the form


$$ \Phi(r)=-\frac{1}{\sqrt{r^2+1}} $$ (obviously ignoring all constants). Equating the above with the kinetic energy, you get $$ \frac12v_e^2+\Phi(r)=0\to v_e(r)=\sqrt{2}\left(r+1\right)^{-1/4} $$ This velocity is the maximum velocity you can have at a radius $r$, so we must have that $0\leq v\leq v_{e}$. In order to get the velocity, we need to know its distribution function; this can be found in this book. It reduces down to $$ g(v)dv\propto\left(-E\right)^{7/2}v^2dv $$ where $E=-v_e^2+\frac12v^2$. If we let $q=v/v_e$, then the above becomes $$ g(q)=\left(1-q\right)^{7/2}q^2 $$ with $0\leq q\leq1$. It then becomes a matter of using either rejection sampling (which I generally do not recommend) or the Newton root-finding method (which I usually do recommend) to find a fit. Then you just randomize the angles $\theta,\,\phi$ and get your x,y,z velocities:


vel = x*sqrt(2.0)*(1.0+r(i)*r(i))**(-0.25)
theta = acos(rand(-1.0,1.0))
phi = rand(0.0, 2.0*pi)
vx(i) = vel*sin(theta)*cos(phi)
vy(i) = vel*sin(theta)*sin(phi)

vz(i) = vel*cos(theta)

You can find more information in this great pdf book.


No comments:

Post a Comment

Understanding Stagnation point in pitot fluid

What is stagnation point in fluid mechanics. At the open end of the pitot tube the velocity of the fluid becomes zero.But that should result...