主要内容

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 Epoch time input).

  • Cartesian states (with an optional Epoch time input), specified in inertial frame, fixed-frame or geographic. The reference frame is specified using InputCoordinateFrame Name-Value argument.

  • Mean element struct (only available for Earth central body). Use tleread or ommread function 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:

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.

FeaturePurposePurpose
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 propagateOrbit

ommread

Read data from an orbit mean-elements message (OMM) file

The output of this function can be used to define epoch states in propagateOrbit

Aero.satellitescenario.NumericalPropagatorOptions

Central configuration

  • Defines numerical simulation environment

  • Holds ThirdBodyOptions and CentralBodyOptions

  • Define gravitational parameters of central body, configure solar radiation pressure calculations (and if using Earth central body, atmospheric drag computations)

Aero.spacecraft.ThirdBodyOptions Properties

Enables third body gravity,selects sources

Holds Aero.spacecraft.ThirdBodyProperties for each third body gravity source.

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 propagateOrbit.

Aero.spacecraft.CentralBodyOptions

Specifies central gravitational body and Earth orientation

Determines central force field; Earth-specific options like EOP transformation.

See Also

| | |

Topics