This simulation models tidal forces and the Roche limit using simplified orbital mechanics. A moon orbits a planet at a distance set in multiples of the Roche limit, d = 2.44 R (rho_p / rho_s)^(1/3) — the classic rigid-body formula for the tidal breakup distance. Planet density is fixed at 5.5 g/cm³; satellite density depends on the chosen type — rocky (3.0 g/cm³), icy (1.0 g/cm³), or loose rubble (0.3 g/cm³) — each giving a different Roche limit. Orbital angular speed follows a Kepler-like relation (ω ∝ 1/d1.5), and the displayed tidal-force stat scales as 1/r³. Cross inside the Roche limit and the satellite is torn apart into an animated debris ring of eighty particles.
A moon orbiting a planet under a differential gravitational pull. The near side is pulled harder than the far side, stretching the satellite into an ellipse — arrows show the pull on each side — until, inside the Roche limit, it fragments into a ring of debris, the same mechanism thought to form planetary ring systems.
Pick a satellite type (rock / ice / rubble) to change its density and Roche limit. Drag the Distance slider toward 1.0× or below to push the moon past the Roche limit and watch it shatter. Adjust Mass ratio and Speed, then Pause or Reset to explore other scenarios.
Saturn's rings sit almost entirely inside its Roche limit, and Mars's moon Phobos is spiralling inward — in roughly 50 million years it will likely cross its own Roche limit and become a debris ring, giving Mars rings of its own.
The Roche limit is the distance from a planet at which its gravity's tidal (differential) pull exceeds the self-gravity holding a satellite together, causing it to break apart. This simulation uses the classic rigid-body formula d = 2.44 R (rho_p / rho_s)^(1/3), where R is the planet's radius and rho_p, rho_s are the planet's and satellite's densities.
The Roche limit depends on the cube root of the density ratio between planet and satellite. Rocky moons (ρ ≈ 3 g/cm³) have a Roche limit close to the planet; icy moons (ρ ≈ 1 g/cm³) sit about 1.7× farther out; and loose rubble piles (ρ ≈ 0.3 g/cm³) break apart at an even greater distance because they are held together only weakly.
Gravity weakens with distance, so the planet pulls harder on the satellite's near side than on its far side. This differential force stretches the satellite along the planet–satellite axis; the simulation visualises it as arrows and an elongating ellipse whose stretch factor grows as the satellite approaches the Roche limit.
The animation advances the orbital angle using a Kepler-like relation where angular speed scales as 1/d1.5 (d being orbital distance), so satellites orbiting closer to the planet sweep around faster than those farther out, matching Kepler's third law.
Once the distance slider drops below 1.0 Roche radii, the satellite is replaced by about 80 particles spread just inside and outside its former orbit, each drifting at its own angular speed — a simplified stand-in for the ring systems that form around planets like Saturn after a moon is tidally disrupted.