Spacecraft Key Concepts
Spacecraft simulation in Aerospace Toolbox models the motion of a vehicle under gravitational and non-gravitational forces. To set up a simulation, you:
Choose the propagation method (analytical or numerical).
Define the central body.
Enable and configure third-body gravity sources (Sun, Moon, etc.), if applicable.
Specify spacecraft physical properties (mass, drag, reflectivity), if applicable.
All these pieces feed into the propagateOrbit function, which computes the orbit based on forces and solver
settings.
Elements of Spacecraft Simulation
The section describes the configuration inputs that determine how propagateOrbit function models translational motion. These components
specify the propagation method, force environments, and spacecraft properties that
together shape the fidelity and behavior of the simulation.
Simulation Engine: propagateOrbit
The propagateOrbit function is the main engine that simulates spacecraft
motion over time. propagateOrbit supports both analytic models (two-body keplerian and
SGP4) and numerical propagation that integrates the equations of motion based on
forces and configuration options you specify.
For numerical propagation, set the PropModel Name-Value argument to numerical.
Alternatively, you can explicitly specify either the NumericalPropagatorOptions or PhysicalProperties argument, in which case PropModel defaults to "numerical".
Epoch states are specified using one of these:
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.
Central hub coordinating numerical propagation setup: Aero.spacecraft.NumericalPropagatorOptions
The Aero.spacecraft.NumericalPropagatorOptions object configures numerical
propagation and serves as the central hub for defining solver settings, central body
gravity, atmospheric drag, solar radiation pressure, and planetary ephemerides. This
object contains two key features:
The
Aero.spacecraft.CentralBodyOptionsobject specifies the central gravitational body and, for Earth, Earth orientation parameters.The
thirdBodyOptionsfunction enables and selects third-body gravity sources.
Interactions
You can specify this object using the NumericalPropagatorOptions Name-Value argument. When specifying
NumericalPropagatorOptions argument, PropModel Name-Value argument defaults to
“numerical”. If you do not specify NumericalPropagatorOptions but specify PropModel as “numerical”, the default Aero.spacecraft.NumericalPropagatorOptions object is the one returned
by the default constructor. You cannot specify NumericalPropagatorOptions Name-Value argument if you also specify
PropModel to a value other than
“numerical”.
Key Features
Controls time integration (e.g., solver parameters, tolerances)
Configures force models (e.g., gravity, drag, solar radiation pressure)
For any given configuration, any property that is not applicable becomes hidden.
Enables External Gravity Sources: ThirdBodyOptions
This class is responsible for specifying whether third body gravity should be included and which celestial bodies (e.g., Sun, Moon, Mars) should be considered.
This object gets automatically created when instantiating Aero.spacecraft.NumericalPropagatorOptions and is held by the ThirdBodyOptions property. If you enable third body gravity via
ThirdBodyOptions, propagateOrbit includes additional gravitational acceleration terms
from third bodies in the integration process. These extra forces improve enable
simulations in multi-body environment (e.g., Earth-Moon system, interplanetary
missions, Lagrange point studies).
Specify Spacecraft Characteristics: PhysicalProperties
You can also optionally specify spacecraft-specific properties such as mass, drag
coefficient, drag reference area, reflectivity coefficient and solar radiation
pressure area using the Aero.spacecraft.PhysicalProperties object, provided using the PhysicalProperties Name-Value argument for propagateOrbit. If you do not specify this input, propagateOrbit uses the object returned by the default constructor.
You cannot specify this Name-Value argument if you also specify PropModel to a value other than
“numerical”.
The mass is utilized to compute acceleration terms resulting from atmospheric drag
and solar radiation pressure, whose effects are enabled using the IncludeAtmosDrag and IncludeSRP properties of Aero.spacecraft.NumericalPropagatorOptions object.
The DragCoefficient and DragArea properties are used to calculate atmospheric drag force. The ReflectivityCoefficient and SRPArea properties are used in calculating force resulting from solar radiation pressure.
Note
These forces are computed based on how the Aero.spacecraft.NumericalPropagatorOptions object is
specified.
Interaction:
Compute nongravitational forces (e.g., atmospheric drag, solar radiation pressure). These forces are integrated alongside gravitational forces.
Per-Body Gravity Configuration: ThirdBodyProperties
Each celestial body selected using the ThirdBodyOptions property is represented by the Aero.spacecraft.ThirdBodyProperties object. This object defines how
the gravity of each third body is modeled: Point-mass (simplified), Oblate ellipsoid
(moderate fidelity), or Spherical harmonics (high fidelity, Earth/Moon/Mars
only).
Interaction:
These parameters are used by propagateOrbit to compute the gravitational acceleration from each
third body. The fidelity of the model directly affects simulation accuracy and
performance.
These are read-only sub-properties (e.g., Sun,
Mars, Moon, etc.), each returning an
Aero.spacecraft.ThirdBodyProperties object. A given property is
visible if IncludeThirdBodyGravity is true, the
corresponding body is included in ThirdBodyGravitySource and is not set as the central body in
CentralBodyOptions property of the parent Aero.spacecraft.NumericalPropagatorOptions object.
Specifies central gravitational body and Earth orientation: CentralBodyOptions
Use this object to specify central body. For Earth central body, you can configure
Earth orientation parameters used in transformation from inertial to fixed frame.
You can also specify the central body gravitational potential model in the Aero.spacecraft.NumericalPropagatorOptions object.
When using numerical propagation, this object gets automatically created when
instantiating the Aero.spacecraft.NumericalPropagatorOptions object and is held by the
read-only CentralBodyOptions property. While the property is read-only, you
can still modify the contents of the Aero.spacecraft.CentralBodyOptions object (such as changing central
body).
When not using numerical propagation, you can specify this object using the
CentralBodyOptions name-value argument. You cannot specify NumericalPropagatorOptions and PhysicalProperties properties when using analytical
propagation.
For more information on propagation types available in the Aerospace Toolbox, see Propagation Methods in Spacecraft Simulation.
Summary of Interactions
This table summarizes the interaction between the spacecraft features in the Aerospace Toolbox.
| Feature | Purpose | Purpose |
|---|---|---|
propagateOrbit | Main function to simulate spacecraft translational motion. | Uses configs from central body options for non-numerical propagation. Uses configs from all options (central body, third bodies, physical properties) for numerical propagation. |
tleread | Read data from a two-line element (TLE) file | The output of this function can be used to define epoch
states in |
ommread | Read data from an orbit mean-elements message (OMM) file | The output of this function can be used to define epoch
states in |
Aero.satellitescenario.NumericalPropagatorOptions | Central configuration |
|
Aero.spacecraft.ThirdBodyOptions Properties | Enables third body gravity,selects sources | Holds |
Aero.spacecraft.ThirdBodyProperties | Configures gravity model for each third body | Defines gravitational potential model for a given body. Also defines spherical harmonic model and degree (applicable when using spherical harmonic gravitational potential model). |
Aero.spacecraft.PhysicalProperties | Describes physical attributes of the spacecraft | Used for drag and solar pressure; passed to |
Aero.spacecraft.CentralBodyOptions | Specifies central gravitational body and Earth orientation | Determines central force field; Earth-specific options like EOP transformation. |
See Also
Aero.spacecraft.NumericalPropagatorOptions | Aero.spacecraft.ThirdBodyProperties | Aero.spacecraft.PhysicalProperties | PhysicalProperties