Why do I need to divide by 2 ?

1. Jul 27, 2012

M1keh

Folks, hope someone can point me in the right direction. I've knocked up a perl program that pushes the planets around the Sun, using F=GMm/r^2 and f=ma, but there's one adjustment I've added to make it work and I don't know why ...

The routines use 'v = sqrt[GM/(r*(1 +/- e))]' to calculate the velocity at apogee / perigee and set Earth's distance from the Sun as 149597890000. With the Sun sitting at the centre (Barycenter ??), I'm then trying to balance the Sun / Earth around the Barycenter to give a circular orbit.

Calculating a multipler as the Earth Mass / Sun Mass, I'm moving the Sun away from the centre by 149597890000 * multiplier and then subtracting the same amount from the Earth's distance, to keep the distance from the Sun the same.

Starting with the Earth's speed at perihelion ( obviously constant for a circular orbit ), I then need to set the Sun off in the opposite direction to keep the two circling the Barycentre. I'm calculating the Sun's velocity as Earth's velocity times the same multipler, I was then expecting to subtract the Sun's velocity from the Earth's to keep the system balanced.

Here's my problem ( at least the one that I know about ) ... When subtracting the Sun's velocity from the Earth's, I have to half it. ie. Vs = Ve * Me/Ms; Ve = Ve - Vs/2. This isn't approx 2, but exactly 2. 1.99 doesn't work 2.01 doesn't work, only 2.0.

Tried working this out with 1/2 MV^2 and the diffs in velocity but nothing seems to work out. Could just be my maths.

So, where does this come from ? Why subtract the distance as it is, but divide the velocity by 2.0 ?

Thanks.

Mike.

2. Jul 27, 2012

Staff: Mentor

What do you mean by "doesn't work"? The orbit is not circular? The whole system has a net velocity?

Vs = Ve * Me/Ms is required to keep the whole system in place, and you should use these velocities as initial velocity for both objects. Vs in one direction, Ve in the other direction. Why do you modify Ve afterwards?

v=sqrt(GM/r) gives you the orbital velocity if the mass of earth is negligible. This is not true, if you have to care about the velocity of the sun. Use the reduced mass $\mu=\frac{M_s m_e}{M_s+m_e}$ instead. The radius is now the distance earth/barycenter, the distance to sun is larger by a factor (1+Me/Ms). If r is your true distance to the sun (which is different from the semi-major axis of earth!), both things cancel. But keep in mind that r is not the distance to the barycenter now. This v is already Ve, you do not have to correct it.

3. Jul 27, 2012

M1keh

Thanks mfb. That seems to be what I'm missing. Your formula for the reduced distance doesn't show up. Can you post a test version ?

When I say "doesn't work", I mean that the orbit isn't circular. However, simply deducting half of the Sun's velocity from the Earth's corrects the problem. Probably something to do with the diff between 'v=sqrt(GM/r)' and the correct function ?

4. Jul 27, 2012

M1keh

Oh. One more thing. What's the velocity of the Sun ? Is it Ve * (Me/Ms) ? Or can you use the formula to generate both the Earth's and the Sun's velocity ?

Any idea why subtracting 1/2 Sun's velocity from Earth's works in my version ? Is it obvious from the correct formula ?

5. Jul 27, 2012

Staff: Mentor

You can quote my post to look at the source. It needs JavaScript to get displayed.
μ = M_s m_e / (M_s + m_e)

It should be possible to calculate the velocity of the sum with those formulas, but it is easier to calculate it based on the velocity of earth. If you have this velocity around the barycenter, the sun just follows a smaller circle (or ellipse) to keep the barycenter there. And yes, Vs=Ve * (Me/Ms)

6. Jul 27, 2012

M1keh

Thanks mfb, that looks spot on. Not sure why it worked the way I was doing it, but using a Sun mass of (Ms*Ms)/(Ms+Me) when calculating the velocity at perihelion and then setting the Sun velocity to Ve*(Me/Ms) gives the same results without the tweak.

Mind you, this still give the distance as the SemiMajor axis. May have to play with it a bit.

Thanks.