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
| Parameter | Units | Description | Default |
|---|---|---|---|
MaxThrust | N | Maximum thrust capability | 220.0 |
MaxImpulse | Ns | Total impulse capacity | 229.5 |
MinFireDuration | s | Minimum allowed burn duration | 0.02 |
TimeToMaxThrust | s | Ramp-up duration to reach full thrust | 0.1 |
SpecificImpulse | s | Propulsion efficiency ( Isp=Fm˙g0I_{sp} = \frac{F}{\dot{m}g_0}Isp=m˙g0F ) | 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:
| Method | Description |
|---|---|
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.