Third-Body Perturbations¶
Third-body gravitational perturbation accelerations from the Sun, Moon, and planets.
Note
For conceptual explanations and examples, see Third-Body Perturbations in the Learn section.
Analytical Models¶
accel_third_body_sun builtin ¶
Calculate the acceleration due to the Sun on an object using low-precision analytical ephemerides.
Accepts either a 3D position vector or a 6D state vector for r_object.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
epc | Epoch | Epoch at which to calculate the Sun's position | required |
r_object | ndarray | Position (length 3) or state (length 6) of the object in the GCRF frame. Units: (m) | required |
Returns:
| Type | Description |
|---|---|
ndarray | np.ndarray: Acceleration due to the Sun. Units: (m/s²) |
Example
accel_third_body_sun_de builtin ¶
Calculate the acceleration due to the Sun on an object using DE high-precision ephemerides.
Accepts either a 3D position vector or a 6D state vector for r_object.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
epc | Epoch | Epoch at which to calculate the Sun's position | required |
r_object | ndarray | Position (length 3) or state (length 6) of the object in the GCRF frame. Units: (m) | required |
source | EphemerisSource | Ephemeris source to use (DE440s or DE440) | required |
Returns:
| Type | Description |
|---|---|
ndarray | np.ndarray: Acceleration due to the Sun. Units: (m/s²) |
Moon Perturbations¶
accel_third_body_moon builtin ¶
Calculate the acceleration due to the Moon on an object using low-precision analytical ephemerides.
Accepts either a 3D position vector or a 6D state vector for r_object.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
epc | Epoch | Epoch at which to calculate the Moon's position | required |
r_object | ndarray | Position (length 3) or state (length 6) of the object in the GCRF frame. Units: (m) | required |
Returns:
| Type | Description |
|---|---|
ndarray | np.ndarray: Acceleration due to the Moon. Units: (m/s²) |
accel_third_body_moon_de builtin ¶
Calculate the acceleration due to the Moon on an object using DE high-precision ephemerides.
Accepts either a 3D position vector or a 6D state vector for r_object.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
epc | Epoch | Epoch at which to calculate the Moon's position | required |
r_object | ndarray | Position (length 3) or state (length 6) of the object in the GCRF frame. Units: (m) | required |
source | EphemerisSource | Ephemeris source to use (DE440s or DE440) | required |
Returns:
| Type | Description |
|---|---|
ndarray | np.ndarray: Acceleration due to the Moon. Units: (m/s²) |
accel_third_body_sun_de builtin ¶
Calculate the acceleration due to the Sun on an object using DE high-precision ephemerides.
Accepts either a 3D position vector or a 6D state vector for r_object.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
epc | Epoch | Epoch at which to calculate the Sun's position | required |
r_object | ndarray | Position (length 3) or state (length 6) of the object in the GCRF frame. Units: (m) | required |
source | EphemerisSource | Ephemeris source to use (DE440s or DE440) | required |
Returns:
| Type | Description |
|---|---|
ndarray | np.ndarray: Acceleration due to the Sun. Units: (m/s²) |
accel_third_body_mercury_de builtin ¶
Calculate the acceleration due to Mercury on an object using DE ephemerides.
Accepts either a 3D position vector or a 6D state vector for r_object.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
epc | Epoch | Epoch at which to calculate Mercury's position | required |
r_object | ndarray | Position (length 3) or state (length 6) of the object in the GCRF frame. Units: (m) | required |
source | EphemerisSource | Which ephemeris kernel to use (DE440s or DE440) | required |
Returns:
| Type | Description |
|---|---|
ndarray | np.ndarray: Acceleration due to Mercury. Units: (m/s²) |
accel_third_body_venus_de builtin ¶
Calculate the acceleration due to Venus on an object using DE ephemerides.
Accepts either a 3D position vector or a 6D state vector for r_object.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
epc | Epoch | Epoch at which to calculate Venus's position | required |
r_object | ndarray | Position (length 3) or state (length 6) of the object in the GCRF frame. Units: (m) | required |
source | EphemerisSource | Which ephemeris kernel to use (DE440s or DE440) | required |
Returns:
| Type | Description |
|---|---|
ndarray | np.ndarray: Acceleration due to Venus. Units: (m/s²) |
accel_third_body_mars_de builtin ¶
Calculate the acceleration due to Mars on an object using DE ephemerides.
Accepts either a 3D position vector or a 6D state vector for r_object.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
epc | Epoch | Epoch at which to calculate Mars's position | required |
r_object | ndarray | Position (length 3) or state (length 6) of the object in the GCRF frame. Units: (m) | required |
source | EphemerisSource | Which ephemeris kernel to use (DE440s or DE440) | required |
Returns:
| Type | Description |
|---|---|
ndarray | np.ndarray: Acceleration due to Mars. Units: (m/s²) |
accel_third_body_jupiter_de builtin ¶
Calculate the acceleration due to Jupiter on an object using DE ephemerides.
Accepts either a 3D position vector or a 6D state vector for r_object.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
epc | Epoch | Epoch at which to calculate Jupiter's position | required |
r_object | ndarray | Position (length 3) or state (length 6) of the object in the GCRF frame. Units: (m) | required |
source | EphemerisSource | Which ephemeris kernel to use (DE440s or DE440) | required |
Returns:
| Type | Description |
|---|---|
ndarray | np.ndarray: Acceleration due to Jupiter. Units: (m/s²) |
accel_third_body_saturn_de builtin ¶
Calculate the acceleration due to Saturn on an object using DE ephemerides.
Accepts either a 3D position vector or a 6D state vector for r_object.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
epc | Epoch | Epoch at which to calculate Saturn's position | required |
r_object | ndarray | Position (length 3) or state (length 6) of the object in the GCRF frame. Units: (m) | required |
source | EphemerisSource | Which ephemeris kernel to use (DE440s or DE440) | required |
Returns:
| Type | Description |
|---|---|
ndarray | np.ndarray: Acceleration due to Saturn. Units: (m/s²) |
accel_third_body_uranus_de builtin ¶
Calculate the acceleration due to Uranus on an object using DE ephemerides.
Accepts either a 3D position vector or a 6D state vector for r_object.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
epc | Epoch | Epoch at which to calculate Uranus's position | required |
r_object | ndarray | Position (length 3) or state (length 6) of the object in the GCRF frame. Units: (m) | required |
source | EphemerisSource | Which ephemeris kernel to use (DE440s or DE440) | required |
Returns:
| Type | Description |
|---|---|
ndarray | np.ndarray: Acceleration due to Uranus. Units: (m/s²) |
accel_third_body_neptune_de builtin ¶
Calculate the acceleration due to Neptune on an object using DE ephemerides.
Accepts either a 3D position vector or a 6D state vector for r_object.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
epc | Epoch | Epoch at which to calculate Neptune's position | required |
r_object | ndarray | Position (length 3) or state (length 6) of the object in the GCRF frame. Units: (m) | required |
source | EphemerisSource | Which ephemeris kernel to use (DE440s or DE440) | required |
Returns:
| Type | Description |
|---|---|
ndarray | np.ndarray: Acceleration due to Neptune. Units: (m/s²) |
See Also¶
- Third-Body Perturbations (Learn) - Conceptual explanation and examples
- Ephemerides - Sun and Moon position functions
- Orbital Dynamics Module - Complete orbit dynamics API reference