Our Solar System is somewhat “boring”, in a way – one star that barely moves, and the vast majority of planets having nearly circular/low eccentricity (still elliptical) orbits.

Since I already had the framework for simulating the Solar System, I decided to simulate the binary star system Kepler-47 nearly 5000 light years away, with two circumbinary stars: Kepler-47A with 1.043 solar masses and Kepler-47B with 0.362 solar masses. Both are massive enough so that the barycenter of their orbits doesn’t lie in either one of them.

The system also has two discovered and confirmed planets – Kepler-47b (lowercase), and Kepler 47c. Planet c is notable since it is the first planet discovered orbiting a circumbinary star in the habitable zone, though unfortunately it is unlikely to be an earth-like world due to its Neptune class radius, and estimated mass (hypothetical moons may harbor liquid water though, when not eclipsed). It is also majorly eccentric and elliptical with e≈0.411, nearly double Mercury’s (which is the largest in the solar system).

These values come from a peer-reviewed paper published back in 2012 called *Kepler-47: A Transiting Circumbinary Multiplanet System*, which was published in the journal *Science*. Cheers to Orosz and his colleagues for discovering the Kepler-47 system’s pattern in data sent back from the Kepler Space Observatory.

A preliminary screenshot and video are below. I’ll post code in the next post, as I haven’t completely worked out the kinks in the velocity calculation of Kepler-47c – should be faster when closer and slower when further away (I’ve put the ratio of the current orbital velocity to the average orbital velocity of 47c in a label in the bottom right), nor have I the time right now. The velocity at any particular point in the orbit is calculated via [latex]v = \sqrt {G M \left({2 \over r} – {1 \over a}\right)}[/latex], where v is velocity, G is the gravitational constant, M is the mass of the body, r is the distance of the body from the point it is orbiting, and a is the semimajor axis. This is then divided by the average velocity.