For our project we decided to model the perturbations of Earth’s orbit caused by Jupiter. We chose to study the effects of Jupiter because it is the only mass nearly comparable to the sun (about 0.1%). We started with a routine that modeled a single planet orbiting a fixed Sun, and built up to a true three body simulation with the Earth, Sun, and Jupiter bound gravitationally.
Our end goal was to write a three body simulation for the planets because we planned to observe the effects of an increased Jupiter mass on Earth’s orbit. At a certain point the “fixed-Sun” model becomes an unphysical approximation. Three body problems are nearly impossible to solve besides restricted problems, but quite possible to observe computationally.
Routine I: Planet Orbit
Our first model just contained a single planet orbiting around the sun. Mathematically, this model only relied on the inverse square law of gravity to relate the two bodies. Since we know from the physical system that sun is far more massive than any of the planets, we know that they have a negligible effect on the sun’s orbit. Because of this we simply fixed the sun at the origin of our system, and only modeled the movement of the planet around it.
We chose the Euler Cromer method as our primary tool because the orbit of a planet is an oscillatory motion and energy needs to be conserved over each period. This is comparable to the pendulum problems from earlier in the semester where we ran into the same issue. With the Euler method energy is added each period, so we demonstrated here that the Euler-Cromer method conserves energy with each orbit.
Euler Cromer Euler
Thus, the only thing affecting each orbit is actually the initial conditions, we are essentially approximating all of the orbits except mercury as circular because their eccentricities are very close to zero. Due to this nearly circular motion, the gravitational force is equivalent to the centrifugal force of a body in uniform circular motion and we are able to calculate the initial velocity for the planet when it starts at a distance of its semi-major axis from the sun. We will observe circular motion unless the initial velocity is wrong.
Routine II: Jupiter-Earth
Already having completed a foundational program for a gravitationally bound singular planet simulation, it was not much of a reach to add in a second planet for our second routine. The exact same physical equations were used and we continued using the Euler-Cromer approximation method. Initially, once Earth and Jupiter are related gravitationally, we observe no noticeable difference in the Earth’s orbit, which matches our physical observations. This program is very useful however because it allows us to adjust Jupiter’s mass in order to observe how the Earth’s orbit perturbs without affecting the sun’s motion. While this was very useful as an initial exploration into the perturbations of Earth’s orbit caused by Jupiter, it was not complete because it still didn’t take into account the motion of the Sun when Jupiter’s mass was very large. This was the goal of our next routine.
Routine III: Three-Body
The difference between the three-body routine and the earth-jupiter routine is that we no longer fix the sun in place and instead calculate the effects of Jupiter and Earth on its motion. We also made several changes to the initial conditions to make the model work, such as changing the origin to be the center of mass of the system and giving the sun an initial velocity so that the center of mass does not drift. We also set it so that the initial velocity of sun changes with increase in the mass of Jupiter in order to maintain these conditions.
Observations:
These simulations demonstrated that the Earth’s orbit is very stable even up to many times the current mass of Jupiter (as would be expected from observational evidence).
Upon observing the effects of changes in Jupiter’s mass for this system, we were able to conclude that the final three-body system becomes chaotic at sufficient Jupiter masses. Small changes in Jupiter’s mass caused entirely distinct orbits to form. In many of these systems, the motion appeared completely random, sometimes resulting in the Earth’s ejection from the system. Just like the pendulum, below a certain driving force the pendulum’s motion was still predictable, and above a certain force the motion became chaotic.
This threshold for chaotic motion was clearly demonstrated when the mass of Jupiter approaches the sun’s mass (x1000). The system starts to look very much like a binary star system around a center of mass. In this scenario earth’s orbit is VERY unstable and chaotic, completely unpredictable, and extremely sensitive to initial conditions. When Jupiter’s mass is sufficiently small to never directly interact with earth (AKA never crosses or comes near the path of the sun’s motion) then the motion of Earth is not chaotic.
To download our code, please click the following image:
Your simulations are very interesting and very well done. I specifically enjoyed your simulation as Jupiter’s mass approaches the mass of the Sun. With the Earth jumping orbit between the Sun and Jupiter, I wonder how we would differently interpret time in hours, days, months and years. And eventually, Earth has enough of an escape velocity that it escapes both orbits and is flung out of your simulation. It makes me curious about systems that have two suns and a planet orbiting either one or both of the stars. Would the orbit of Earth be different in your simulation had the initial orbit of Jupiter been smaller than the initial orbit of Earth? And what would happen if Jupiter was exactly the same mass as the Sun? Would Earth be ejected earlier? Would it be more chaotic or more stable? What would happen if you raised the mass of Earth, hypothetically? How would a three body system look if all bodies had the same mass? Thoughts to perhaps explore in the next project. But overall, great work, very clear and thought out. Well done.
I thought it was all very well laid out and the visual representations were quite entertaining to watch. For Routine 1, I found it very helpful that you showed the limitations of the Euler method. It sort of solidified those limitations in my mind. Routine 2 was interesting since it added another body. It was in reference frame with the sun though since the sun does orbit as well. Still a very good representation of a simplified 3 body simulation. Routine 3 was definitely my favorite. It both modeled a realistic and very unrealistic system depending on the mass of Jupiter. I completely understand the sentiment behind messing with a physical system just to see what happens.
The only weak spot I see in this project is the lack of statistical analysis. For example, you could try to find the average speed in the more regular orbits and compare that to the average speed of the “whacky” ones. But that’s just me being nitpicky. I really appreciate the time that went into making the graphical results pretty and think the project was very solid overall.
What would be the future direction of your model?