Spacecraft Dynamics

Libraries:
Aerospace Blockset /
Spacecraft /
Spacecraft Dynamics
Description
The Spacecraft Dynamics block models translational and rotational dynamics of spacecraft using numerical integration. It computes the position, velocity, attitude, and angular velocity of one or more spacecraft over time. For the most accurate results, use a variable step solver with low tolerance settings (less than 1e-8). To trade off accuracy for speed, use larger tolerances, depending on your mission requirements.
You can define initial orbital states as
A set of orbital elements.
Position and velocity state vectors.
To propagate orbital states, the block uses the gravity model selected for the current central body. It also includes external accelerations and forces that you provide as inputs to the block. To define initial attitude states, use quaternions, direction cosine matrices (DCMs), or Euler angles.
To propagate attitude states, the block uses moments provided as inputs to the block and mass properties defined on the block.
Aerospace Blockset™ uses quaternions that are defined using the scalar-first convention.
The Spacecraft Dynamics block supports scalar and vector expansion. The block parameter and input port dimensions determine the number of the output signals and the number of spacecraft. After scalar and vector expansion, all parameters in the Orbit, Mass, and Attitude tabs and all input ports except for φθψ (Moon libration angles) and αδW (right ascension, declination, and rotation angle) input ports are defined for each spacecraft.
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, Attitude, or Mass tabs, 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 the block input ports. All input ports
support expansion except Moon libration angles (when Central
body is Moon
) and Spin axis right ascension
(RA) at J2000, Spin axis declination (Dec) at J2000, and
Initial rotation angle at J2000 (when Central body
is Custom
). All other ports accept either a single value expanded
to all spacecraft being modeled, or individual values applied to each spacecraft.
For more information on the coordinate systems and rotational and translational dynamics the Spacecraft Dynamics block uses, see Algorithms.
Atmospheric Drag
To help model the drag on spacecraft for high precision orbit propagation, the Spacecraft Dynamics block supports drag. Atmospheric drag affects spacecraft flying at low Earth orbit (LEO); it is less relevant further away from Earth. For the atmospheric drag equation, see Translational Dynamics.
Third Body Gravity Effects
To include the effects of point-mass Third Body gravity, select which third bodies to include. These calculations require an Ephemeris model and data. For the third body contribution equation, see Translational Dynamics.
Solar Radiation Pressure
To include the effects of solar radiation pressure (SRP) on the spacecraft, provide an eclipse fraction or specify a shadow model to compute the fraction. Consider taking solar radiation pressure into account when atmosphere drag is negligible and pointing accuracy requirements are strict. For the solar radiation pressure equation, see Translational Dynamics.
Examples
Getting Started with the Spacecraft Dynamics Block
Model six degree-of-freedom rigid-body dynamics of a spacecraft or constellation of spacecraft with the Spacecraft Dynamics block from Aerospace Blockset™.
Developing the Apollo Lunar Module Digital Autopilot
Develop Apollo Lunar Module digital autopilot using Simulink® and Aerospace Blockset.
Analyzing Spacecraft Attitude Profiles with Satellite Scenario
Propagate orbit and attitude states in Simulink and visualize computed trajectory and attitude profile in a satellite scenario.
Hohmann Transfer with the Spacecraft Dynamics Block
Model a Hohmann transfer of a spacecraft between two circular coplanar orbits.
Ports
Input
Force applied to the spacecraft center of mass in the body frame, specified as a 3-element vector or numSat-by-3 array at the current time step. numSat is the number of spacecraft.
Dependencies
To enable this port, set the Input body forces parameter to
on
.
Data Types: double
Moment applied to the spacecraft with respect to mass in the body frame, specified as a 3-element vector or numSat-by-3 array at the current time step. numSat is the number of spacecraft.
Dependencies
To enable this port, set the Input body moments parameter
to on
.
Data Types: double
External acceleration to apply to the spacecraft with respect to the ICRF or fixed-frame at the current timestep, specified as a 3-element vector or m-by-3 array.
Dependencies
To enable this port, set the Input external accelerations
parameter to on
.
To specify the acceleration coordinate frame, set the External acceleration coordinate frame parameter.
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 Central body to
Moon
.Set the Input Moon libration angles parameter to
on
.
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 Central body to
Custom
.Set Central body spin axis source to
Port
.
Data Types: double
Spacecraft mass at the current timestep. numSat is the number of spacecraft.
Dependencies
To enable this port, set Mass type to Custom
Variable
.
Data Types: double
Rate of change of mass (positive if accreted, negative if ablated) at the current timestep, specified as a scalar or 1D array of size numSat. numSat is the number of spacecraft.
Dependencies
To enable this port, set Mass type to Simple
Variable
.
Data Types: double
Spacecraft inertia tensor, specified as a 3-by-3 array or 3-by-3-by-numSat array at the current timestep. numSat is the number of spacecraft.
Dependencies
To enable this port, set Mass type to Custom
Variable
.
Data Types: double
Rate of change of inertia tensor matrix, specified as a 3-by-3 array or 3-by-3-by-numSat array at the current time step. numSat is the number of spacecraft.
Dependencies
To enable this port, set Mass type to Custom
Variable
.
Data Types: double
Relative velocity at which the mass is accreted to or ablated from the body in body-fixed axes, specified as a 3-element vector or numSat-by-3 array. numSat is the number of spacecraft.
Dependencies
To enable this port:
Set Mass type to
Custom Variable
orSimple Variable
.Set the Include mass flow relative velocity parameter to
on
.
Data Types: double
Atmospheric density to calculate acceleration due to atmospheric drag.
Dependencies
To enable this port:
Set the Central Body parameter to
Earth
.Set the Include atmospheric drag parameter to
on
.Set the Atmospheric density source parameter to
Port
.
Data Types: double
81-day average Ottawa F10.7 cm solar flux, centered on the current day specified in Start date/time. These F107 Average values correspond to the 10.7 cm radio flux at the actual distance of the Earth from the Sun. This site provides both classes of values:
Dependencies
To enable this port:
Set the Central Body parameter to
Earth
.Set the Include atmospheric drag parameter to
on
.Set the Atmospheric density source parameter to
Dialog
.
Data Types: double
Daily Ottawa F10.7 cm solar flux, centered on the current day specified in Start date/time. The f107Daily values do not correspond to the radio flux at 1 AU. This site provides both classes of values:
Dependencies
To enable this port:
Set the Central Body parameter to
Earth
.Set the Include atmospheric drag parameter to
on
.Set the Atmospheric density source parameter to
Dialog
.
Data Types: double
Daily magnetic index information (aph), specified as an N-by-7 array. The magnetic index information consists of:
Daily magnetic index (AP) |
3 hour AP for current time |
3 hour AP for 3 hours before current time |
3 hour AP for 6 hours before current time |
3 hour AP for 9 hours before current time |
Average of eight 3 hour AP indices from 12 to 33 hours before current time |
Average of eight 3 hour AP indices from 36 to 57 hours before current time |
The effects of daily magnetic index are not large or established below 80,000 m. For more information, see Limitations on NRLMSISE-00 Atmosphere Model.
Dependencies
To enable this port:
Set the Central Body parameter to
Earth
.Set the Include atmospheric drag parameter to
on
.Set the Atmospheric density source parameter to
Dialog
.
Data Types: double
Variation flags, specified as an array of 23, to enable or disable particular
variations for the outputs. You can specify one of the following values for a field.
The default value for each field is 1
.
0.0
Removes the value effect on the output.
1.0
Applies the main and the cross-term effects of that value on the output.
2.0
Applies only the cross-term effect of that value on the output.
Field | Description |
---|---|
Flags(1)
| F10.7 effect on mean |
Flags(2)
| Independent of time |
Flags(3)
| Symmetrical annual |
Flags(4)
| Symmetrical semiannual |
Flags(5)
| Asymmetrical annual |
Flags(6)
| Asymmetrical semiannual |
Flags(7)
| Diurnal |
Flags(8)
| Semidiurnal |
Flags(9)
| Daily AP. If you set this field to -1, the block uses the entire
matrix of magnetic index information (APH) instead of
|
Flags(10)
| All UT, longitudinal effects |
Flags(11)
| Longitudinal |
Flags(12)
| UT and mixed UT, longitudinal |
Flags(13)
| Mixed AP, UT, longitudinal |
Flags(14)
| Terdiurnal |
Flags(15)
| Departures from diffusive equilibrium |
Flags(16)
| All exospheric temperature variations |
Flags(17)
| All variations from 120,000 meter temperature (TLB) |
Flags(18)
| All lower thermosphere (TN1) temperature variations |
Flags(19)
| All 120,000 meter gradient (S) variations |
Flags(20)
| All upper stratosphere (TN2) temperature variations |
Flags(21)
| All variations from 120,000 meter values (ZLB) |
Flags(22)
| All lower mesosphere temperature (TN3) variations |
Flags(23)
| Turbopause scale height variations |
Dependencies
To enable this port:
Set the Central Body parameter to
Earth
.Set the Include atmospheric drag parameter to
on
.Set the Atmospheric density source parameter to
Dialog
.Set the Flags source parameter to
Port
.
Data Types: double
Atmospheric drag coefficient, specified as a scalar or vector of size numSat.
Dependencies
To enable this port:
Set the Central Body parameter to
Earth
.Set the Include atmospheric drag parameter to
on
.Set the Drag coefficient source parameter to
Port
.
Data Types: double
Atmospheric drag area, specified as a scalar or vector of size numSat.
Dependencies
To enable this port:
Set the Central Body parameter to
Earth
.Set the Include atmospheric drag parameter to
on
.Set the Drag area source parameter to
Port
.
Data Types: double
Position of one or more custom bodies with respect to the current central body, in the ICRF coordinate frame. numCustom3rdBodies is the number of custom bodies. For more information, see Custom gravitational parameter (m^3/s^2).
Dependencies
To enable this port:
Set the Include third body gravity parameter to
on
.Set the Custom parameter to
on
.
Data Types: double
Fraction of solar disk visible from the spacecraft position. numSat is the number of spacecraft.
Dependencies
To enable this port:
Set the Include solar radiation pressure (SRP) parameter to
on
.Set Eclipse fraction source to
Port
.
Data Types: double
Reflectivity coefficient, specified as a scalar or numSat of
values in the range
1
≤RC≤2
.
numSat is the number of spacecraft.
Dependencies
To enable this port:
Set the Include solar radiation pressure (SRP) parameter to
on
.Set the Reflectivity coefficient source parameter to
Port
.
Data Types: double
Cross section area of the spacecraft seen by the Sun, specified as a scalar or numSat. The block uses this value to calculate the acceleration due to solar radiation pressure.
Dependencies
To enable this port:
Set the Include solar radiation pressure (SRP) parameter to
on
.Set SRP area source parameter to
Port
.
Data Types: double
Output
Position of the spacecraft with respect to the ICRF or fixed-frame outport coordinate frame, returned as a 3-element vector or numSat-by-3 array at the current time step. numSat is the number of spacecraft.
Dependencies
To change the output coordinate frame for this port, set the State vector output coordinate frame parameter.
The size of the initial conditions provided in the Mass, Orbit, or Attitude tab control the port dimension.
Data Types: double
Velocity of the spacecraft with respect to the ICRF or fixed-frame outport coordinate frame, returned as a 3-element vector or numSat-by-3 array at the current time step. numSat is the number of spacecraft.
Dependencies
To change the output coordinate frame for this port, set the State vector output coordinate frame parameter.
The size of the initial conditions provided in the Mass, Orbit, or Attitude tab control the port dimension.
Data Types: double
Total inertial acceleration of the spacecraft with respect to the ICRF, returned as a 3-element vector or numSat-by-3 array at the current timestep. numSat is the number of spacecraft.
Dependencies
To enable this port, set the Output total inertial acceleration parameter to
on
.The size of the initial conditions provided in the Orbit tab control the port dimension.
Data Types: double
Spacecraft attitude quaternion, returned as a (scalar first) quaternion rotation from the body axis to the outport frame, as a 4-element quaternion, or numSat-by-4 array (scalar first) at the current time step. numSat is the number of spacecraft.
Dependencies
The coordinate frame and attitude format of this port depends on these settings:
To specify the attitude reference coordinate frame, set the Attitude reference coordinate frame parameter.
Set Attitude representation to
Quaternion
.
Data Types: double
Spacecraft attitude direction cosine matrix (DCM), returned as a3-by-3 array or numSat-by-3-by-3 array. numSat is the number of spacecraft.
Dependencies
The coordinate frame and attitude format of this port depends on these settings:
To specify the attitude reference coordinate frame, set the Attitude reference coordinate frame parameter.
Set Attitude representation to
DCM
.
Data Types: double
Spacecraft attitude Euler angles, returned as a 3-element vector or numSat-by-3 array. numSat is the number of spacecraft.
Dependencies
The coordinate frame and attitude format of this port depend on these settings:
To specify the attitude reference coordinate frame, set the Attitude reference coordinate frame parameter.
Set Attitude representation to
Euler angles
.
Data Types: double
Angular rate of the spacecraft relative to the attitude reference coordinate frame, returned as a 3-element vector or numSat-by-3 array, expressed as body axis angular rates PQR. numSat is the number of spacecraft.
Dependencies
The attitude reference coordinate frame depends on the Attitude reference coordinate frame parameter.
Data Types: double
Body angular acceleration relative to the ICRF frame, returned as a 3-element array or numSat-by-3 array. numSat is the number of spacecraft.
Dependencies
To enable this port, set the Output total inertial angular
acceleration parameter to on
.
The attitude reference coordinate frame depends on the Attitude reference coordinate frame parameter.
Data Types: double
Coordinate system transformation between the ICRF and fixed-frame coordinate system at the current timestep, returned as a 4-element array.
Dependencies
To enable this port, set the Output quaternion (ICRF to
Fixed-frame) parameter to on
.
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 array — If you specify the Start data/time parameter as a Gregorian date with six elements (year, month, day, hours, minutes, seconds).
This value equals the Start date/time parameter value plus the elapsed simulation time.
Dependencies
To enable this parameter, set the Output current date/time (UTC Julian
date) parameter to on
.
Data Types: double
Fuel tank status at the current timestep, returned as a scalar or numSat-element array, returned as:
1
— Tank is full.0
— Tank is not full or empty.-1
— Tank is empty.
numSat is the number of spacecraft.
Dependencies
To enable this port:,
Set Mass type to
Simple Variable
.Set the Output fuel tank status parameter to
on
.
Data Types: double
Parameters
Main
To enable external forces to be included in the integration of the spacecraft equations of motion in the body frame, select this parameter. Otherwise, clear this parameter.
Programmatic Use
Block Parameter:
forcesin |
Type: character vector |
Values:
'off' | 'on' |
Default:
'off' |
To enable external moments to be included in the integration of the spacecraft equations of motion in the body frame, select this parameter. Otherwise, clear this parameter.
Programmatic Use
Block Parameter:
momentsIn |
Type: character vector |
Values:
'off' | 'on' |
Default:
'off' |
To enable additional external accelerations to be included in the integration of the spacecraft equations of motion, select this parameter. Otherwise, clear this parameter.
Programmatic Use
Block Parameter:
accelIn |
Type: character vector |
Values:
'off' | 'on' |
Default:
'off' |
Frame for acceleration input port A, specified as
ICRF
or Fixed-frame
.
Dependencies
To enable this parameter, set the Input external
accelerations parameter to on
.
Programmatic Use
Block Parameter:
accelFrame |
Type: character vector |
Values:
'ICRF' | 'Fixed-frame' |
Default:
'ICRF' |
Position and velocity state output port coordinate frame setup, specified as
ICRF
or Fixed-frame
.
Programmatic Use
Block Parameter:
outportFrame |
Type: character vector |
Values:
'ICRF' | 'Fixed-frame' |
Default:
'ICRF' |
Enable the total acceleration output computed by the block with respect to the ICRF or fixed-frame outport coordinate frame. This acceleration includes all external accelerations, forces, and internal environmental accelerations that act on the spacecraft.
Note
Do not use this port as part of a simulation loop (in other words, do not feed this output back into the block).
Tunable: Yes
Dependencies
To change the output coordinate frame for this port, set the State vector output coordinate frame parameter.
Programmatic Use
Block Parameter:
AccelOut |
Type: character vector |
Values:
'on' | 'off' |
Default:
'off' |
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.
Tunable: Yes
Dependencies
The data format for this parameter is controlled by the Time format parameter.
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 1D or 6-element array |
Default:
'juliandate(2020, 1, 1, 12, 0, 0)' |
To output the current date or time, select this parameter. Otherwise, clear this parameter.
Dependencies
The data format for this parameter is controlled by the Time format parameter.
Programmatic Use
Block Parameter:
dateOut |
Type: character vector |
Values:
'off' | 'on' |
Default:
'off' |
Out-of-range block behavior action. Specify one of these options.
Action | Description |
---|---|
None
| No action. |
Warning
| Warning in the Diagnostic Viewer, model simulation continues. |
Error (default) | Error in the Diagnostic Viewer, model simulation stops. |
Programmatic Use
Block Parameter:
action |
Type: character vector |
Values: 'None' |
'Warning' | 'Error' |
Default:
'Warning' |
Mass
Spacecraft mass type, specified as:
Fixed
— Mass and inertia are constant throughout the simulation.Simple Variable
— Mass and inertia vary linearly as a function of mass rate.Custom Variable
— Instantaneous mass, inertia, and inertia rate are inputs to the block.
Programmatic Use
Block Parameter:
massType |
Type: character vector |
Values: 'Fixed' |
'Simple Variable' | 'Custom
Variable' |
Default:
'Fixed' |
Initial mass of rigid body spacecraft, specified as scalar or vector of size numSat. numSat is the number of spacecraft.
Tunable: Yes
Dependencies
To enable this parameter, set the Mass type parameter to either Fixed or Simple variable.
Programmatic Use
Block Parameter:
mass |
Type: character vector |
Values: scalar | vector of size numSat |
Default:
'4.0' |
Spacecraft empty (dry) mass, specified as a scalar or vector of size numSat. numSat is the number of spacecraft.
Tunable: Yes
Dependencies
To enable this parameter, set Mass type to
Simple variable
.
Programmatic Use
Block Parameter:
emptyMass |
Type: character vector |
Values: 1D array of size numSat | 1D array of size numSat |
Default:
'3.5' |
Spacecraft full (wet) mass, specified as a scalar or vector of size numSat. numSat is the number of spacecraft.
Tunable: Yes
Dependencies
To enable this parameter, set Mass type to
Simple variable
.
Programmatic Use
Block Parameter:
fullMass |
Type: character vector |
Values: scalar | vector of size numSat |
Default:
'4.0' |
Initial inertia tensor matrix of the spacecraft, specified, as a 3-by-3 array for a single spacecraft or a 3-by-3-by-numSat array for multiple spacecraft.
Tunable: Yes
Dependencies
To enable this parameter, set Mass type to
Fixed
.
Programmatic Use
Block Parameter:
inertia |
Type: character vector |
Values:
'[0.2273, 0, 0; 0 0.2273 0; 0 0 .0040]' | 3-by-3 array |
3-by-3-by-numSat array |
Default:
'[0.2273, 0, 0; 0 0.2273 0; 0 0 .0040]' |
Empty (dry) inertia tensor matrix, specified as a 3-by-3 array for a single spacecraft or a 3-by-3-by-numSat array for multiple spacecraft.
Tunable: Yes
Dependencies
To enable this parameter, set Mass type to
Simple variable
.
Programmatic Use
Block Parameter:
emptyInertia |
Type: character vector |
Values: 3-by-3 array | 3-by-3-by-numSat array |
Default:
[0.1989, 0, 0; 0 0.1989 0; 0 0 .0035] |
Full (wet) inertia tensor matrix, specified as a 3-by-3 array for a single spacecraft or a 3-by-3-by-numSat array for multiple spacecraft.
Tunable: Yes
Dependencies
To enable this parameter, set Mass type to
Simple variable
.
Programmatic Use
Block Parameter:
fullInertia |
Type: character vector |
Values: 3-by-3 array | 3-by-3-by-numSat array |
Default:
[0.2273, 0, 0; 0, 0.2273, 0; 0, 0, .0040] |
To enable mass flow velocity to the block, select this parameter. The mass flow velocity is the relative velocity in the body frame at which the mass is accreted or ablated. To disable mass flow velocity to the block, clear this parameter.
Dependencies
To enable this parameter, set Mass type to
Simple variable
or Custom
variable
.
Programmatic Use
Block Parameter:
useMassFlowRelativeVelocity |
Type: character vector |
Values:
'on' | 'off' |
Default:
'off' |
To limit the mass flow when the spacecraft mass is full or empty, select this parameter. Otherwise, clear this parameter.
Dependencies
To enable this parameter, set Mass type to
Simple variable
.
Programmatic Use
Block Parameter:
limitMassFlow |
Type: character vector |
Values:
'on' | 'off' |
Default:
'on' |
To enable fuel tank status, select this parameter. Otherwise, clear this parameter.
Dependencies
To enable this parameter, set Mass type to
Simple variable
.
Programmatic Use
Block Parameter:
outputFuelStatus |
Type: character vector |
Values:
'on' | 'off' |
Default:
'on' |
Orbit
Define the initial states of the spacecraft.
Input method for initial states of orbit, specified as Orbital
elements
, ICRF state vector
, or
Fixed-frame state vector
.
Programmatic Use
Block Parameter
stateFormatNum when propagator is set to
High precision (numerical) |
Type: character vector |
Values:
'Orbital elements' | 'Orbital elements' |
'ICRF state vector' | 'Fixed-frame state'
when propagator is set to 'High precision
(numerical)' |
Default:
'Orbital elements' |
Orbit classification, specified as:
Keplerian
— Model elliptical, parabolic, and hyperbolic orbits using six standard Keplerian orbital elements.Elliptical equatorial
— Fully 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. To fully define a circular orbit, selectCircular equatorial
.Circular equatorial
— Fully define a circular orbit, where eccentricity is 0 and the argument of periapsis is 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 ellipse major axis, specified as a 1D array of size numSat. numSat 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.
Tunable: Yes
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 numSat |
Default:
'6786000' |
Deviation of the orbit from a perfect circle, specified as a scalar or 1D array of size numSat. numSat is the number of spacecraft.
If Orbit type is set to Keplerian
,
this value can be:
1
for parabolic orbitGreater than
1
for hyperbolic orbit
Tunable: Yes
Dependencies
To enable this parameter:
Set Initial state format to
Orbital elements
.Set Orbit type to
Keplerian
orElliptical 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.
Tunable: Yes
Dependencies
To enable this parameter:
Set Initial state format to
Orbital elements
Set Orbit type to
Keplerian
orCircular 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 value between
0
and 360
, specified as a scalar 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 International Celestial Reference Frame (ICRF) x-axis to the
location of the ascending node — the point at which the spacecraft crosses the
reference plane from south to north.
Tunable: Yes
Dependencies
To enable this parameter:
Set Initial state format to
Orbital elements
.Set Orbit type to
Keplerian
orCircular inclined
.
Programmatic Use
Block Parameter:
raan |
Type: character vector |
Values:
'95' | scalar value between 0 and
360 | 1D array of size numSat |
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 numSat, in specified units. numSat is the number of spacecraft.
Tunable: Yes
Dependencies
To enable this parameter:
Set Initial state format to
Orbital elements
Set Orbit type to
Keplerian
Programmatic Use
Block Parameter:
argPeriapsis |
Type: character vector |
Values: 93 | 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.
Tunable: Yes
Dependencies
To enable this parameter:
Set Initial state format to
Orbital elements
.Set Orbit type to
Keplerian
orElliptical inclined
.
Programmatic Use
Block Parameter:
trueAnomaly |
Type: character vector |
Values:
'203' | scalar value between 0 and
360 | 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 numSat, in specified units. numSat is number of spacecraft.
Tunable: Yes
Dependencies
To enable this parameter:
Set Initial state format to
Orbital elements
.Set Orbit Type to
Circular inclined
.
Programmatic Use
Block Parameter:
argLat |
Type: character vector |
Values:
'200' | scalar value between 0 and
360 | 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 numSat, in specified units. numSat is the number of spacecraft.
Tunable: Yes
Dependencies
To enable this parameter:
Set Initial state format to
Orbital elements
.Set Orbit type to
Elliptical equatorial
.
Programmatic Use
Block Parameter:
lonPeriapsis |
Type: character vector |
Values: 100 | scalar value between
0 and 360 | 1D array of size
numSat |
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 or a numSat-by-3 vector, in specified units. numSat is the number of spacecraft.
Tunable: Yes
Dependencies
To enable this parameter:
Set Initial state format to
Orbital elements
.Set Orbit type to
Circular equatorial
.
Programmatic Use
Block Parameter:
trueLon |
Type: character vector |
Values:
'150' | scalar value between 0 and
360 | 1D array of size numSat |
numSat-by-3 vector |
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 a numSat-by-3 array for multiple spacecraft. numSat is the number of spacecraft.
Tunable: Yes
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 |
numSat-by-3 array |
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 a numSat-by-3 array for multiple spacecraft. numSat is the number of spacecraft.
Tunable: Yes
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 | 2-D array of size
numSat-by-3 array |
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 a numSat-by-3 array for multiple spacecraft. numSat is the number of spacecraft.
Tunable: Yes
Dependencies
To enable this parameter, 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 | numSat-by-3 array |
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 a numSat-by-3 array for multiple spacecraft. numSat is the number of spacecraft.
Tunable: Yes
Dependencies
To enable this parameter, set 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 |
numSat-by-3 array |
Default:
'[1452.7 -6720.7 2568.1]' |
Attitude
Attitude and angular rate coordinate frame with respect to the attitude and angular rate initial conditions, specified as:
ICRF
Fixed-frame
NED
LVLH
Programmatic Use
Block Parameter:
attitudeFrame |
Type: character vector |
Values:
'ICRF' | 'Fixed-frame' |
'NED' | 'LVLH' |
Default:
'ICRF' |
Orientation format for spacecraft attitude (initial condition and output port),
specified as Quaternion
, DCM
, or
Euler angles
.
Programmatic Use
Block Parameter:
attitudeFrame |
Type: character vector |
Values:
'Quaternion' | 'DCM' | 'Euler
angles' |
Default:
'Quaternion' |
Spacecraft initial attitude (orientation) of the spacecraft provided as either a quaternion, DCM, or Euler angle set with respect to Attitude representation.
Tunable: Yes
Dependencies
This parameter name and value format changes depending on the Attitude representation parameter.
Parameter Name | Attitude Representation Setting | Value Format |
---|---|---|
Initial quaternion |
|
|
Initial DCM |
|
|
Initial Euler angles |
|
|
Programmatic Use
Block Parameter:
attitude |
Type: character vector |
Values: 4-element vector | numSat-by-4 array | 3-by-3 array | numSat-by-3-by-3 array | 3-element array | numSat-by-3 array |
Default:
'[1, 0, 0, 0]' |
Rotation angle sequence for Euler angle attitude representation.
Tunable: Yes
Dependencies
To enable this parameter, set Attitude representation to
Euler angles
.
Programmatic Use
Block Parameter:
rotationOrder |
Type: character vector |
Values: 'ZYX' |
'ZYZ' |'ZXY' | 'ZXZ' |
'YXZ' | 'YXY' | 'YZX' |
'YZY' | 'XYZ' | 'XYX' |
'XZY' | 'XZX' |
Default: 'ZYX' |
Initial body-fixed angular rates (PQR) with respect to Attitude reference coordinate frame.
Tunable: Yes
Programmatic Use
Block Parameter:
attitudeRate |
Type: character vector |
Values: | 3-element vector | numSat-by-3 array |
Default:
[0, 0, 0] |
Enable output total vehicle acceleration computed by the block with respect to the ICRF attitude reference coordinate frame. This acceleration includes all moments that act on the spacecraft.
Tunable: Yes
Programmatic Use
Block Parameter:
angAccelOut |
Type: character vector |
Values:
'on' | 'off' |
Default:
'off' |
Select this parameter to enable the use of the gravity gradient torque in the block rotational dynamics equations. Otherwise, clear this parameter.
Tunable: Yes
Programmatic Use
Block Parameter:
angAccelOut |
Type: character vector |
Values:
'on' | 'off' |
Default:
'on' |
Central Body
Celestial body, specified as Earth
,
Moon
, Mercury
,
Venus
, Mars
,
Jupiter
, Saturn
,
Uranus
, Neptune
,
Sun
, 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' | 'Sun' |
'Custom' | |
Default: 'Earth' |
Control the gravity model for the central body by specifying as
Spherical harmonics
,
Point-mass
, or Oblate ellipsoid
(J2)
.
Dependencies
Available options are based on Central body settings.
Earth, Moon, Mars, or Custom | Mercury, Venus, Jupiter, Saturn, Uranus, or Neptune |
---|---|
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' | '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
Available options are based on Central body settings:
Central body | Spherical Harmonic Model Option |
---|---|
Earth | EGM2008, EGM96, or EIGEN-GL04C |
Moon | LP-100K or LP-165P |
Mars | GMM2B |
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' |
Rotational rate of a custom central body, specified as a scalar.
Dependencies
To enable this parameter, set Central body to
Custom
.
Programmatic Use
Block Parameter:
'customOmega'
|
Type: character vector |
Values:
'4.06124975e-3' | scalar |
Default:
'4.06124975e-3' |
Harmonic coefficient MAT file that contains definitions for a custom planetary model, specified as a character vector or string.
This file must contain these variables:
Variable | Description |
---|---|
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 Central body to
Custom
.Set 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 scalar.
Planet Model | Recommended Degree | Maximum Degree |
---|---|---|
| 120 | 2159 |
| 70 | 360 |
| 60 | 100 |
| 60 | 165 |
| 60 | 80 |
| 70 | 360 |
Dependencies
To enable this parameter:
Set Central body to
Earth
,Moon
,Mars
, orCustom
.Set Gravitational potential model to
Spherical harmonics
.
Programmatic Use
Block Parameter:
shDegree |
Type: character vector |
Values:
'80' | scalar |
Default:
'80' |
Select this parameter to use Earth orientation parameters for the transformation between the ICRF and fixed-frame coordinate systems. Otherwise, clear this parameter.
Dependencies
To enable this parameter, set Central body to
Earth
.
Additionally, it must satisfy one of these criteria:
Gravitational potential model is set to either
Spherical harmonics
orOblate ellipsoid (J2)
.External acceleration coordinate frame is set to
Fixed-frame
.State vector output coordinate frame is set to
Fixed-frame
.Attitude reference coordinate frame is set to
Fixed-frame
orNED
.
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:
Set the Use Earth orientation parameters (EOPs) parameter to
on
.Set Central body to
Earth
.
Programmatic Use
Block Parameter:
eopFile |
Type: character vector |
Values:
'aeroiersdata.mat' | MAT-file |
Default:
'aeroiersdata.mat' |
To specify Euler libration angles (φ θ ψ) for Moon orientation, select this parameter.
Dependencies
To enable this parameter, set 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 parameter. Otherwise, clear this parameter.
Programmatic Use
Block Parameter:
outputTransform |
Type: character vector |
Values:
'off' | 'on' |
Default:
'off' |
Central body spin axis source, 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 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.
Tunable: Yes
Dependencies
To enable this parameter:
Set Central body to
Custom
.Set 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.
Tunable: Yes
Dependencies
To enable this parameter:
Set Central body to
Custom
.Set 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.
Tunable: Yes
Dependencies
To enable this parameter:
Set Central body to
Custom
.Set 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.
Tunable: Yes
Dependencies
To enable this parameter:
Set Central body to
Custom
.Set 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.
Tunable: Yes
Dependencies
To enable this parameter:
Set Central body to
Custom
.Set 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, in angle units/day.
Tunable: Yes
Dependencies
To enable this parameter:
Set Central body to
Custom
.Set 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.
Tunable: Yes
Dependencies
To enable this parameter, set Gravitational potential model
to None
, Point-mass
, or
Oblate ellipsoid (J2)
.
Programmatic Use
Block Parameter:
customR |
Type: character vector |
Values:
'3.3962e6' | double scalar |
Default:
'3.3962e6' |
Flattening of planet for custom central body, specified as a double scalar.
Tunable: Yes
Dependencies
To enable this parameter:
Set Central body to
Custom
.Set Gravitational potential model to
Point-mass
,Oblate ellipsoid (J2)
, orSpherical harmonics
.
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.
Tunable: Yes
Dependencies
To enable this parameter:
Set Central body to
Custom
.Set Gravitational potential model to
None
,Point-mass
, orOblate 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.
Tunable: Yes
Dependencies
To enable this parameter:
Set Central body to
Custom
.Set 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' |
Drag
Configure the atmospheric drag environment.
To include atmospheric drag, select this check box.
Dependencies
To enable this parameter, set the Central Body parameter to
Earth
.
Programmatic Use
Block Parameter:
useDrag |
Type: character vector |
Values:
'off' | 'on' |
Default:
'off' |
Source of atmospheric density value, specified as
Dialog
or Port
.
Dependencies
To enable this parameter:
Set the Central Body parameter to
Earth
.Set the Include atmospheric drag parameter to
on
.
Programmatic Use
Block Parameter:
atmosSrc |
Type: character vector |
Values:
'Dialog' | 'Port' |
Default:
'Dialog' |
Atmospheric model for atmospheric drag calculation, specified as
NRLMSISE-00
.
Dependencies
To enable this parameter:
Set the Central Body parameter to
Earth
.Set the Include atmospheric drag parameter to
on
.Set the Atmospheric density source parameter to
Dialog
.
Programmatic Use
Block Parameter:
atmosModel |
Type: character vector |
Values:
'NRLMSISE-00' |
Default:
'NRLMSISE-00' |
Source for historical and predicted flux and geomagnetic indices used by
atmospheric density calculation, specified as Dialog
or
Port
.
Dependencies
To enable this parameter:
Set the Central Body parameter to
Earth
.Set the Include atmospheric drag parameter to
on
.Set the Atmospheric density source parameter to
Dialog
.
Programmatic Use
Block Parameter:
fluxSrc |
Type: character vector |
Values:
'Dialog' | 'Port' |
Default:
'Dialog' |
MAT file of space weather data. This file is the output from the aeroReadSpaceWeatherData
function.
Aerospace Blockset includes a default space weather data file,
aeroSpaceWeatherData.mat
. To use the most recent data available,
use aeroReadSpaceWeatherData
to generate a new MAT file, and
specify the file name for this parameter. For more information, see aeroReadSpaceWeatherData
.
If the file is not on the MATLAB® path, specify the full pathname. The MAT file must contain these variables from the space weather data file:
YEAR
MONTH
DAY
AP1
AP2
AP3
AP4
AP5
AP6
AP7
AP8
AP_AVG
F107_OBS
F107_DATA_TYPE
F107_OBS_CENTER81
Dependencies
To enable this parameter:
Set the Central Body parameter to
Earth
.Set the Include atmospheric drag parameter to
on
.Set the Atmospheric density source parameter to
Dialog
.Set Atmospheric model to
NRLMSISE-00
.
Programmatic Use
Block Parameter:
SpaceWeatherDataFile |
Type: character vector |
Values:
'aeroSpaceWeatherData.mat' | MAT file name |
Default:
'aeroSpaceWeatherData.mat' |
Extrapolation method for f107Average
and
f107Daily
for times outside the range of the MAT file data,
specified as one of these values.
Method | Description |
---|---|
None - clip | Set |
Constant | Set |
Least squares fit | Approximate
where:
|
Note
For f107Average
values,if part of the 81-day period falls
inside the MAT file range of space weather data, the Solar Flux and
Geomagnetic Index block uses the actual daily values from the overlapping
portion. To calculate the average for the nonoverlapping portion, the block uses the
clipped, constant, or least squares daily value.
Dependencies
To enable this parameter:
Set the Central Body parameter to
Earth
.Set the Include atmospheric drag parameter to
on
.Set the Atmospheric density source parameter to
Dialog
.Set Atmospheric model to
NRLMSISE-00
.
Programmatic Use
Block Parameter:
F107ExtrapMethod |
Type: character vector |
Values: 'None - clip' |
'Constant' | 'Least squares fit' |
Default: 'None -
clip' |
Extrapolation method for magnetic index information values for times outside the range of the MAT file data, specified as one of these values.
Method | Description |
---|---|
None - clip | Set elements of magnetic index information to the nearest data point available in the MAT file. |
Constant | Set elements of magnetic index information to a constant value specified by the Magnetic index extrapolation method parameter. The elements of magnetic index for times outside this range are based on clipped values of the horizontal magnetic field strength at these time limits. |
IGRF | Calculate the elements of magnetic index information using the International Geomagnetic Reference Field. Because this model is defined for times between January 1, 1900, 12:00 AM UTC and January 1, 2025, 12:00 AM UTC, the predictions for times outside this range are clipped to values at these time limits. |
Dependencies
To enable this parameter:
Set the Central Body parameter to
Earth
.Set the Include atmospheric drag parameter to
on
.Set the Atmospheric density source parameter to
Dialog
.Set Atmospheric model to
NRLMSISE-00
.
Programmatic Use
Block Parameter:
MagneticIndexExtrapMethod |
Type: character vector |
Values: 'None - clip' |
'Constant' | 'IGRF' |
Default: 'None -
clip' |
Variation flag source, specified as Dialog
or
Port
.
Dependencies
To enable this parameter:
Set the Central Body parameter to
Earth
.Set the Include atmospheric drag parameter to
on
.Set the Atmospheric density source parameter to
Dialog
.Set the Atmospheric model parameter to
NRLMSISE-00
.
Programmatic Use
Block Parameter:
fluxFlagsSrc |
Type: character vector |
Values:
'Dialog' | 'Port' |
Default:
'Dialog' |
Variation flags, specified as an array of 23 (ones(1,23)
). You
can specify one of the following values for a field. The default value for each field
is 1
.
0.0 — Removes the effect on the output.
1.0 — Applies the main and the cross-term effects of that value on the output.
2.0 — Applies only the cross-term effect of that value on the output.
The array has these fields.
Field | Description |
---|---|
Flags(1)
| F10.7 effect on mean |
Flags(2)
| Independent of time |
Flags(3)
| Symmetrical annual |
Flags(4)
| Symmetrical semiannual |
Flags(5)
| Asymmetrical annual |
Flags(6)
| Asymmetrical semiannual |
Flags(7)
| Diurnal |
Flags(8)
| Semidiurnal |
Flags(9)
| Daily AP. If you set this field to -1, the block uses the entire
matrix of magnetic index information (APH) instead of
|
Flags(10)
| All UT, longitudinal effects |
Flags(11)
| Longitudinal |
Flags(12)
| UT and mixed UT, longitudinal |
Flags(13)
| Mixed AP, UT, longitudinal |
Flags(14)
| Terdiurnal |
Flags(15)
| Departures from diffusive equilibrium |
Flags(16)
| All exospheric temperature variations |
Flags(17)
| All variations from 120,000 meter temperature (TLB) |
Flags(18)
| All lower thermosphere (TN1) temperature variations |
Flags(19)
| All 120,000 meter gradient (S) variations |
Flags(20)
| All upper stratosphere (TN2) temperature variations |
Flags(21)
| All variations from 120,000 meter values (ZLB) |
Flags(22)
| All lower mesosphere temperature (TN3) variations |
Flags(23)
| Turbopause scale height variations |
Dependencies
To enable this parameter:
Set the Central Body parameter to
Earth
.Set the Include atmospheric drag parameter to
on
.Set the Flags source to
Dialog
.Set the Atmospheric density source parameter to
Dialog
.Set the Atmospheric model parameter to
NRLMSISE-00
.
Programmatic Use
Block Parameter:
fluxFlags |
Type: character vector |
Values:
'ones(1,23)' |
Default:
'ones(1,23)' |
To include anomalous oxygen in density calculations, select this check box.
Dependencies
To enable this parameter:
Set the Central Body parameter to
Earth
.Set the Include atmospheric drag parameter to
on
.Set the Atmospheric density source parameter to
Dialog
.Set the Atmospheric model parameter to
NRLMSISE-00
.
Programmatic Use
Block Parameter:
useOxygen |
Type: character vector |
Values:
'off' | 'on' |
Default:
'off' |
Source of drag coefficient, specified as Dialog
or
Port
.
Dependencies
To enable this parameter:
Set the Central Body parameter to
Earth
.Set the Include atmospheric drag parameter to
on
.
Programmatic Use
Block Parameter:
dragCoeffSrc |
Type: character vector |
Values:
'Dialog' | 'Source' |
Default:
'Dialog' |
Spacecraft coefficient of drag used by atmospheric drag calculation, specified as a scalar or as a vector of size numSat.
Dependencies
To enable this parameter:
Set the Central Body parameter to
Earth
.Set the Include atmospheric drag parameter to
on
.Set the Drag coefficient source parameter to
Dialog
.
Programmatic Use
Block Parameter:
dragCoeff |
Type: character vector |
Values: scalar | vector of size numSat |
Default:
'2.179' |
Source of drag area, specified as Dialog
or
Port
.
Dependencies
To enable this parameter:
Set the Central Body parameter to
Earth
.Set the Include atmospheric drag parameter to
on
.
Programmatic Use
Block Parameter:
dragAreaSrc |
Type: character vector |
Values:
'Dialog' | 'Source' |
Default:
'Dialog' |
Area to compute acceleration due to atmospheric drag, specified as a scalar or as a vector of size numSat. This area of the spacecraft is perpendicular to the spacecraft relative velocity.
Dependencies
To enable this parameter:
Set the Central Body parameter to
Earth
.Set the Include atmospheric drag parameter to
on
.Set the Drag area source parameter to
Dialog
.
Programmatic Use
Block Parameter:
dragArea |
Type: character vector |
Values: scalar | vector of size numSat |
Default:
'1.0' |
Third Body
Configure third body point mass for gravitational acceleration.
Select one of these ephemerides models defined by the Jet Propulsion Laboratory. The block uses ephemeris data to calculate relative celestial positions required for third body point mass gravity and solar radiation pressure.
Ephemeris Model | Description |
---|---|
| Released in 1998. This ephemeris takes into account the Julian date range 2305424.50 (December 9, 1599) to 2525008.50 (February 20, 2201). This block implements these ephemerides with respect to the International Celestial Reference Frame version 1.0, adopted in 1998. |
| Released in 2008. This ephemeris takes into account the Julian date range 2414992.5 (December 4, 1899) to 2469808.5 (January 2, 2050). This block implements these ephemerides with respect to the International Celestial Reference Frame version 1.0, adopted in 1998. |
| Released in 2010. This ephemeris takes into account the Julian date range 2378480.5 (December 16, 1799) to 2524624.5 (February 1, 2200). This block implements these ephemerides with respect to the International Celestial Reference Frame version 2.0, adopted in 2010. |
| Released in 2013. This ephemeris takes into account the Julian date range 2287184.5 (December 21, 1549) to 2688976.5 (January 25, 2650). This block implements these ephemerides with respect to the International Celestial Reference Frame version 2.0, adopted in 2010. |
| Released in April 2014. This ephemeris takes into account the Julian date range 2287184.5, (December 21, 1549 ) to 2688976.5, (January 25, 2650). This block implements these ephemerides with respect to the International Celestial Reference Frame version 2.0, adopted in 2010. |
Note
This block requires that you download ephemeris data using the Add-On Explorer.
To start the Add-On Explorer, in the MATLAB Command Window, type aeroDataPackage
. in the MATLAB desktop toolstrip, click Add-Ons.
Programmatic Use
Block Parameter:
ephemerisModel |
Type: character vector |
Values: DE405 |
DE421 | DE423 |
DE430 |
Default:
'DE405' |
Control how much data is loaded into memory during simulation and how much data is included in generated code for the block:
Select this check box to limit the loading of ephemeris data to a specified date range.
Clear this check box to include data for the complete date range defined in the Ephemeris model table.
Programmatic Use
Block Parameter:
useDateRange |
Type: character vector |
Values: 'off' |
'on'
|
Default: 'off' |
Start date of ephemerides date range, specified as a Julian date.
Dependencies
To enable this parameter set the Limit ephemerides date
range parameter to on
.
Programmatic Use
Block Parameter:
startDate |
Type: character vector |
Values: 'juliandate(2020, 1,
1)' | Julian date |
Default: 'juliandate(2020, 1,
1)' |
End date of ephemerides date range, specified as a Julian date.
Dependencies
To enable this parameter, set the Limit ephemerides date
range parameter to on
.
Programmatic Use
Block Parameter:
endDate |
Type: character vector |
Values: 'juliandate(2050, 1,
1)' | Julian format date |
Default: 'juliandate(2050, 1,
1)' |
To include acceleration due to third body gravity in orbit propagation calculation, select this check box. Otherwise, clear this check box.
Programmatic Use
Block Parameter:
useThirdBodyGravity |
Type: character vector |
Values: 'off' |
'on' |
Default:
'off' |
To include gravitational acceleration due to Sun, select this check box. Otherwise, clear it. To specify the gravity model, select it from Sun gravity model.
Dependencies
To enable this parameter:
Set the Central Body parameter to any value other than
Sun
.Set the Include third body gravity parameter to
on
.
Programmatic Use
Block Parameter:
includeSunGravity |
Type: character vector |
Values: 'off' |
'on'
|
Default:
'on' |
Select a gravitational potential model from the list to use when Sun third body gravity parameter is selected.
Point-mass
Oblate ellipsoid (J2)
Dependencies
To enable this parameter:
Set the Central Body parameter to any value other than
Sun
.Set the Include third body gravity parameter to
on
.Set the Sun third body gravity parameter to
on
.
Programmatic Use
Block Parameter:
sunThirdBodyGravityModel |
Type: character vector |
Values: 'Point-mass' |
'Oblate ellipsoid (J2)' |
Default:
'Point-mass' |
To include gravitational acceleration due to Mercury, select this check box. Otherwise, clear it. To specify the gravity model, select it from Mercury gravity model.
Dependencies
To enable this parameter:
Set the Central Body parameter to any value other than
Mercury
.Set the Include third body gravity parameter to
on
.
Programmatic Use
Block Parameter:
includeMercuryGravity |
Type: character vector |
Values: 'off' |
'on' |
Default:
'off' |
Select a gravitational potential model from the list to use when Mercury third body gravity parameter is selected.
Point-mass
Oblate ellipsoid (J2)
Dependencies
To enable this parameter:
Set the Central Body parameter to any value other than
Sun
.Set the Include third body gravity parameter to
on
.Set the Mercury parameter to
on
.
Programmatic Use
Block Parameter:
mercuryThirdBodyGravityModel |
Type: character vector |
Values: 'Point-mass' |
'Oblate ellipsoid (J2)' |
Default:
'Point-mass' |
To include gravitational acceleration due to Venus, select this check box. Otherwise, clear it. To specify the gravity model, select it from Venus gravity model.
Dependencies
To enable this parameter:
Set the Central Body parameter to any value other than
Venus
.Set the Include third body gravity parameter to
on
.
Programmatic Use
Block Parameter:
includeVenusGravity |
Type: character vector |
Values: 'off' |
'on' |
Default:
'off' |
Select a gravitational potential model from the list to use when Venus third body gravity parameter is selected.
Point-mass
Oblate ellipsoid (J2)
Dependencies
To enable this parameter:
Set the Central Body parameter to any value other than
Sun
.Set the Include third body gravity parameter to
on
.Set the Venus parameter to
on
.
Programmatic Use
Block Parameter:
venusThirdBodyGravityModel |
Type: character vector |
Values: 'Point-mass' |
'Oblate ellipsoid (J2)' |
Default:
'Point-mass' |
To include gravitational acceleration due to Earth, select this check box. Otherwise, clear it. To specify the gravity model, select it from Earth gravity model.
Dependencies
To enable this parameter:
Set the Central Body parameter to any value other than
Earth
.Set the Include third body gravity to
on
.
Programmatic Use
Block Parameter:
includeEarthGravity |
Type: character vector |
Values: 'off' |
'on' |
Default:
'off' |
Select a gravitational potential model from the list to use when Earth third body gravity parameter is selected.
Point-mass
Oblate ellipsoid (J2)
Spherical harmonics
Dependencies
To enable this parameter:
Set the Central Body parameter to any value other than
Earth
.Set the Include third body gravity parameter to
on
.Set the Earth parameter to
on
.
Programmatic Use
Block Parameter:
earthThirdBodyGravityModel |
Type: character vector |
Values: 'Point-mass' |
'Oblate ellipsoid (J2)' | 'Spherical
harmonics' |
Default:
'Point-mass' |
To include gravitational acceleration due to Moon, select this check box. Otherwise, clear it. To specify the gravity model, select it from Moon gravity model.
Dependencies
To enable this parameter:
Set the Central Body parameter to any value other than
Moon
.Set the Include third body gravity to
on
.
Programmatic Use
Block Parameter:
includeMoonGravity |
Type: character vector |
Values: 'off' |
'on' | |
Default:
'on' |
Select a gravitational potential model from the list to use when Moon third body gravity parameter is selected.
Point-mass
Oblate ellipsoid (J2)
Spherical harmonics
Dependencies
To enable this parameter:
Set the Central Body parameter to any value other than
Moon
.Set the Include third body gravity parameter to
on
.Set the Moon parameter to
on
.
Programmatic Use
Block Parameter:
moonThirdBodyGravityModel |
Type: character vector |
Values: 'Point-mass' |
'Oblate ellipsoid (J2)' | 'Spherical
harmonics' |
Default:
'Point-mass' |
To include gravitational acceleration due to Mars, select this check box. Otherwise, clear it. To specify the gravity model, select it from Mars gravity model.
Dependencies
To enable this parameter:
Set the Central Body parameter to any value other than
Mars
.Set the Include third body gravity parameter to
on
.
Programmatic Use
Block Parameter:
includeMarsGravity |
Type: character vector |
Values: 'off' |
'on' | |
Default:
'off' |
Select a gravitational potential model from the list to use when Mars third body gravity parameter is selected.
Point-mass
Oblate ellipsoid (J2)
Spherical harmonics
Dependencies
To enable this parameter:
Set the Central Body parameter to any value other than
Mars
.Set the Include third body gravity parameter to
on
.Set the Mars parameter to
on
.
Programmatic Use
Block Parameter:
marsThirdBodyGravityModel |
Type: character vector |
Values: 'Point-mass' |
'Oblate ellipsoid (J2)' | 'Spherical
harmonics' |
Default:
'Point-mass' |
To include gravitational acceleration due to Jupiter, select this check box. Otherwise, clear it. To specify the gravity model, select it from Jupiter gravity model.
Dependencies
To enable this parameter:
Set the Central Body parameter to any value other than
Jupiter
.Set the Include third body gravity parameter to
on
.
Programmatic Use
Block Parameter:
includeJupiterGravity |
Type: character vector |
Values: 'off' |
'on' |
Default:
'off' |
Select a gravitational potential model from the list to use when Jupiter third body gravity parameter is selected.
Point-mass
Oblate ellipsoid (J2)
Dependencies
To enable this parameter:
Set the Central Body parameter to any value other than
Jupiter
.Set the Include third body gravity parameter to on.
Set the Jupiter parameter to
on
.
Programmatic Use
Block Parameter:
jupiterThirdBodyGravityModel |
Type: character vector |
Values: 'Point-mass' |
'Oblate ellipsoid (J2)' |
Default:
'Point-mass' |
To include gravitational acceleration due to Saturn, select this check box. Otherwise, clear it. To specify the gravity model, select it from Saturn gravity model.
Dependencies
To enable this parameter:
Set the Central Body parameter to any value other than
Saturn
.Set the Include third body gravity parameter to
on
.
Programmatic Use
Block Parameter:
includeSaturnGravity |
Type: character vector |
Values: 'off' |
'on' |
Default:
'off' |
Select a gravitational potential model from the list to use when Saturn third body gravity parameter is selected.
Point-mass
Oblate ellipsoid (J2)
Dependencies
To enable this parameter:
Set the Central Body parameter to any value other than
Saturn
.Set the Include third body gravity parameter to
on
.Set the Saturn parameter to
on
.
Programmatic Use
Block Parameter:
saturnThirdBodyGravityModel |
Type: character vector |
Values: 'Point-mass' |
'Oblate ellipsoid (J2)' |
Default:
'Point-mass' |
To include gravitational acceleration due to Uranus, select this check box. Otherwise, clear it. To specify the gravity model, select it from Uranus gravity model.
Dependencies
To enable this parameter:
Set the Central Body parameter to any value other than
Uranus
.Set the Include third body gravity parameter to
on
.
Programmatic Use
Block Parameter:
includeUranusGravity |
Type: character vector |
Values: 'off' |
'on' |
Default:
'off' |
Select a gravitational potential model from the list to use when Uranus third body gravity parameter is selected.
Point-mass
Oblate ellipsoid (J2)
Dependencies
To enable this parameter:
Set the Central Body parameter to any value other than
Uranus
.Set the Include third body gravity parameter to
on
.Set the Uranus parameter to
on
.
Programmatic Use
Block Parameter:
uranusThirdBodyGravityModel |
Type: character vector |
Values: 'Point-mass' |
'Oblate ellipsoid (J2)' |
Default:
'Point-mass' |
To include gravitational acceleration due to Neptune, select this check box. Otherwise, clear it. To specify the gravity model, select it from Neptune gravity model.
Dependencies
To enable this parameter:
Set the Central Body parameter to any value other than
Neptune
.Set the Include third body gravity parameter to
on
.
Programmatic Use
Block Parameter:
includeNeptuneGravity |
Type: character vector |
Values: 'off' |
'on' |
Default:
'off' |
Select a gravitational potential model from the list to use when Neptune third body gravity parameter is selected.
Point-mass
Oblate ellipsoid (J2)
Dependencies
To enable this parameter:
Set the Central Body parameter to any value other than
Neptune
.Set the Include third body gravity parameter to
on
.Set the Neptune parameter to
on
.
Programmatic Use
Block Parameter:
neptuneThirdBodyGravityModel |
Type: character vector |
Values: 'Point-mass' |
'Oblate ellipsoid (J2)' |
Default:
'Point-mass' |
To include gravitational acceleration due to Pluto, select this check box. Otherwise, clear it. To specify the gravity model, select it from Pluto gravity model.
Dependencies
To enable this parameter, set the Include third body
gravity parameter to on
.
Programmatic Use
Block Parameter:
includePlutoGravity |
Type: character vector |
Values: 'off' |
'on' |
Default:
'off' |
Select a gravitational potential model from the list to use when Pluto third body gravity parameter is selected.
Point-mass
Oblate ellipsoid (J2)
Dependencies
To enable this parameter:
Set the Include third body gravity parameter to
on
.Set the Pluto parameter to
on
.
Programmatic Use
Block Parameter:
plutoThirdBodyGravityModel |
Type: character vector |
Values: 'Point-mass' |
'Oblate ellipsoid (J2)' |
Default:
'Point-mass' |
To include gravitational acceleration due to a custom planet, select this check box. Otherwise, clear it. To specify the gravity model, select it from Custom gravity model.
Dependencies
To enable this parameter, set the Include third body
gravity parameter to on
.
Programmatic Use
Block Parameter:
includeCustomGravity |
Type: character vector |
Values: 'off' |
'on' |
Default:
'off' |
Select a gravitational potential model from the list to use when Custom third body gravity parameter is selected.
Point-mass
Oblate ellipsoid (J2)
Spherical harmonics
Dependencies
To enable this parameter:
Select the Include third body gravity parameter.
Select the Custom parameter.
Programmatic Use
Block Parameter:
customThirdBodyGravityModel |
Type: character vector |
Values: 'Point-mass' |
'Oblate ellipsoid (J2)' |
Default:
'Point-mass' |
Custom gravitational acceleration for custom third body, specified as a scalar or as a vector of length numCustom3rdBodies. numCustom3rdBodies is the number of rows provided to the R_cb input port. Provide more than one value to include multiple custom bodies.
Dependencies
To enable this parameter:
Set the Include third body gravity parameter to
on
.Set the Custom parameter to
on
.
Programmatic Use
Block Parameter:
customThirdBodyMu |
Type: character vector |
Values:
'42.828314258067e12' | scalar | vector of length
numCustom3rdBodies |
Default:
'42.828314258067e12' |
SRP
To include acceleration due to solar radiation pressure in orbit propagation calculation, select this check box. Otherwise, clear the check box.
Programmatic Use
Block Parameter:
useSRP |
Type: character vector |
Values: 'off' |
'on' |
Default: 'off' |
Source of the eclipse fraction (fraction of solar disk visible from the spacecraft
location), specified as Dialog
or
Port
.
Dependencies
To enable this parameter set the Include solar radiation pressure
(SRP) parameter to on
.
Programmatic Use
Block Parameter:
useSRP |
Type: character vector |
Values: 'Dialog' |
'Port' |
Default:
'Dialog' |
Shadow model for eclipse calculations, specified as one of these values.
Cylindrical
— Fraction can be 0.0 (Umbra) or 1.0 (Sunlight).Dual cone
— Fraction can be 0.0 (Umbra), between 0.0 and 1.0 (Penumbra or Antumbra), or 1.0 (Sunlight).
Programmatic Use
Block Parameter:
shadowModel |
Type: character vector |
Values:
'Dual cone' | 'Cylindrical' |
Default:
'Dual cone' |
Option to include Earth as a secondary occulting body in eclipse calculations when central body is Moon.
Dependencies
Set the Central body parameter to
Moon
.
Programmatic Use
Block Parameter:
includeEarth |
Type: character vector |
Values:
'off' | 'on' |
Default:
'on' |
Option to include Moon as a secondary occulting body in eclipse calculations when central body is Earth.
Dependencies
Set the Central body parameter to
Earth
.
Programmatic Use
Block Parameter:
includeMoon |
Type: character vector |
Values:
'off' | 'on' |
Default:
'on' |
Source for the spacecraft coefficient of reflectivity, specified as
Dialog
or Port
.
Dependencies
To enable this parameter, set the Include solar radiation pressure
(SRP) to on
.
Programmatic Use
Block Parameter:
reflectivityCoeffSrc |
Type: character vector |
Values:
'Dialog' | 'Port' |
Default:
'on' |
Spacecraft coefficient of reflectivity used by solar radiation pressure calculation, specified as a scalar, 2D array of size numSat. numSat is the number of spacecraft.
Tunable: Yes
Dependencies
To enable this parameter:
Set the Include solar radiation pressure (SRP) parameter to
on
.Set the Reflectivity coefficient source parameter to
Dialog
.
Programmatic Use
Block Parameter:
reflectivityCoeff |
Type: character vector |
Values:
'1.8' | scalar | 2D array of size numSat |
between [1,2] |
Default:
'1.8' |
Source for the spacecraft solar radiation pressure (SRP) area, specified as
Dialog
or Port
.
Dependencies
To enable this parameter, set the Include solar radiation pressure
(SRP) parameter to on
.
Programmatic Use
Block Parameter:
srpAreaSrc |
Type: character vector |
Values:
'Dialog' | 'Port' |
Default:
'Dialog' |
Cross section area of the spacecraft seen by the Sun, specified as a scalar or as a 2D array of size numSat. numSat is the number of spacecraft.
Tunable: Yes
Dependencies
To enable this parameter
Set the Include solar radiation pressure (SRP) parameter to
on
.Set the SRP area source parameter to
Dialog
.
Programmatic Use
Block Parameter:
srpArea |
Type: character vector |
Values:
'1.0' | scalar | 2D array of size
numSat |
Default:
'1.0' |
Solar flux pressure, specified as a scalar.
Tunable: Yes
Dependencies
To enable this parameter, set the Include solar radiation pressure
(SRP) parameter to on
.
Programmatic Use
Block Parameter:
fluxPressure |
Type: character vector |
Values:
4.5344321e-6 | scalar |
Default:
'4.5344321e-6' |
Units
Parameter and port units, specified as shown here.
Units | Forces | Moment | Mass | Inertia | Distance | Velocity | Acceleration | Area | Density |
---|---|---|---|---|---|---|---|---|---|
Metric (m/s) | Newton | Newton-meter | Kilograms | Kilogram m2 | meters | meters/sec | meters/sec2 | m2 | kg/m3, some density outputs 1/m3 |
Metric (km/s) | Newton | Newton-meter | Kilograms | Kilogram m2 | kilometers | kilometers/sec | kilometers/sec2 | m2 | kg/m3, some density outputs 1/m3 |
Metric (km/h) | Newton | Newton-meter | Kilograms | Kilogram m2 | kilometers | kilometers/hour | kilometers/hour2 | m2 | kg/m3, some density outputs 1/m3 |
English (ft/s) | Pound-force | Foot-pound | Slugs | Slug ft2 | feet | feet/sec | feet/sec2 | feet2 | lbm/ft3, some density outputs 1/ft3 |
English (kts) | Pound-force | Foot-pound | Slugs | Slug ft2 | nautical mile | knots | knots/sec | feet2 | lbm/ft3, some density outputs 1/ft3 |
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' |
More About
Gravitational parameter, equatorial radius and rotation rate of celestial bodies are essential parameters for characterizing the physical and dynamical properties of planets and other astronomical objects and play a crucial role in celestial mechanics and astrodynamics.
Gravitational Parameter (μ) — The gravitational parameter μ is the product of the gravitational constant (G) and the mass (M) of the celestial body.
Equatorial Radius — The equatorial radius of a celestial body is the distance from the celestial body center to its equator, in m. It is a measure of the celestial body size and is larger than the polar radius due to the celestial body rotation, which causes a bulging effect at the equator. This phenomenon is known as equatorial bulge or oblateness.
Rotation Rate — The rotation rate of a celestial body refers to how quickly the celestial body spins around its own axis. It is measured using the angular velocity, which is the rate at which the celestial body rotates, measured in radians per second. The rotation rate affects various planetary phenomena, including day and night cycles, weather patterns, and the shape of the planet (due to centrifugal forces).
J2 — The J2 coefficient refers to the parameter that describes the oblateness of a celestial body, such as Earth. This coefficient is part of the zonal harmonic coefficients in the gravitational potential expansion of a celestial body.
The values of these parameters for the celestial bodies included in the Aerospace Blockset are listed in this table.
Planetary Data
Central Body | Gravitational Parameter (m³/s²) | Equatorial Radius (m) | Rotation Rate (rad/s) | J2 |
---|---|---|---|---|
Earth | 3.986004418e14 | 6.378137e6 | 7.292115146706979e-5 | 1082.6267e-6 |
Moon | 4.902801076e12 | 1.7382e6 | 2.66166e-6 | 202.7e-6 |
Sun | 1.327124400179870e20 | 6.96000e8 | 2.8653291e-6 | 1e-7 |
Mercury | 2.20320804864179e13 | 2.4397e6 | 1.24001e-6 | 50.3e-6 |
Venus | 3.248585988264598e14 | 6.0518e6 | -2.99244942e-7 | 4.458e-6 |
Mars | 4.2828314258067e13 | 3.3962e6 | 7.088218e-5 | 1960.45e-6 |
Jupiter | 1.267127678577960e17 | 7.1492e7 | 1.7585336e-4 | 14736e-6 |
Saturn | 3.794062606113729e16 | 6.0268e7 | 1.6378499e-4 | 16298e-6 |
Uranus | 5.794549007071873e15 | 2.5559e7 | -1.0123719e-4 | 3343.43e-6 |
Neptune | 6.836534063879261e15 | 2.4764e7 | 1.08338e-4 | 3411e-6 |
Pluto | 869.326e9 | 1.1883e6 | -1.1386e-05 | 0.0 |
Algorithms
The Spacecraft Dynamics block works in the ICRF and fixed-frame coordinate systems.
ICRF — International Celestial Reference Frame. This frame can be treated as equal to the ECI coordinate system realized at J2000 (Jan 1 2000 12:00:00 TT). For more information, see ECI Coordinates.
Fixed-frame — Fixed-frame is a generic term for the coordinate system that is fixed to the central body. The axes of the system rotate with the central body and are not fixed in inertial space.
When Central Body is
Earth
and the Use Earth orientation parameters (EOPs) parameter is selected, the fixed-frame coordinate system for Earth is the International Terrestial Reference Frame (ITRF). This reference frame is realized by the IAU2000/2006 reduction from the ICRF coordinate system using the earth orientation parameter file provided. If the Use Earth orientation parameters (EOPs) parameter is not selected, the block still uses the IAU2000/2005 reduction, but with Earth orientation parameters set to 0.When Central Body is
Moon
and the Input Moon libration angles parameter is selected, the fixed-frame coordinate system for the Moon is the Mean Earth/pole axis frame (ME). This frame is realized by two transformations. First, the values in the ICRF frame are transformed into the Principal Axis system (PA), the axis defined by the libration angles provided as inputs to the block. For more information, see Moon Libration. The states are then transformed into the ME system using a fixed rotation from the "Report of the IAU/IAG Working Group on cartographic coordinates and rotational elements: [7]. If the Input Moon libration angles parameter is not selected, the fixed frame is defined by the directions of the poles of rotation and prime meridians defined in the "Report of the IAU/IAG Working Group on cartographic coordinates and rotational elements: [7].When Central Body is
Custom
, all positions are in International Celestial Reference Frame (ICRF) and fixed-frame is not available.In all other cases, the fixed frame for each central body is defined by the directions of the poles of rotation and prime meridians defined in the "Report of the IAU/IAG Working Group on cartographic coordinates and rotational elements: [7].
The Spacecraft Dynamics block system works in the Body frame, north-east-down (NED), and local vertical, local horizontal (LVLH) coordinate systems.
Body frame — Fixed in both origin and orientation to the moving craft. For more information, see Body Coordinates.
North-east-down — Noninertial system with its origin fixed at the aircraft or spacecraft center of gravity. For more information, see ECI Coordinates.
Local vertical, local horizontal — Also known as the spacecraft coordinate system, Gaussian coordinate system, or the orbit frame. LVLH is a rotating, accelerating frame commonly used in studies of relative motion, such as vehicle maneuvering. The axes of this frame are:
R-axis — Points outward from the spacecraft origin along its position vectors (with respect to the center of Earth). Measurements along this axis are referred to as radial.
S-axis — Completes the right hand coordinate system. This axis points in the direction of the velocity vector, but is only parallel to it for circular orbits. Measurements along this axis are referred to as along-track or transverse.
W-axis — Points normal to the orbital plane. Measurements along this axis are referred to as cross-track.
The Spacecraft Dynamics block uses the Simulink solver to solve translational and rotational equations of motion of one or more spacecraft. The total acceleration is always calculated and integrated in the ICRF coordinate frame. The block translational dynamics are governed by these equations:
where:
are the custom acceleration components from the A (applied acceleration) port.
are the input body force components.
m is the spacecraft mass.
The block performs numerical integration in the inertial ICRF coordinate system. At each timestep, the block:
Transforms position and velocity states into the fixed-frame.
Calculates nonspherical gravity in the fixed-frame.
Transforms the resulting acceleration into the inertial frame.
Sums the resulting acceleration with the other acceleration terms.
Integrates the summed acceleration terms.
There are three options available for the central body gravitational potential model:
Point-mass
, Oblate Ellipsoid
, and
Spherical Harmonics
.
Point-Mass
—Treats the central body as a point-mass, including only the effects of spherical gravity using Newton's law of universal gravitation.where μ is the standard gravitation parameter of the central body.
Oblate Ellipsoid
— In addition to spherical gravity, this option includes the perturbing effects of the second-degree, zonal harmonic gravity coefficient J2, accounting for the oblateness of the central body. J2 accounts for the vast majority of the central bodies gravitational departure from a perfect sphere.where:
given the partial derivatives in spherical coordinates:
where:
ϕ and λ are the satellite geocentric latitude and longitude.
P2,0 and P2,1 associated Legendre functions.
μ is the standard gravitation parameter of the central body.
Rcb is the central body equatorial radius.
The transformation
fixed2inertial
converts fixed-frame position, velocity, and acceleration into the ICRF coordinate system with origin at the center of the central body, accounting for centrifugal and coriolis acceleration. For more information about the fixed and intertial coordinate systems used for each central body, see Earth-Centric Coordinate Systems.Spherical Harmonics
— Adds increased fidelity by including higher-order perturbation effects accounting for zonal, sectoral, and tesseral harmonics. For reference, the second-degree, zeroth order zonal harmonic J2 is -C2,0. The Spherical Harmonics model accounts for harmonics up to max degree l=lmax, which varies by central body and geopotential model.where
given the partial derivatives
where:
ϕ and λ are the satellite geocentric latitude and longitude.
Pl,m are associated Legendre functions.
μ is the standard gravitation parameter of the central body.
Rcb is the central body equatorial radius.
Cl,m and Sl,m are the unnormalized harmonic coefficients.
The transformation
fixed2inertial
converts fixed-frame position, velocity, and acceleration into the ICRF coordinate system with origin at the center of the central body, accounting for centrifugal and coriolis acceleration. For more information about the fixed and intertial coordinate systems used for each central body, see Earth-Centric Coordinate Systems.
The Spacecraft Dynamics block uses this atmospheric drag equation:
where:
m — Spacecraft mass used by atmospheric drag calculation.
CD — Coefficient of drag assuming that it is dimensionless.
ρ — Atmospheric density.
A — Area normal to vrel, where
vrel — Velocity relative to atmosphere.
where is the central body angular velocity.
The Spacecraft Dynamics block uses this third body contribution equation:
where:
μthird — Gravitational parameter of the third body.
— Vector from the satellite to the third body.
— Position of third body with regard to the central body, specified as a vector.
The Spacecraft Dynamics block uses this solar radiation pressure equation:
where:
m — Mass of the spacecraft.
v — Eclipse shadow function.
Cr — Spacecraft coefficient of reflectivity.
As — Spacecraft solar radiation pressure area.
Psrp — Solar radiation pressure at a distance of AU from the sun.
AU — Mean distance from the Sun to Earth (1AU).
| — Vector from the satellite to the Sun origin.
Rotational dynamics are governed by:
where:
are the body moment components.
is the spacecraft inertia tensor matrix.
When Mass type is Fixed
, equals 0.
When Mass type is Simple Variable
, this
equation estimates the rate of change of the inertia tensor:
This equation gives the rate of change of the quaternion vector:
References
[1] Vallado, David. Fundamentals of Astrodynamics and Applications. 4th ed. Hawthorne, CA: Microcosm Press, 2013.
[2] Vepa, Ranjan. Dynamics and Control of Autonomous Space Vehicles and Robotics. New York: Cambridge University Press, 2019.
[3] Stevens, Frank L., and Brian L. Stevens. Aircraft Control and Simulation. 2nd ed. Hoboken, NJ: John Wiley & Sons, 2003.
[4] Gottlieb, R. G. Fast Gravity, Gravity Partials, Normalized Gravity, Gravity Gradient Torque and Magnetic Field: Derivation, Code and Data. NASA Contractor Report 188243. Houston: NASA, February 1993.
[5] 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 150, no. 1 (2001): 1–18.
[6] Lemoine, F. G. et al. "An Improved Solution of the Gravity Field of Mars (GMM-2B) from Mars Global Surveyor." Journal of Geophysical Research 106, no. E10 (2001): 23359–23376.
[7] Seidelmann, P. Kenneth et al. "Report of the IAU/IAG Working Group on Cartographic Coordinates and Rotational Elements: 2006." Celestial Mech Dyn Astr 98 (20017): 155–180 (2007).
[8] Standish, E. M. "JPL Planetary and Lunar Ephemerides." DE405/LE405. Interoffice memorandum. JPL IOM 312.F-98-048. August 26, 1998.
Extended Capabilities
C/C++ Code Generation
Generate C and C++ code using Simulink® Coder™.
Version History
Introduced in R2021bThe Spacecraft Dynamics block now supports higher fidelity workflows using new third body gravity options. Use these options to more accurately model orbit propagation in spacecraft simulations.
To access these effects, select the Include third body gravity parameter on the Third Body tab. The Include third body gravity parameter replaces the Include third body point-mass gravity parameter.
Selecting Include third body gravity lets you configure the gravity options for the Sun, Mercury, Venus, Moon, Earth, Mars, Jupiter, Saturn, Uranus, Neptune, Pluto, and Custom.
The Spacecraft Dynamics block has been updated to take into account:
The effects of third body gravity on orbit propagation.
Space weather data from a data file generated by the
aeroReadSpaceWeatherData
function.Solar radiation pressure (SRP).
MATLAB Command
You clicked a link that corresponds to this MATLAB command:
Run the command by entering it in the MATLAB Command Window. Web browsers do not support MATLAB commands.
Select a Web Site
Choose a web site to get translated content where available and see local events and offers. Based on your location, we recommend that you select: .
You can also select a web site from the following list
How to Get Best Site Performance
Select the China site (in Chinese or English) for best site performance. Other MathWorks country sites are not optimized for visits from your location.
Americas
- América Latina (Español)
- Canada (English)
- United States (English)
Europe
- Belgium (English)
- Denmark (English)
- Deutschland (Deutsch)
- España (Español)
- Finland (English)
- France (Français)
- Ireland (English)
- Italia (Italiano)
- Luxembourg (English)
- Netherlands (English)
- Norway (English)
- Österreich (Deutsch)
- Portugal (English)
- Sweden (English)
- Switzerland
- United Kingdom (English)