Skip to content

Third Body

Third-body gravitational perturbations from the Sun and Moon.

Computes the gravitational acceleration on a spacecraft due to the Sun and Moon using low-precision analytical ephemerides and the point-mass gravity model.

All inputs and outputs use SI base units (metres, metres/second squared).

References
  1. O. Montenbruck and E. Gill, Satellite Orbits: Models, Methods and Applications, 2012.

accel_third_body_moon(epc, r_object)

Acceleration due to the Moon's gravity on a near-Earth object.

Computes the Moon's position at epc using the low-precision analytical ephemeris and applies the point-mass gravity model.

Parameters:

Name Type Description Default
epc Epoch

Epoch at which to evaluate.

required
r_object ArrayLike

Position of the object in ECI [m]. Shape (3,) or (6,) (only first 3 elements used).

required

Returns:

Type Description
Array

Acceleration vector [m/s^2], shape (3,).

Examples:

import jax.numpy as jnp
from astrojax import Epoch
from astrojax.orbit_dynamics import accel_third_body_moon
epc = Epoch(2024, 2, 25)
r = jnp.array([6878e3, 0.0, 0.0])
a = accel_third_body_moon(epc, r)

accel_third_body_sun(epc, r_object)

Acceleration due to the Sun's gravity on a near-Earth object.

Computes the Sun's position at epc using the low-precision analytical ephemeris and applies the point-mass gravity model.

Parameters:

Name Type Description Default
epc Epoch

Epoch at which to evaluate.

required
r_object ArrayLike

Position of the object in ECI [m]. Shape (3,) or (6,) (only first 3 elements used).

required

Returns:

Type Description
Array

Acceleration vector [m/s^2], shape (3,).

Examples:

import jax.numpy as jnp
from astrojax import Epoch
from astrojax.orbit_dynamics import accel_third_body_sun
epc = Epoch(2024, 2, 25)
r = jnp.array([6878e3, 0.0, 0.0])
a = accel_third_body_sun(epc, r)