Propagation Methods in Spacecraft Simulation
This section outlines analytical and numerical methods you use to propagate a spacecraft orbit and configure end‑to‑end simulation workflows in the Aerospace Toolbox.
With the simulation environment and spacecraft characteristics defined in Spacecraft Key Concepts, the next step is to
propagate the spacecraft’s orbit through time. This section explains the available
propagation methods, analytical and numerical, and details the workflow for configuring and
executing orbit simulations in the Aerospace Toolbox. Numerical propagation integrates gravitational and non-gravitational forces
based on settings in NumericalPropagatorOptions and
PhysicalProperties. Analytical propagation uses Keplerian two-body
motion or SGP4 without numerical force integration.
Numerical Propagation Workflow
Configure Central Body Options
Begin by setting up the Aero.spacecraft.CentralBodyOptions object. You can skip this step if
you will be using Earth central body and not using Earth orientation
parameters.
Actions
Specify central body.
For Earth, specify whether Earth orientation parameters must be used. If yes, specify Earth orientation parameter file.
Configure Numerical Propagator Options
Set up the Aero.spacecraft.NumericalPropagatorOptions object and pass the Aero.spacecraft.CentralBodyOptions object to the constructor. This is
your primary configuration hub, where you define the environment and integrator
settings for your simulation.
Actions
Choose time integration settings (e.g., solver type, tolerances).
Configure force models:
Central body gravity model
All bodies support point-mass and oblate-ellipsoid.
Earth, Moon and Mars support spherical harmonics.
When using spherical harmonics, specify the spherical harmonic model and degree.
Atmospheric drag (only available for Earth central body)
Solar radiation pressure
Planetary ephemeris model (if using solar radiation pressure and/or third body gravity)
Configure Third Body Options
Within the Aero.spacecraft.NumericalPropagatorOptions object, use the Aero.spacecraft.ThirdBodyOptions Properties object held by the
ThirdBodyOptions property or the thirdBodyOptions function to configure third body gravity.
Actions:
Set the IncludeThirdBodyGravity property to
trueto enable third body gravitational influences.Specify celestial bodies (e.g., Sun, Moon) via the ThirdBodyGravitySource property. This will make the properties for the selected third bodies visible.
For each selected third body, configure individual gravity models using the corresponding
Aero.spacecraft.ThirdBodyPropertiesobjects.Specify the gravitational model. All third bodies support point-mass and oblate-ellipsoid.
Earth, Moon and Mars support spherical harmonics.
When using spherical harmonics, specify the spherical harmonic model and degree.
Define Spacecraft Physical Properties
Set up the Aero.spacecraft.PhysicalProperties object to account for
spacecraft-specific parameters, which in turn influence forces from atmospheric drag
and solar radiation pressure.
Actions:
Define mass. This is used to calculate acceleration terms resulting from atmospheric drag and solar radiation pressure.
Define drag coefficient and drag surface area. This is used for calculating atmospheric drag force.
Define reflectivity coefficient and solar radiation pressure area. This is used for calculating force from solar radiation pressure.
Define epoch states
Epoch states are specified using one of the following:
Orbital elements (with an optional
Epochtime input).Cartesian states (with an optional
Epochtime input), specified in inertial frame, fixed-frame or geographic. The reference frame is specified usingInputCoordinateFrameName-Value argument.Mean element struct (only available for Earth central body). Use
tlereadorommreadfunction to read a TLE file or an OMM file and output the mean element struct.
Simulate Orbit with propagateOrbit
With all configurations in place, simulate the spacecraft's motion.
Actions:
Use
propagateOrbitfor numerical integration of the trajectory, incorporating all configured gravitational and non-gravitational forces.The reference frame for the output states is controlled by
OutputCoordinateFrame, which can be inertial frame, fixed-frame or geographic.PropModeldefaults to“numerical”if you specifyNumericalPropagatorOptionsorPhysicalProperties. Otherwise, specifyPropModelas“numerical”to use numerical propagation.
Integration:
The
propagateOrbitfunction uses settings fromAero.spacecraft.NumericalPropagatorOptionsandAero.spacecraft.PhysicalProperties.
Analytical Propagation Workflow
Configure Central Body Options
Use the Aero.spacecraft.CentralBodyOptions object to define the central
gravitational body for the simulation. For Earth, you can also specify
Earth-orientation parameters if your workflow requires transformations between
inertial and fixed frames.
Actions
Create a central body when you need a non-Earth central body or when Earth-orientation parameters are required.
Specify the central body name (Earth, Moon, Mars, or other supported bodies).
If using Earth and EOP data, provide the Earth-orientation parameter file.
Define epoch states
Epoch states are specified using one of the following:
Orbital elements (with an optional
Epochtime input).Cartesian states (with an optional
Epochtime input), specified in inertial frame, fixed-frame or geographic. The reference frame is specified usingInputCoordinateFrameName-Value argument.Mean element struct (only available for Earth central body). Use
tlereadorommreadfunction to read a TLE file or an OMM file and output the mean element struct.
Simulate Orbit with propagateOrbit
Use the propagateOrbit function to simulate spacecraft motion using
analytical propagation. Initial states may be specified as orbital elements,
Cartesian states, or (for Earth) mean elements from TLE or OMM data.
Actions
Choose a propagation model in the
propagateOrbitfunction by setting the PropModel argument to eithertwo-body-keplerianorsgp4.Supply initial states as orbital elements, Cartesian states, or a mean-element structure.
If you set PropModel to
sgp4and specify the epoch states using orbital elements or Cartesian states, you can also optionally specify theBStarinput. This defines the drag term used by SGP4.
See Also
Aero.spacecraft.NumericalPropagatorOptions | Aero.spacecraft.ThirdBodyProperties | Aero.spacecraft.CentralBodyOptions | Aero.spacecraft.PhysicalProperties | PhysicalProperties