Documentation Center

  • Trial Software
  • Product Updates

gravityzonal

Implement zonal harmonic representation of planetary gravity

Syntax

[gravityXcoord gravityYcoord, gravityZcoord] = gravityzonal(planetCoord)
[gravityXcoord gravityYcoord, gravityZcoord] = gravityzonal(planetCoord, degreeGravityModel)
[gravityXcoord gravityYcoord, gravityZcoord] = gravityzonal(planetCoord, planetModel)
[gravityXcoord gravityYcoord, gravityZcoord] = gravityzonal(planetCoord, planetModel, degreeGravityModel)
[gravityXcoord gravityYcoord, gravityZcoord] = gravityzonal(planetCoord, planetModel, degreeGravityModel, action)
[gravityXcoord gravityYcoord, gravityZcoord] = gravityzonal(planetCoord, 'Custom', equatorialRadius, planetaryGravitional, zonalHarmonicCoeff, action)

Description

[gravityXcoord gravityYcoord, gravityZcoord] = gravityzonal(planetCoord) implements the mathematical representation of zonal harmonic planetary gravity based on planetary gravitational potential. For input, it takes an m-by-3 matrix that contains planet-centered planet-fixed coordinates from the center of the planet in meters. This function calculates the arrays of m gravity values in the x-, y-, and z-axes of the planet-centered planet-fixed coordinates. It uses the fourth order zonal coefficients for Earth by default.

[gravityXcoord gravityYcoord, gravityZcoord] = gravityzonal(planetCoord, degreeGravityModel) uses the degree of harmonic model.

[gravityXcoord gravityYcoord, gravityZcoord] = gravityzonal(planetCoord, planetModel) uses the planetary model.

[gravityXcoord gravityYcoord, gravityZcoord] = gravityzonal(planetCoord, planetModel, degreeGravityModel) uses the degree of harmonic model and planetary model.

[gravityXcoord gravityYcoord, gravityZcoord] = gravityzonal(planetCoord, planetModel, degreeGravityModel, action) specifies the action for out-of-range input.

[gravityXcoord gravityYcoord, gravityZcoord] = gravityzonal(planetCoord, 'Custom', equatorialRadius, planetaryGravitional, zonalHarmonicCoeff, action) uses the equatorial radius, planetary gravitational parameter, and zonal harmonic coefficients for the custom planetary model.

This function does not include the potential due planet rotation, which excludes the centrifugal effects of planetary rotation and the effects of a precessing reference frame.

Input Arguments

planetCoord

m-by-3 matrix that contains planet-centered planet-fixed coordinates from the center of the planet in meters. If planetModel has a value of 'Earth', this matrix contains Earth-centered Earth-fixed (ECEF) coordinates.

planetModel

String that specifies the planetary model. Enter one:

  • 'Mercury'

  • 'Venus'

  • 'Earth'

  • 'Moon'

  • 'Mars'

  • 'Jupiter'

  • 'Saturn'

  • 'Uranus'

  • 'Neptune'

  • 'Custom'

'Custom' requires you to specify your own planetary model using the equatorialRadius, planetaryGravitional, and zonalHarmonicCoeff parameters.

Default: 'Earth'

degreeGravityModel

Degree of harmonic model.

  • 2 — Second degree, J2. Most significant or largest spherical harmonic term, which accounts for the oblateness of a planet. 2 is default if planetModel is 'Mercury', 'Venus', 'Moon', 'Uranus', or 'Neptune'.

  • 3 — Third degree, J3. 3 is default if planetModel is 'Mars'.

  • 4 — Fourth degree, J4 (default). Default is 4 if planetModel is 'Earth, 'Jupiter', 'Saturn' or 'Custom'.

Default:

equatorialRadius

Planetary equatorial radius in meters. Use this parameter only if you specify planetModel as 'Custom'.

planetaryGravitional

Planetary gravitational parameter in meters cubed per second squared. Use this parameter only if you specify planetModel as 'Custom'.

zonalHarmonicCoeff

3-element array defining the zonal harmonic coefficients that the function uses to calculate zonal harmonics planetary gravity. Use this parameter only if you specify planetModel as 'Custom'.

action

String that defines action for out-of-range input. Specify one:

'Error'
'Warning'
'None' (default)

Output Arguments

gravityXcoord

Array of m gravity values in the x-axis of the planet-centered planet-fixed coordinates in meters per second squared.

gravityYcoord

Array of m gravity values in the y-axis of the planet-centered planet-fixed coordinates in meters per second squared.

gravityZcoord

Array of m gravity values in the z-axis of the planet-centered planet-fixed coordinates in meters per second squared.

Examples

Calculate the gravity in the x-axis at the equator on the surface of Earth using the fourth degree model with no warning actions:

gx = gravityzonal( [-6378.1363e3 0 0] ) 

gx =

9.8142
 

Calculate the gravity using the close approximation method at 100 m over the geographic South Pole of Earth with error actions:

[gx, gy, gz] = gravityzonal( [0 0 -6356.851e3], 'Error' )

gx =

     0

gy =

     0

gz =

    9.8317   
 

Calculate the gravity at 15000 m over the equator and 11000 m over the geographic North Pole using a second order Mars model with warning actions:

p  = [2412.648e3 -2412.648e3 0; 0 0 3376.2e3]
[gx, gy, gz] = gravityzonal( p, 'Mars', 2, 'Warning' )
p =

     2412648    -2412648           0
           0           0     3376200

gx =

   -2.6224
         0

gy =

    2.6224
         0

gz =

         0
   -3.7542 
 

Calculate the gravity at 15000 m over the equator and 11000 m over the geographic North Pole using a custom planetary model with no actions:

p= [2412.648e3 -2412.648e3 0; 0 0 3376e3]
GM      = 42828.371901e9  % m^3/s^2
Re      = 3397e3          % m
Jvalues = [1.95545367944545e-3 3.14498094262035e-5 ...
-1.53773961526397e-5]
[gx, gy, gz] = gravityzonal( p, 'custom', Re, GM, ...
Jvalues, 'None' )

More About

expand all

Algorithms

gravityzonal is implemented using the following planetary parameter values for each planet:

PlanetEquatorial Radius (Re) in MetersGravitational Parameter (GM) in m3/s2Zonal Harmonic Coefficients
(J Values)
Earth6378.1363e33.986004415e14[ 0.0010826269 -0.0000025323 -0.0000016204 ]
Jupiter71492.e31.268e17[0.01475 0 -0.00058]
Mars3397.2e34.305e13 [ 0.001964 0.000036 ]
Mercury2439.0e3 2.2032e130.00006
Moon1738.0e3 4902.799e90.0002027
Neptune24764e3 6.809e150.004
Saturn60268.e3 3.794e16 [0.01645 0 -0.001]
Uranus25559.e35.794e15 0.012
Venus6052.0e3 3.257e140.000027

References

Vallado, D. A., Fundamentals of Astrodynamics and Applications, McGraw-Hill, New York, 1997.

Fortescue, P., J. Stark, G. Swinerd, (Eds.). Spacecraft Systems Engineering, Third Edition, Wiley & Sons, West Sussex, 2003.

Tewari, A., Atmospheric and Space Flight Dynamics Modeling and Simulation with MATLAB and Simulink, Birkhäuser, Boston, 2007.

See Also

|

Was this topic helpful?