# Orbit Propagator

Propagate orbit of one or more spacecraft

• Library:
• Aerospace Blockset / Spacecraft / Spacecraft Dynamics

## Description

The Orbit Propagator block propagates the orbit of one or more spacecraft by a propagation method. The library contains two versions of the Orbit Propagator block preconfigured for these propagation methods:

• Kepler (unperturbed) — Kepler universal variable formulation (quicker)

• Numerical (high precision) — More accurate

The size of the provided initial conditions determines the number of spacecraft being modeled. If you supply more than one value for a parameter in the Orbit tab, the block outputs a constellation of satellites. Any parameter with a single provided value is expanded and applied to all the satellites in the constellation. For example, if you provide a single value for all the parameters on the block except True anomaly, which contains six values, the block creates a constellation of six satellites, varying true anomaly only.

The block applies the same expansion behavior to input port A_icrf (applied acceleration). This port accepts either a single value expanded to all spacecraft being modeled, or individual values to apply to each spacecraft.

For more information on the propagation methods the Orbit Propagator block uses, see Orbit Propagation Methods.

You can define initial orbital states in the Orbit tab as:

• A set of orbital elements

• Position and velocity state vectors in International Celestial Reference Frame (ICRF) or fixed-frame coordinate systems.

The block uses quaternions, which are defined using the scalar-first convention.

For more information on the coordinate systems the Orbit Propagator block uses, see Coordinate Systems.

## Ports

### Input

expand all

Acceleration applied to the spacecraft with respect to the port coordinate system (ICRF or fixed-frame), specified as a 3-element vector or m-by-3 array, at the current time step.

#### Dependencies

To enable this port:

• Set Propagation method to ```Numerical (high precision)```.

• Select the Input external accelerations check box.

Data Types: `double`

Moon libration angles for transformation between the ICRF and Moon-centric fixed-frame using the Moon-centric Principal Axis (PA) system, specified as a 3-element vector. To get these values, use the Moon Libration block.

Note

The fixed-frame used by this block when Central body is set to `Moon` is the Mean Earth/pole axis (ME) system. For more information, see Algorithms.

#### Dependencies

To enable this port:

• Set Propagation method to ```Numerical (high precision)```.

• Set Central body to `Moon`.

• Select the Input Moon libration angles check box.

Data Types: `double`

Central body spin axis instantaneous right ascension, declination, and rotation angle, specified as a 3-element vector. This port is available only for custom central bodies.

#### Dependencies

To enable this port:

• Set Propagation method to ```Numerical (high precision)```.

• Set Central body to `Custom`.

• Set Central body spin axis source to `Port`.

Data Types: `double`

### Output

expand all

Position of the spacecraft with respect to (ICRF or fixed-frame), returned as a 3-element vector or numSat-by-3 array, where m is number of spacecraft, at the current time step. The size of the initial conditions provided in the Orbit tab control the port dimension. numSat is the number of spacecraft.

Data Types: `double`

Velocity of the spacecraft with respect to ICRF or fixed-frame, returned as a 3-element vector or numSat-by-3 array, at the current time step. numSat-by-3 array. The size of the initial conditions provided in the Orbit tab control the port dimension.

Data Types: `double`

Transformation between the ICRF coordinate system and fixed-frame, returned as a 4-element vector (scalar first), at the current time step.

#### Dependencies

To enable this port:

• Set Propagation method to ```Numerical (high precision)```.

• Select the Output quaternion (ICRF to Fixed-frame) check box.

Data Types: `double`

Time at current time step, returned as a:

• scalar — If you specify the Start data/time parameter as a Julian date.

• 6-element vector — If you specify the Start data/time parameter as a Gregorian date with six elements (year, month, day, hours, minutes, seconds).

This value is equal to the Start date/time parameter value + the elapsed simulation time.

#### Dependencies

To enable this parameter, select the Output current date/time (UTC Julian date) check box.

Data Types: `double`

## Parameters

expand all

### Main

Orbit propagation method, specified as:

• `Kepler (unperturbed)` — Uses a universal variable formulation of the Kepler problem to determine the spacecraft position and velocity at each time step. This method is faster than ```Numerical (high precision)```.

• `Numerical (high precision)` — Determine the spacecraft position and velocity at each time step using numerical integration. This option models central body gravity based on the settings in the Central body tab. This method is more accurate than `Kepler (unperturbed)`, but slower.

#### Programmatic Use

 Block Parameter: `propagator` Type: character vector Values: `'Kepler (unperturbed)'` | ```'Numerical (high precision)'``` Default: `'Kepler (unperturbed)'`

To enable additional external accelerations to be included in the integration of the spacecraft equations of motion, select this check box. Otherwise, clear this check box.

#### Dependencies

To enable this check box, set Propagation method to `Numerical (high precision)`.

#### Programmatic Use

 Block Parameter: `accelIn` Type: character vector Values: `'off'` | `'on'` Default: `'off'`

Input additional accelerations, specified as `ICRF` or `Fixed-frame`. These accelerations are included in integration of the spacecraft equations of motion.

#### Dependencies

To enable this parameter:

• Set Propagation method to ```Numerical (high precision)```

• Select the Input external accelerations check box

#### Programmatic Use

 Block Parameter: `accelFrame` Type: character vector Values: `'ICRF'` | `'Fixed-frame'` Default: `'ICRF'`

Coordinate frame for output ports, specified as `ICRF` or `Fixed-frame`. These port labels are affected:

• Output port X

• Output port V

#### Dependencies

To enable this parameter, set Propagation method to `Numerical (high precision)`.

#### Programmatic Use

 Block Parameter: `outportFrame` Type: character vector Values: `'ICRF'` | `'Fixed-frame'` Default: `'ICRF'`

Initial start date and time of simulation, specified as a Julian or Gregorian date. The block defines initial conditions using this value.

Tip

To calculate the Julian date, use the `juliandate` function.

#### Programmatic Use

 Block Parameter: `startDate` Type: character vector Values:``` 'juliandate(2020, 1, 1, 12, 0, 0)'``` | valid scalar Julian date | valid Gregorian date including year, month, day, hours, minutes, seconds as 6-element vector Default: ` 'juliandate(2020, 1, 1, 12, 0, 0)'`

To output the current date or time, select this check box. Otherwise, clear this check box.

#### Programmatic Use

 Block Parameter: `dateOut` Type: character vector Values: `'off'` | `'on'` Default: `'off'`

Out-of-range block behavior, specified as follows:

ActionDescription
`None` No action.
`Warning` Warning displays in the MATLAB® Command Window. Model simulation continues.
`Error` (default) MATLAB returns an exception. Model simulation stops.

#### Programmatic Use

 Block Parameter: `action` Type: character vector Values: `'None'` | `'Warning'` | `'Error'` Default: `'Warning'`

### Orbit

Define the initial states of the space craft.

Input method for initial states of orbit, specified as ```Orbital elements```, `ICRF state vector`, or `Fixed-frame state vector`.

#### Dependencies

Available options are based on Propagation method settings:

Kepler (unperturbed)Numerical (high precision)
Orbital elementsOrbital elements
ICRF state vectorICRF state vector
Fixed-frame state vector

#### Programmatic Use

 Block Parameter `stateFormatKep` when `propagator` is set to `Kepler (unperturbed)`, `stateFormatNum` when `propagator` is set to ```Numerical (high precision)``` Type: character vector Values: `'Orbital elements'` | `'ICRF state vector'` when `propagator` is set to ```'Kepler (unperturbed)'``` | `'Orbital elements'` | `'ICRF state vector'` | `'Fixed-frame state'` when `propagator` is set to ```'Numerical (high precision)'``` Default: `'Orbital elements'`

Orbit classification, specified as:

• `Keplerian` — Model elliptical orbits using six standard Keplerian orbital elements.

• `Elliptical equatorial` — Define an equatorial orbit, where inclination is 0 or 180 degrees and the right ascension of the ascending node is undefined.

• `Circular` — Define a circular orbit, where eccentricity is 0 and the argument of periapsis is undefined.

• `Circular equatorial` — Define a circular orbit, where eccentricity is 0 or 10 degrees. Argument of periapsis and the right ascension of the ascending node are undefined.

#### Dependencies

To enable this parameter, set Initial state format to `Orbital elements`.

#### Programmatic Use

 Block Parameter: `orbitType` Type: character vector Values: `'Keplerian'` | `'Elliptical equatorial'` | `'Circular inclined'` | ```'Circular equatorial'``` Default: `'Keplerian'`

Half of ellipsis major axis, specified as a 1D array whose size is the number of spacecraft.

• For parabolic orbits, this block interprets this parameter as the periapsis radius (distance from periapsis to the focus point of orbit).

• For hyperbolic orbits, this block interprets this parameter as the distance from periapsis to the hyperbola center.

#### Dependencies

To enable this parameter, set Initial state format to `Orbital elements`.

#### Programmatic Use

 Block Parameter: `semiMajorAxis` Type: character vector Values: scalar | 1D array of size m, number of spacecraft Default: `'6786000'`

Deviation of the orbit from a perfect circle, specified as a scalar or 1D array of size that is number of spacecraft.

If Orbit type is set to `Keplerian`, value can be:

• `0` for circular orbit

• Between `0` and `1` for elliptical orbit

• `1` for parabolic orbit

• Greater than `1` for hyperbolic orbit

#### Dependencies

To enable this parameter, set:

• Initial state format to ```Orbital elements```.

• Orbit type to `Keplerian` or `Elliptical equatorial`.

#### Programmatic Use

 Block Parameter: `eccentricity` Type: character vector Values: `0.01` | scalar | value between `0` and `1`, or greater than `1` for Keplerian orbit type | 1D array of size numSat Default: `'0.01'`

Vertical tilt of the ellipse with respect to the reference plane measured at the ascending node, specified as a scalar or 1D array of size numSat, in specified units. numSat is the number of spacecraft.

#### Dependencies

To enable this parameter, set:

• Initial state format to ```Orbital elements```

• Orbit type to `Keplerian` or `Circular inclined`

#### Programmatic Use

 Block Parameter: `inclination` Type: character vector Values: 50 | scalar | 1D array of size numSat | degrees between 0 and 180 | radians between 0 and pi Default: `'50'`

Right ascension of ascending node (RAAN), specified as a scalar value between `0` and `360` or 1D array of size numSat, in specified units. numSat is the number of spacecraft. RAAN is the angular distance along the reference plane from the ICRF x-axis to the location of the ascending node (the point at which the spacecraft crosses the reference plane from south to north).

#### Dependencies

To enable this parameter, set:

• Initial state format to ```Orbital elements```.

• Orbit type to `Keplerian` or `Circular inclined`.

#### Programmatic Use

 Block Parameter: `raan` Type: character vector Values: `95` | scalar value between `0` and `360` | 1D array of size m number of spacecraft Default: `'95'`

Angle from the spacecraft ascending node to periapsis (closest point of orbit to the central body), specified as a 1D array of size m that is number of spacecraft, in specified units.

#### Dependencies

To enable this parameter, set:

• Initial state format to ```Orbital elements```

• Orbit type to `Keplerian`

#### Programmatic Use

 Block Parameter: `argPeriapsis` Type: character vector Values: `'95'` | scalar value between `0` and `360` | 1D array of size numSat Default: `'93'`

Angle between periapsis (closest point of orbit to the central body) and the initial position of spacecraft along its orbit at Start date/time, specified as a scalar or 1D array of size numSat, in specified units. numSat is the number of spacecraft.

#### Dependencies

To enable this parameter, set:

• Initial state format to ```Orbital elements```.

• Orbit type to `Keplerian` or `Elliptical inclined`.

#### Programmatic Use

 Block Parameter: `trueAnomaly` Type: character vector Values: `'203'` | scalar | degrees between `0` and `360` | radians between `0` and `2*pi` | 1D array of size numSat Default: `'203'`

Angle between the ascending node and the initial position of spacecraft along its orbit at Start date/time, specified as a scalar or 3-element vector or 1D array of size number of spacecraft, in specified units.

#### Dependencies

To enable this parameter, set:

• Initial state format to ```Orbital elements```.

• Orbit Type to ```Circular inclined```.

#### Programmatic Use

 Block Parameter: `argLat` Type: character vector Values: `'200'` | scalar | degrees between `0` and `360` | radians between `0` and `2*pi` | 1D array of size numSat Default: `'200'`

Angle between the ICRF x-axis and the eccentricity vector, specified as a scalar or 3-element vector or 1D array of size number of spacecraft, in specified units.

#### Dependencies

To enable this parameter, set:

• Initial state format to ```Orbital elements```.

• Orbit type to ```Elliptical equatorial```.

#### Programmatic Use

 Block Parameter: `lonPeriapsis` Type: character vector Values: 100 | scalar | degrees between `0` and `360` | radians between `0` and `2*pi` | 1D array of size m, number of spacecraft Default: `'100'`

Angle between the ICRF x-axis and the initial position of spacecraft along its orbit at Start date/time, specified as a scalar or 1D array of size numSat, in specified units. numSat is the number of spacecraft.

#### Dependencies

To enable this parameter, set:

• Initial state format to ```Orbital elements```.

• Orbit type to ```Circular equatorial```.

#### Programmatic Use

 Block Parameter: `trueLon` Type: character vector Values: `'150'` | scalar | degrees between `0` and `360` | radians between `0` and `2*pi` | 1D array of size numSat Default: `'150'`

Cartesian position vector of spacecraft in ICRF coordinate system at Start date/time, specified as a 3-element vector for single spacecraft or numSat-by-3 array for multiple spacecraft. numSat is the number of spacecraft.

#### Dependencies

To enable this parameter, set Initial state format to `ICRF state vector`.

#### Programmatic Use

 Block Parameter: `inertialPosition` Type: character vector Values: `[3649700.0 3308200.0 -4676600.0]` | 3-element vector for single spacecraft or 2D array of size m-by-3 array of multiple spacecraft Default: `'[3649700.0 3308200.0 -4676600.0]'`

Cartesian velocity vector of spacecraft in ICRF coordinate system at Start date/time, specified as a 3-element vector for single spacecraft or 2D array of size m-by-3 array of multiple spacecraft.

#### Dependencies

To enable this parameter, set Initial state format to `ICRF state vector`.

#### Programmatic Use

 Block Parameter: `inertialVelocity` Type: character vector Values: `[-2750.8 6666.4 2573.4]` | 3-element vector for single spacecraft or 2D array of size m-by-3 array of multiple spacecraft Default: `'[-2750.8 6666.4 2573.4]'`

Cartesian position vector of spacecraft in fixed-frame coordinate system at Start date/time, specified as a 3-element vector for single spacecraft or 2D array of size m-by-3 array of multiple spacecraft.

#### Dependencies

To enable this parameter, set:

• Propagation method to ```Numerical (high precision)```.

• set Initial state format to ```Fixed-frame state vector```.

#### Programmatic Use

 Block Parameter: `fixedPosition` Type: character vector Values: `'[-4142689.0 -2676864.7 -4669861.6]'` | 3-element vector for single spacecraft or 2D array of size m-by-3 array of multiple spacecraft Default: `'[-2750.8 6666.4 2573.4]'`

Cartesian velocity vector of spacecraft in fixed-frame coordinate system at Start date/time, specified as a 3-element vector for single spacecraft or 2D array of size m-by-3 array of multiple spacecraft.

#### Dependencies

To enable this parameter, set:

• Propagation method to ```Numerical (high precision)```.

• Initial state format to ```Fixed-frame state vector```.

#### Programmatic Use

 Block Parameter: `fixedVelocity` Type: character vector Values: `'[1452.7 -6720.7 2568.1]'` | 3-element vector for single spacecraft or 2D array of size m-by-3 array of multiple spacecraft Default: `'[1452.7 -6720.7 2568.1]'`

### Central Body

Celestial body, specified as `Earth`, `Moon`, `Mercury`, `Venus`, `Mars`, `Jupiter`, `Saturn`, `Uranus`, `Neptune`, or `Custom`, around which the spacecraft defined in the Orbit tab orbits.

#### Programmatic Use

 Block Parameter: `centralBody` Type: character vector Values: `'Earth'` | `'Moon'` |`'Mercury'` | `'Venus'` | `'Mars'` | `'Jupiter'` | `'Saturn'` | `'Uranus'` | `'Neptune'` | `'Custom'` | Default: `'Earth'`

Control the gravity model for the central body, specified as `Spherical harmonics`, `Point-mass`, or ```Oblate ellipsoid (J2)```.

#### Dependencies

To enable this parameter, set Propagation method to `Numerical (high precision)`. Available options are based on Central body settings:

Earth, Moon, Mars, or CustomMercury, Venus, Jupiter, Saturn, Uranus, or Neptune
`None``None`
`Spherical harmonics``Oblate ellipsoid (J2)`
`Point-mass``Point-mass`
`Oblate ellipsoid (J2)`

#### Programmatic Use

 Block Parameter: `gravityModel` when `centralBody` set to `'Earth'`, `'Moon'`, `'Mars'`, or `'Custom'` | `gravityModelnoSH` when `centralBody` set to `Mercury`, `Venus`, `Jupiter`, `Saturn`, `Uranus`, or `Neptune` Type: character vector Values: `'Spherical harmonics'` | `'None'` | `'Point-mass'` | `'Oblate ellipsoid (J2)'` when `centralBody` set to `'Earth'`, `'Moon'`, `'Mars'`, or `'Custom'`; `'Point-mass'` | ```'Oblate ellipsoid (J2)'``` when `centralBody` set to `Mercury`, `Venus`, `Jupiter`, `Saturn`, `Uranus`, or `Neptune` Default: `'Spherical harmonics'` when `centralBody` set to `'Earth'`, `'Moon'`, `'Mars'`, or `'Custom'`; ```'Oblate ellipsoid (J2)'``` when `centralBody` set to `Mercury`, `Venus`, `Jupiter`, `Saturn`, `Uranus`, or `Neptune`

Spherical harmonic gravitational potential model, specified according to the specified Central body.

#### Dependencies

To enable this parameter, set Propagation method to `Numerical (high precision)`. Available options are based on Central body settings:

Central bodySpherical Harmonic Model Option
EarthEGM2008, EGM96, or EIGEN-GL04C
MoonLP-100K or LP-165P
MarsGMM2B

#### Programmatic Use

 Block Parameter: `'earthSH'` when `centralBody` set to `'Earth'` | `'moonSH'` when `centralBody` set to `'Moon'` | `'marsSH'` when `centralBody` set to `'Mars'` Type: character vector Values: `'EGM2008'` | `'EGM96'` | `'EIGEN-GL04C'` when `centralBody` set to `'earthSH'`; `'LP-100K'` | `'LP-165P'` when `centralBody` set to `'moonSH'`; `'GMM2B'` when `centralBody` set to `'marsSH'` Default: `'Spherical harmonics'`

Harmonic coefficient MAT-file that contains definitions for a custom planetary model, specified as a character vector or string.

This file must contain:

VariableDescription
Re

Scalar of planet equatorial radius in meters (m).

GM

Scalar of planetary gravitational parameter in meters cubed per second squared (m3/s2)

.
degree

Scalar of maximum degree.

C

(degree+1)-by-(degree+1) matrix containing normalized spherical harmonic coefficients matrix, C.

S

(degree+1)-by-(degree+1) matrix containing normalized spherical harmonic coefficients matrix, S.

#### Dependencies

To enable this parameter, set:

• Propagation method to ```Numerical (high precision)```.

• Central body to `Custom`.

• Gravitational potential model to``` Spherical harmonics```.

#### Programmatic Use

 Block Parameter: `shFile` Type: character vector Values: `'aerogmm2b.mat'` | harmonic coefficient MAT-file Default: `'aerogmm2b.mat'`

Degree of harmonic model, specified as a double scalar:

Planet ModelRecommended DegreeMaximum Degree

`EGM2008`

120

2159

`EGM96`

70

360

`LP100K`

60

100

`LP165P`

60

165

`GMM2B`

60

80

`EIGENGL04C`

70

360

#### Dependencies

To enable this parameter, set:

• Propagation method to ```Numerical (high precision)```.

• Central body to `Earth`, `Moon`, `Mars`, or `Custom`.

• Gravitational potential model to ``` Spherical harmonics```.

#### Programmatic Use

 Block Parameter: `shDegree` Type: character vector Values: `'80'` | scalar Default: `'80'`

Select this check box to use Earth orientation parameters for the transformation between the ICRF and fixed-frame coordinate systems. Otherwise, clear this check box.

#### Dependencies

To enable this parameter, set:

• Propagation method to ```Numerical (high precision)```.

• Central body to `Earth`.

#### Programmatic Use

 Block Parameter: `useEOPs` Type: character vector Values: `'on'` | `'off'` Default: `'on'`

Custom list of Earth orientation data, specified in a MAT-file.

#### Dependencies

To enable this parameter:

• Select the Use Earth orientation parameters (EOPs) to check box.

• Set Propagation method to ```Numerical (high precision)```.

• Set Central body to `Earth`.

#### Programmatic Use

 Block Parameter: `eopFile` Type: character vector Values: `'aeroiersdata.mat'` | `MAT-file` Default: `'aeroiersdata.mat'`

To specify libration angles (φ θ ψ) for Moon orientation, select this check box.

#### Dependencies

To enable this parameter, set:

• Propagation method to ```Numerical (high precision)```.

• Central body to `Moon`.

#### Programmatic Use

 Block Parameter: `useMoonLib` Type: character vector Values: `'off'` | `'on'` Default: `'off'`

To add output transformation quaternion port for the quaternion transformation from the ICRF to the Fixed-frame coordinate system, select this check box.

#### Dependencies

To enable this check box, set Propagation method to `Numerical (high precision)`.

#### Programmatic Use

 Block Parameter: `outputTransform` Type: character vector Values: `'off'` | `'on'` Default: `'off'`

Central body spin axis, specified as `Port` or `Dialog`. The block uses the spin axis to calculate the transformation from the ICRF to the fixed-frame coordinate system for the custom central body.

#### Dependencies

To enable this parameter, set:

• Propagation method to ```Numerical (high precision)```.

• Central body to `Custom`.

#### Programmatic Use

 Block Parameter: `cbPoleSrc` Type: character vector Values: `'Port'` | `'Dialog'` Default: `'Port'`

Right ascension of central body spin axis at J2000 (2451545.0 JD, 2000 Jan 1 12:00:00 TT), specified as a double scalar.

#### Dependencies

To enable this parameter, set:

• Propagation method to ```Numerical (high precision)```.

• Central body to `Custom`.

• Central body spin axis source to `Dialog`.

#### Programmatic Use

 Block Parameter: `cbRA` Type: character vector Values: `'317.68143'` | double scalar Default: `'317.68143'`

Right ascension rate of the central body spin axis, specified as a double scalar, in specified angle units/century.

#### Dependencies

To enable this parameter, set:

• Propagation method to ```Numerical (high precision)```.

• Central body to `Custom`.

• Central body spin axis source to `Dialog`.

#### Programmatic Use

 Block Parameter: `cbRARate` Type: character vector Values: `'-0.1061'` | double scalar Default: `'-0.1061'`

Declination of the central body spin axis at J2000 (2451545.0 JD, 2000 Jan 1 12:00:00 TT), specified as a double scalar.

#### Dependencies

To enable this parameter, set:

• Propagation method to ```Numerical (high precision)```.

• Central body to `Custom`.

• Central body spin axis source to `Dialog`.

#### Programmatic Use

 Block Parameter: `cbDec` Type: character vector Values: `'52.88650'` | double scalar Default: `'52.88650'`

Declination rate of the central body spin axis, specified as a double scalar, in specified angle units/century.

#### Dependencies

To enable this parameter, set:

• Propagation method to ```Numerical (high precision)```.

• Central body to `Custom`.

• Central body spin axis source to `Dialog`.

#### Programmatic Use

 Block Parameter: `cbDecRate` Type: character vector Values: `'-0.0609'` | double scalar Default: `'-0.0609'`

Rotation angle of the central body x axis with respect to the ICRF x-axis at J2000 (2451545.0 JD, 2000 Jan 1 12:00:00 TT), specified as a double scalar, in specified angle units.

#### Dependencies

To enable this parameter, set:

• Propagation method to ```Numerical (high precision)```.

• Central body to `Custom`.

• Central body spin axis source to `Dialog`.

#### Programmatic Use

 Block Parameter: `cbRotAngle` Type: character vector Values: `'176.630'` | double scalar Default: `'176.630'`

Rotation rate of the central body x axis with respect to the ICRF x-axis (2451545.0 JD, 2000 Jan 1 12:00:00 UTC), specified as a double scalar, specified angle units/day.

#### Dependencies

To enable this parameter, set:

• Propagation method to ```Numerical (high precision)```.

• Central body to `Custom`.

• Central body spin axis source to `Dialog`.

#### Programmatic Use

 Block Parameter: `cbRotRate` Type: character vector Values: `'350.89198226'` | double scalar Default: `'350.89198226'`

Equatorial radius for a custom central body, specified as a double scalar.

#### Dependencies

To enable this parameter, set:

• Propagation method to ```Numerical (high precision)```.

• Gravitational potential model to `Point-mass` or ```Oblate ellipsoid (J2)```.

#### Programmatic Use

 Block Parameter: `customR` Type: character vector Values: `'3396200'` | double scalar Default: `'3396200'`

Flattening ratio for custom central body, specified as a double scalar.

#### Dependencies

To enable this parameter, set:

• Central body to `Custom`.

• Gravitational potential model to `Point-mass` or ```Oblate ellipsoid (J2)```.

#### Programmatic Use

 Block Parameter: `customF` Type: character vector Values: `'0.00589'` | double scalar Default: `'0.00589'`

Gravitational parameter for a custom central body, specified as a double scalar.

#### Dependencies

To enable this parameter, set:

• Central body to `Custom`.

• Gravitational potential model to `Point-mass` or ```Oblate ellipsoid (J2)```.

#### Programmatic Use

 Block Parameter: `customMu` Type: character vector Values: `'4.305e13'` | double scalar Default: `'4.305e13'`

Most significant or largest spherical harmonic term, which accounts for oblateness of a celestial body, specified as a double scalar.

#### Dependencies

To enable this parameter, set:

• Propagation method to ```Numerical (high precision)```.

• Central body to `Custom`.

• Gravitational potential model to ```Oblate ellipsoid (J2)```.

#### Programmatic Use

 Block Parameter: `customJ2` Type: character vector Values: `'1.0826269e-03'` | double scalar Default: `'1.0826269e-03'`

### Units

Parameter and port units, specified as:

UnitsDistance UnitsVelocity UnitsAcceleration Units
`Metric (m/s)`metersmeters/secmeters/sec2
`Metric (km/s)`kilometerskilometers/seckilometers/sec2
`Metric (km/h)`kilometerskilometers/hourkilometers/hour2
`English (ft/s)`feetfeet/secfeet/sec2
`English (kts)`nautical mileknotsknots/sec

#### Programmatic Use

 Block Parameter: `units` Type: character vector Values: `'Metric (m/s)'` | `'Metric (km/s)'` | `'Metric (km/h)'` | `'English (ft/s)'` | `'English (kts)'` Default: `'Metric (m/s)'`

Parameter and port units for angles, specified as `Degrees` or `Radians`.

#### Programmatic Use

 Block Parameter: `angleUnits` Type: character vector Values: `'Degrees'` | `'Radians'` Default: `'Degrees'`

Time format for Start date/time (UTC Julian date) and output port tutc, specified as `Julian date` or `Gregorian`.

#### Programmatic Use

 Block Parameter: ` timeFormat` Type: character vector Values: `'Julian date'` | `'Gregorian'` Default: `'Julian date'`

expand all

## References

[1] Vallado, David. Fundamentals of Astrodynamics and Applications, 4th ed. Hawthorne, CA: Microcosm Press, 2013.

[2] Gottlieb, R. G., "Fast Gravity, Gravity Partials, Normalized Gravity, Gravity Gradient Torque and Magnetic Field: Derivation, Code and Data," Technical Report NASA Contractor Report 188243, NASA Lyndon B. Johnson Space Center, Houston, Texas, February 1993.

[3] Konopliv, A. S., S. W. Asmar, E. Carranza, W. L. Sjogen, D. N. Yuan., "Recent Gravity Models as a Result of the Lunar Prospector Mission, Icarus", Vol. 150, no. 1, pp 1–18, 2001.

[4] Lemoine, F. G., D. E. Smith, D.D. Rowlands, M.T. Zuber, G. A. Neumann, and D. S. Chinn, "An improved solution of the gravity field of Mars (GMM-2B) from Mars Global Surveyor", Journal Of Geophysical Research, Vol. 106, No. E10, pp 23359-23376, October 25, 2001.

[5] Seidelmann, P.K., Archinal, B.A., A’hearn, M.F. et al. "Report of the IAU/IAG Working Group on cartographic coordinates and rotational elements: 2006." Celestial Mech Dyn Astr 98, 155–180 (2007).