Description

The Thruster class defines the abstract model for a spacecraft propulsion element capable of producing thrust and torque for orbit and attitude manoeuvres. It provides the foundational structure for all thruster implementations in the simulation environment, including the Cold Gas Thruster and Ion Thruster models.

This class encapsulates the physical and dynamic behaviour of a generic thruster. It handles configuration, force/torque computation, ramp timing, and interaction with the spacecraft system through standardized message interfaces.

Note

Derived classes are required to define their specific thrust and impulse characteristics.


Module Implementation

Force

The instantaneous thrust force is computed in the body frame as:

where

  • = normalized thrust direction (body frame)
  • = required thrust magnitude N

The required force magnitude is defined by:

where is the active ramp factor.

Torque

The torque contribution about the local body centre is computed as:

where

  • ​ = position of thruster relative to spacecraft centre of mass (body frame).

Impulse

The specific impulse vector is:

Used to evaluate total impulse delivery and contribution over a burn period.

Configuration Parameters

The following parameters are available when configuring the base Thruster type

ParameterUnitsDescriptionDefault
MaxThrustNMaximum thrust capability220.0
MaxImpulseNsTotal impulse capacity229.5
MinFireDurationsMinimum allowed burn duration0.02
TimeToMaxThrustsRamp-up duration to reach full thrust0.1
SpecificImpulsesPropulsion efficiency ( Isp=Fm˙g0I_{sp} = \frac{F}{\dot{m}g_0}Isp​=m˙g0​F​ )10.0

Geometry Definition

The thruster’s position and direction are configured relative to its parent object:

This ensures the thrust vector is aligned opposite to the local +Z axis of the mounting transform.

Control Logic

The firing sequence is governed by ramp timing parameters to model thrust on and off ramps:

Ramp interpolation determines the fractional thrust factor applied to MaxThrust Minimum fire duration is enforced via MinFireDuration to prevent transient activation.

Derived Class Requirements

Each derived thruster type must implement the following abstract methods:

MethodDescription
CalculateBodyFrameForce()Defines the thrust model for the propulsion system.
CalculateBodyFrameImpulse()Defines the impulse computation for the specific thruster type.

Mass Properties

The thruster is treated as a point mass contribution to the spacecrafts inertia tensor:

Integration with Thruster Arrays

When attached to a Thruster Array, the thruster operates under the arrays coordination logic. Standalone thrusters independently execute their logic based on incoming fire requests.


References

[1] Wertz, J. R., & Larson, W. J. (1999). Space Mission Analysis and Design, 3rd Ed. Microcosm Press.