Skip to content

Documentation / @interstellar-tools/equations / meanMotion

Function: meanMotion() ​

ts
function meanMotion(a: number, mu: number): number;

Defined in: orbits/mean-motion.ts:51

Compute mean motion for a (near-)circular reference orbit.

Mean motion is the angular rate of the reference orbit:

n=μa3

Where:

  • μ is the standard gravitational parameter of the central body
  • a is the (circular) orbit radius / semi-major axis

Unit consistency

  • If μ is in m³/s², then a must be in m and the result is in rad/s.
  • If μ is in km³/s², then a must be in km and the result is in rad/s.

Common usage: reference rate for relative motion models (e.g., Clohessy–Wiltshire / Hill), orbital period estimates, and circular-orbit dynamics.

In practiceThe ISS, orbit by orbit

15.51 orbits/day

Mean motion at 420 km altitude

The function returns 0.001128 rad/s. Multiply by 86 400 s and divide by 2π for orbits per day, the unit used in a satellite's two-line elements (TLEs).

ts
meanMotion(6.371e6 + 420e3, 3.986004418e14); // ≈ 0.001128 rad/s

Parameters ​

ParameterTypeDescription
anumberSemi-major axis a (finite, > 0).
munumberStandard gravitational parameter μ (finite, > 0).

Returns ​

number

Mean motion n in rad/s.

Throws ​

If a or mu is not a finite number.

Throws ​

If a <= 0 or mu <= 0.

Example ​

ts
// Earth example (km-based):
const mu = 398600.4418; // km³/s²
const a = 7000; // km
const n = meanMotion(a, mu); // rad/s