[Physics] Estimating of the size of the Milky Way from the Sun’s motion

celestial-mechanicshomework-and-exercisesmilky-wayorbital-motion

I am trying to run a simple first-principles calculation to estimate the diameter of the Milky Way from what we know about the motion of the Sun around its center. In particular, from various online sources and books, we can roughly say that:

  • The period of the Sun's orbit around the center of the Milky Way is $T_{sun}\approx 200$ million years.
  • The speed of the Sun in its orbit is $v_{sun}\approx 200$ km/s.
  • The sun is located about halfway between the Milky Way's center and its edge.

This is a purely kinematic problem. I'll assume that the Sun's orbit is circular, so that we may write:

$$
\omega_{sun}r_{sun} = v_{sun},
$$

where $\omega_{sun}=2\pi/T_{sun}$ is the angular velocity of the Sun around the Milky Way center. Hence:

$$
r_{sun} = \frac{T_{sun}}{2\pi}v_{sun}.
$$

The radius of the Milky Way is twice that (the Sun is halfway out to the edge), and the diameter is twice that again. So the overall diameter of the Milky Way, in light years (denoting the speed of light by $c$):

$$
d_{MilkyWay} = \frac{2T_{sun}v_{sun}}{c\pi}.
$$

We know all the quantities on the right hand side. A short Python code evaluates the solution.

T_sun = (200e6)*365.25*24*3600 # [s]
v_sun = 200e3 # [m/s]
c = 2.99792458e8 # [m/s]
pi = 3.14159
d_MilkyWay = 2*T_sun*v_sun/(c*pi) # [ly]

print "d_MilkyWay = %.2e [light years]"%(d_MilkyWay)

The answer: $d_{MilkyWay} = 2.68\cdot 10^{12}$ light years. This is much, much larger than the current best estimate given by scientists: about $10^5$ light years.

How come there is such a huge discrepancy between the measured size, and my rough estimate? Is the assumption that the Sun's orbit is circular wrong?

Best Answer

You messed up a bit in your calculation. Your answer is in light-seconds, not light-years. If you divide by the number of seconds in a year, you'll get the correct answer.

T_sun = (200e6)*365.25*24*3600 # [s]
v_sun = 200e3 # [m/s]
c = 2.99792458e8 # [m/s]
pi = 3.14159
d_Milkyway_m = 2*T_sun*v_sun/pi # [m]
d_MilkyWay = d_Milkyway_m/(c*365.25*24*3600) # [ly]

print "d_MilkyWay = %.2e [light years]"%(d_MilkyWay)
Related Question