As an exoplanet transits, it blocks a small patch of the star's rotating disk. Because the star rotates, that blocked patch was contributing a slightly Doppler-shifted sliver of light to the star's integrated spectral lines. Removing it shifts the disk-averaged line centroid — the star briefly appears to have an anomalous radial velocity, even though it never actually moved. This is the Rossiter-McLaughlin (RM) effect.
Unlike a point-sample approximation, this engine numerically integrates the local Doppler velocity over every grid cell of the blocked disk area at each transit step:
Local line-of-sight velocity (rigid rotation,
spin axis in sky plane):
v(x) = v sin i* · (x / R_s)
Limb-darkened surface brightness:
I(x,y) = 1 − u(1 − μ), μ = sqrt(1 − (x²+y²)/R_s²)
Numerical integration over the occulted patch Ω(t):
ΔRV(t) = − (1/F_total) · ΣΩ(t) v(x,y)·I(x,y)·dA
F_total = ∫∫_disk I(x,y) dA = π(1 − u/3)
The planet's true orbital path is a straight chord at fixed impact parameter b. The obliquity λ is the angle between that chord and the star's projected spin axis. Rotating the chord by λ mixes it into (x, y): a small λ (well-aligned system) blocks the approaching hemisphere first and the receding hemisphere second, giving the classic antisymmetric "S-curve" anomaly — an odd function of transit phase, ΔRV(−t) = −ΔRV(t). Near λ = ±90° (a polar orbit) the planet stays on one Doppler hemisphere for the whole transit, so ΔRV becomes closer to an even function, ΔRV(−t) ≈ +ΔRV(t) — the anomaly no longer changes sign. The curve asymmetry readout quantifies this directly: it sums ΔRV(t) signed over the whole transit and divides by the sum of |ΔRV(t)|, so a perfectly antisymmetric aligned curve reads ≈0% while a polar/retrograde curve reads far from 0% — exactly how astronomers use real RM spectroscopy to discover that many hot Jupiters orbit misaligned with, or even opposite to, their star's spin.
- λ slider — spin-orbit angle; try 0° (aligned), 90° (polar), 180° (retrograde).
- b slider — how close the chord passes to disk centre; b → 0 gives the largest peak amplitude.
- Rp/Rs — bigger planets occult more flux, scaling the anomaly roughly by (Rp/Rs)².
- v sin i* — faster stellar rotation directly scales the anomaly amplitude.