# gravitycentrifugal

Implement centrifugal effect of planetary gravity

## Syntax

```[gx gy gz] = gravitycentrifugal(planet_coordinates) [gx gy gz] = gravitycentrifugal(planet_coordinates, model ) [gx gy gz] = gravitycentrifugal(planet_coordinates, 'Custom', rotational_rate) ```

## Description

```[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. It performs these calculations using `planet_coordinates`, an `M`-by-3 array of Planet-Centered Planet-Fixed coordinates. You use centrifugal force in rotating or noninertial coordinate systems. Gravity centrifugal effect values are greatest at the equator of a planet.

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

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

## Input Arguments

 `planet_coordinates` `M`-by-3 array of Planet-Centered Planet-Fixed coordinates in meters. The `z`-axis is positive toward the North Pole. If `model` is `'Earth'`, the planet coordinates are ECEF coordinates. `model` Planetary model. Default is `'Earth'`. Specify one: `'Mercury'``'Venus'``'Earth'``'Moon'``'Mars'``'Jupiter'``'Saturn'``'Uranus'``'Neptune'``'Custom'` `'Custom'` requires that you specify your own planetary model using the `rotational_rate` parameter. `rotational_rate` Scalar value that specifies the planetary rotational rate in radians per second. Specify this parameter only if `model` has the value `'Custom'`.

## Output Arguments

 `gx` Array of `M` gravity values in the x-axis of the Planet-Centered Planet-Fixed coordinates in meters per second squared (m/s2). `gy` Array of `M` gravity values in the y-axis of the Planet-Centered Planet-Fixed coordinates in meters per second squared (m/s2). `gz` Array of `M` gravity values in the z-axis of the Planet-Centered Planet-Fixed coordinates in meters per second squared (m/s2).

## Examples

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] )`

Calculate the centrifugal effect of Mars gravity at 15000 m over the equator and 11000 m over the North Pole:

```p = [2412.648e3 -2412.648e3 0; 0 0 3376.2e3] [gx, gy, gz] = gravitycentrifugal( p, 'Mars' )```

Calculate the precessing centrifugal effect of gravity for Earth at 15000 m over the equator and 11000 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 )``` 