Category Archives: Angelica

Precession of Mercurian Planets: Project Plan


For my computational physics project I would like to investigate the relationship between the precession and the eccentricity of a planet’s orbit due to general relativity as detailed in chapter 4, section 3 of Computational Physics, by Nicholas J. Giordano and Hisao Nakanishi. The rate of precession examined in this project will only be that which is caused by the general relativistic effect of the model planet’s host star.

Week 1: Preliminary Results

As a check to make sure my code will run correctly, I will first model the precession of Mercury’s orbit as caused by the Sun. I must first write a code that will model the movement of a Mercury through it’s orbit according to Kepler’s laws. The force law predicted by General Relativity is given by:


where G is the Gravitational constant of the universe, Ms is the mass of the Sun, Mm is the mass of Mercury, and a Constant*α gives the rate of precession for the orbit. For the case of Mercury,  \alpha=1.1*10^{-8} AU^{2} .

Applying the Euler-Chromer method to the above equation to approximate the x and y velocities and positions of the planet as it travels throughout its orbit yields:

 V_{x,i+1}= V_{x,i}-(4*(\pi^{2})*x_{i})/(r_{i})^{3}+(\alpha*4*(\pi^2)*x_{i})/(r{i})^{5})*\Delta(t)
 x_{i+1} = x_{i}+(V_{x,i+1})
 V_{y,i+1}= V_{y,i}-(4*(\pi^2)*y_{i})/(r_{i})^{3}+(\alpha*4*(\pi^{2})*y_{I})/(r_{I})^{5})*\Delta(t)
 y_{i+1} = y_{i}+(V_{y,i+1})

Where the initial conditions are (assuming  r_{1} to be at the planet’s aphelion):

 v_{1} = \sqrt(\frac{G*M_{s}*(1-e)}{a*(1+e)}
 r_{1} = (1+e)*a

where a is the semi-major axis length of the planet’s orbit.

In Computational Physics, Giordano and Nakanishi find the precession of Mercury by first finding the precession rate for a much larger value of  \alpha , because it is difficult to measure the precession for a value this small (it would require computing the motion for hundreds of thousands of years). Using different values of α give different values for the precession rate, and graphing these two parameters against one another will provide the desired constant C. Once C is obtained, I can multiply this number by α to get the true precession of Mercury caused by the Sun.

Week 2: Results with Data Analysis

Once this code is working correctly, I can modify the initial conditions for the orbital motion portion of the code to represent new orbits. (Changing the parameters a, e, but maintaining the value of the perihelion as that of Mercury, so that I may compare my results to that for Mercury.)

If I have extra time I will add in other planets to the original Mercury-Sun system to observe the resulting effects on Mercury’s precession.

Week 3: Finalize project: make sure the code’s comments are informative and helpful, and review the program/results for any mistakes.

Week 4: Provide constructive criticism to other students on their projects/Prepare for project presentation.

Week 5: Give my project presentation to the class.

Computational Physics by Nicholas J. Giordano and Hisao Nakanishi