Skip to content

Documentation / @interstellar-tools/equations / j2NodalPrecessionRate

Function: j2NodalPrecessionRate() ​

ts
function j2NodalPrecessionRate(
  J2: number,
  n: number,
  Re: number,
  a: number,
  i: Radians,
  e: number
): number;

Defined in: orbits/j2-nodal-precession-rate.ts:54

Compute J2 nodal precession (RAAN drift) for an orbit about an oblate body.

Equation (common approximation):

Ω˙≈−32J2n(Rea)2cos⁡i(1−e2)2

Where:

  • J2 is the second zonal harmonic (dimensionless)
  • n is mean motion (rad/s)
  • Re is the body's equatorial radius (m or km)
  • a is semi-major axis (m or km)
  • i is inclination (radians)
  • e is eccentricity (dimensionless)

Units:

  • If n is in rad/s and i is in radians, the result is in rad/s.
  • Re and a must use the same distance unit.

Parameters ​

ParameterTypeDescription
J2numberSecond zonal harmonic (finite).
nnumberMean motion (finite, >= 0), in rad/s.
RenumberEquatorial radius (finite, > 0).
anumberSemi-major axis (finite, > 0).
iRadiansInclination (finite), in radians.
enumberEccentricity (finite, 0 <= e < 1).

Returns ​

number

RAAN drift rate Ω˙ in rad/s.

Throws ​

If any input is not finite.

Throws ​

If n < 0, Re <= 0, a <= 0, or e is outside [0,1].

Example ​

ts
// Earth-ish example (units must be consistent):
const J2 = 1.08262668e-3;
const n = 0.001078; // rad/s (roughly LEO)
const Re = 6378.137; // km
const a = 7000; // km
const i = ((98 * Math.PI) / 180) as Radians;
const e = 0.001;

const raanDot = j2NodalPrecessionRate(J2, n, Re, a, i, e);

See ​