loading...
running...
How to use
Pick a preset or drag the ratio slider r3/r1. The blue spacecraft flies the two-burn Hohmann transfer and the orange one the three-burn bi-elliptic transfer; rb sets how far the orange one climbs before it drops back. The bar chart (and the readout) compare total delta-v; the first graph shows for every ratio how much the bi-elliptic saves (above the blue line: it wins). Try: (1) R = 6.6 (LEO to GEO) and watch Hohmann win; (2) R = 11.94 with rb = 400; (3) R = 13 with rb = 30, then rb = 8; (4) R = 56.7 (lunar distance). Raise Playback speed for the long bi-elliptic flights. Drag to orbit, wheel to zoom. Space pauses, R resets.
The Earth, Sun and Moon textures, the spacecraft (foil-wrapped bus, solar arrays, tanks, dish, bell nozzle, thruster blocks), the ring station and the burn plume were modelled and baked in Blender; Three.js r160 integrates the same two-body model as the 2D canvas version.
The science
Setting. A spacecraft in a circular orbit of radius r1 must reach a coplanar circular orbit of radius r3 = R r1 around the same body (mass M, gravitational parameter mu = GM). Only gravity of that body acts (the two-body problem) and every burn is impulsive: an instantaneous jump of velocity along the flight direction. Units: lengths in r1, speeds in v1 = sqrt(mu/r1), times in sqrt(r1³/mu).
Vis-viva. On any Kepler orbit with semi-major axis a the speed at distance r is
v² = mu (2/r - 1/a), circular orbit: v = sqrt(mu/r), period T = 2π sqrt(a³/mu)
Hohmann transfer (2 burns). The transfer ellipse touches both circles: a = (1+R)/2.
dv1 = sqrt(2R/(1+R)) - 1, dv2 = 1/sqrt(R) - sqrt(2/(R(1+R))), t = π sqrt(a³)
Bi-elliptic transfer (3 burns). Burn 1 raises the apoapsis to rb > R. At that far point burn 2 raises the periapsis to r3 (the speed is tiny out there, so this burn is cheap). At r3 burn 3 brakes into the circle.
a1 = (1+rb)/2, a2 = (rb+R)/2
dv1 = sqrt(2rb/(1+rb)) - 1
dv2 = sqrt(2R/(rb(rb+R))) - sqrt(2/(rb(1+rb)))
dv3 = sqrt(2rb/(R(rb+R))) - 1/sqrt(R)
t = π (sqrt(a1³) + sqrt(a2³))
The crossover. Letting rb → infinity gives the limiting cost dv = (sqrt2 - 1)(1 + 1/sqrt(R)). It equals the Hohmann cost at R = 11.94 (to four digits 11.9388). Below that ratio no bi-elliptic transfer can win. Between 11.94 and 15.58 only a bi-elliptic whose apoapsis lies in a window (try 13 with rb 30, then rb 8) is cheaper. Above R = 15.58172 any rb larger than r3 beats Hohmann. The price is time: the flight time grows like rb^1.5, so the saving always comes with a long wait, and the gain is small (about 1-3 % of the Hohmann dv even in the best cases).
Why it works. The cost of changing the orbit is dominated by changes of speed v at high v, and Oberth-style leverage says a burn is cheapest where v is smallest. Climbing far away makes the expensive plane-of-orbit-size change happen at very low speed, at the price of two longer ellipses.
Propellant. Tsiolkovsky: propellant mass fraction = 1 - exp(-dv / (g0 Isp)), g0 = 9.80665 m/s². The percentages shown are exact given the chosen Isp, but a 1 % saving in dv gives a larger saving in launch mass for chemical engines than for ion engines, whose limit is power and time rather than propellant.
How the simulation works. Both spacecraft are integrated numerically (classical RK4, local step 0.004 r^1.5, so the step shrinks near the central body). Burns are triggered by a sign change of the radial velocity (an apsis); the exact apsis crossing is refined with regula falsi so the burn is applied at the true apoapsis/periapsis. The total dv is the sum of the lengths of the velocity jumps seen by the integrator, which is then compared with the closed forms above. The checks panel does this for the current ratio.
Honest simplifications. Coplanar circular orbits; impulsive burns (finite burn times cost extra dv, "gravity loss"); pure two-body gravity (the lunar-distance preset ignores the Moon's own pull, and the real Earth-Moon transfer is a three-body problem; the Neptune preset ignores the planets in between); no phasing optimisation or rendezvous cost (the target station is placed to arrive with each spacecraft purely to illustrate the phase angle); no plane change, atmosphere, J2 or solar radiation pressure. Real mission numbers (400 km LEO, 1 AU, planet distances) are rounded and given only to show the scaling; the central-body radii are to scale except the Sun, which is enlarged so that it is visible.