Class Thruster
- Namespace
- NominalSystems.Classes
- Assembly
- NominalSystems.Classes.dll
[Nominal] The thruster class is able to provide thrust to the spacecraft which can be used for orbit maneuvers.
public class Thruster : DynamicEffector
- Inheritance
-
Thruster
Constructors
Thruster()
Default constructor
protected Thruster()
Fields
DispersedFactor
The dispersed magnitude factor
[Unit(UnitType.NONE)]
[Range(0, 1)]
public double DispersedFactor
Field Value
In_ThrusterFireRequestMsg
An input 'ThrusterFireRequest' payload for a fire request
public ThrusterFireRequestMessage? In_ThrusterFireRequestMsg
Field Value
Out_ThrusterConfigMsg
The output message for the configuration of the thruster
public ThrusterConfigMessage? Out_ThrusterConfigMsg
Field Value
Out_ThrusterOperationMsg
An output thruster status message about the current state of the thruster
public ThrusterOperationMessage? Out_ThrusterOperationMsg
Field Value
Properties
ExitArea
Area of Exit.
[Unit(UnitType.SQUARE_METRE)]
[Range(0, 1.7976931348623157E+308)]
[Metadata(ContainedIn = "Out_ThrusterConfigMsg")]
public double ExitArea { get; set; }
Property Value
MaxImpulse
Steady state max impulse.
[Unit(UnitType.NEWTON_SECOND)]
[Metadata(ContainedIn = "Out_ThrusterConfigMsg")]
public double MaxImpulse { get; set; }
Property Value
MaxThrust
Max thrust.
[Unit(UnitType.NEWTON)]
[Metadata(ContainedIn = "Out_ThrusterConfigMsg")]
public double MaxThrust { get; set; }
Property Value
MinFireDuration
Minimum Burn Duration for thruster.
[Unit(UnitType.SECOND)]
[Range(0, 1.7976931348623157E+308)]
[Metadata(ContainedIn = "Out_ThrusterConfigMsg")]
public double MinFireDuration { get; set; }
Property Value
SpecificImpulse
Specific Impulse of the thruster.
[Unit(UnitType.SECOND)]
[Metadata(ContainedIn = "Out_ThrusterConfigMsg")]
public double SpecificImpulse { get; set; }
Property Value
ThrustDirection_B
Unit vector of the thrust direction.
[Unit(UnitType.NONE)]
[ReadOnly]
[Metadata(ContainedIn = "Out_ThrusterConfigMsg")]
public Vector3 ThrustDirection_B { get; }
Property Value
TimeToMaxThrust
Time taken to achieve max thrust.
[Unit(UnitType.SECOND)]
[Range(0, 1.7976931348623157E+308)]
[Metadata(ContainedIn = "Out_ThrusterConfigMsg")]
public double TimeToMaxThrust { get; set; }
Property Value
Methods
CalculateBodyFrameTorque()
Calculate the current torque (in body frame). Compute the point B relative torque and aggregate into the composite body torque
protected Vector3 CalculateBodyFrameTorque()
Returns
CalculateRequiredForceMagnitude(double, double)
Calculate the current force (in body frame)
protected double CalculateRequiredForceMagnitude(double time, double step)
Parameters
Returns
- double
[N] The required force magnitude
ComputeDynamics(double)
Method to compute the force and torque on the body. This will be triggered by the spacecraft on an Update call.
public override void ComputeDynamics(double time)
Parameters
time
double[s] The current integration time
Connect(FuelSource)
Connects the thruster to a particular fuel source model and attaches it to the correct update call.
public void Connect(FuelSource source)
Parameters
source
FuelSourceThe fuel source to connect to
Disconnect()
Disconnects the thruster from any fuel source that it is currently attached to.
public void Disconnect()
OnBegin(double)
Called when the object is beginning ticking for the first time. This is when the simulation calls the very first tick and will run before the update call.
protected override void OnBegin(double time)
Parameters
time
double[s] Current time of the simulation before the tick
OnCreate()
Called when the 'Component' is created from the controller.
protected override void OnCreate()
OnLoad(double)
Called after all of the data has been loaded from a save state on this object. This enables any post-load operations to be performed and extra data to be loaded from the metadata.
protected override void OnLoad(double time)
Parameters
time
double[s] The current clock time of the simulation
OnUpdate(double, double)
Called when the object should update from the simulation tick. This will take in a time and a step, where the time is the time of the clock before updating the object.
protected override void OnUpdate(double time, double step)
Parameters
time
double[s] Current time of the simulation before the update
step
double[s] The time-step to update during this tick
UpdateMassProperties(double, double)
Updates the mass properties of the current physical object at a particular time.
public override void UpdateMassProperties(double time, double step)