Main Content

gravitycentrifugal

Implement centrifugal effect of planetary gravity

Description

Planetary Gravitational Potential Based on Planetary Rotation Rate

[gx gy gz] = gravitycentrifugal(planet_coordinates) implements the mathematical representation of centrifugal effect for planetary gravity based on planetary rotation rate. This function calculates arrays of N gravity values in the x-axis, y-axis, and z-axis of the Planet-Centered Planet-Fixed coordinates for the planet. The function performs these calculations using planet_coordinates. You use centrifugal force in rotating or noninertial coordinate systems. Gravity centrifugal effect values are greatest at the equator of a planet.

example

Planetary Gravitational Potential Based on Specified Planetary Model

[gx gy gz] = gravitycentrifugal(planet_coordinates,model) implements the mathematical representation of centrifugal effect based on planetary gravitational potential for the planetary model, model.

example

Planetary Gravitational Potential Based on Custom Rotational Rate

[gx gy gz] = gravitycentrifugal(planet_coordinates,'Custom',value) implements the mathematical representation of centrifugal effect based on planetary gravitational potential using the custom rotational rate, rotational_rate.

example

Examples

collapse all

Calculate the centrifugal effect of Earth gravity in the x-axis at the equator on the surface of Earth.

gx = gravitycentrifugal( [-6378.1363e3 0 0] )
gx = 
-0.0339

Calculate the centrifugal effect of Mars gravity at 15,000 m over the equator and 11,000 m over the North Pole.

p  = [2412.648e3 -2412.648e3 0; 0 0 3376.2e3]
p = 2×3

     2412648    -2412648           0
           0           0     3376200

[gx, gy, gz] = gravitycentrifugal(p, 'Mars')
gx = 2×1

    0.0121
         0

gy = 2×1

   -0.0121
         0

gz = 2×1

     0
     0

Calculate the precessing centrifugal effect of gravity for Earth at 15,000 m over the equator and 11,000 m over the North Pole. This example uses a custom planetary model at Julian date 2451545.

p       = [2412.648e3 -2412.648e3 0; 0 0 3376e3];
% Set Julian date to January 1, 2000 at noon GMT
JD      = 2451545;
% Calculate precession rate in right ascension in meters
pres_RA = 7.086e-12 + 4.3e-15*(JD - 2451545)/36525;
% Calculate the rotational rate in a precessing reference
% frame
Omega   = 7.2921151467e-5 + pres_RA;
[gx, gy, gz] = gravitycentrifugal( p, 'custom', Omega )
gx = 2×1

    0.0128
         0

gy = 2×1

   -0.0128
         0

gz = 2×1

     0
     0

Input Arguments

collapse all

Planet-Centered Planet-Fixed coordinates, specified as an M-by-3 array in meters. The z-axis is positive toward the North Pole. If model is 'Earth', the planet coordinates are ECEF coordinates.

Data Types: double

Planetary model, specified as:

  • 'Mercury'

  • 'Venus'

  • 'Earth'

  • 'Moon'

  • 'Mars'

  • 'Jupiter'

  • 'Saturn'

  • 'Uranus'

  • 'Neptune'

Data Types: double

Custom planetary model, specified as a name-value argument, where the value specifies the planetary rotational rate in radians per second.

Example: 'Custom',Omega

Data Types: double

Output Arguments

collapse all

Gravity values in x-axis of the Planet-Centered Planet-Fixed coordinates, returned as an array of M gravity values in meters per second squared (m/s2).

Gravity values in y-axis of the Planet-Centered Planet-Fixed coordinates, returned as an array of M gravity values in meters per second squared (m/s2).

Gravity values in z-axis of the Planet-Centered Planet-Fixed coordinates, returned as an array of M gravity values in meters per second squared (m/s2).

Version History

Introduced in R2010a