Table of Contents

Class Thruster

Namespace
NominalSystems.Classes
Assembly
NominalSystems.Classes.dll

[Nominal] A thruster implementation

public class Thruster : DynamicEffector
Inheritance
Thruster
Inherited Members

Constructors

Thruster()

public Thruster()

Fields

DispersedFactor

[-] The dispersed magnitude percentage

[EditableVariable("-", false, "", "")]
public double DispersedFactor

Field Value

double

In_ThrusterFireRequestMsg

[MESSAGE] A input 'ThrusterFireRequest' payload

public ThrusterFireRequestMessage In_ThrusterFireRequestMsg

Field Value

ThrusterFireRequestMessage

Out_ThrusterConfigMsg

[MESSAGE] Output message describing thruster configuration

public ThrusterConfigMessage Out_ThrusterConfigMsg

Field Value

ThrusterConfigMessage

Out_ThrusterOperationMsg

[MESSAGE] A output 'ThrusterStatus' payload

public readonly ThrusterOperationMessage Out_ThrusterOperationMsg

Field Value

ThrusterOperationMessage

Ramp

The thrust's ON/OFF curves

public ThrusterRamp Ramp

Field Value

ThrusterRamp

Properties

ExitArea

[m^2] Area of Exit

[EditableVariable("m", 0, false, "", "")]
public double ExitArea { get; set; }

Property Value

double

FuelNodeModel

[-] The link between the Thruster and FuelContainer.

public FuelNodeModel FuelNodeModel { get; }

Property Value

FuelNodeModel

MaxImpulse

[Ns] Steady state max impulse

[EditableVariable("Ns", false, "", "")]
public double MaxImpulse { get; set; }

Property Value

double

MaxThrust

[N] Max thrust

[EditableVariable("N", false, "", "")]
public double MaxThrust { get; set; }

Property Value

double

MaxThrustDuration

[s] Time taken to achieve max thrust

[EditableVariable("s", 0, false, "", "")]
public double MaxThrustDuration { get; set; }

Property Value

double

MinFireDuration

[s] Minimum Burn Duration for thruster

[EditableVariable("s", 0, false, "", "")]
public double MinFireDuration { get; set; }

Property Value

double

ThroatArea

[m^2] Area of Throat

[EditableVariable("^m", 0, false, "", "")]
public double ThroatArea { get; set; }

Property Value

double

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

Vector3

CalculateRequiredForceMagnitude(double, double)

Calculate the current force (in body frame)

protected void CalculateRequiredForceMagnitude(double time, double step)

Parameters

time double
step double

ComputeForceTorque(double)

Method to computeForce and torque on the body

public override void ComputeForceTorque(double time)

Parameters

time double

integrator time

ComputeStateContribution(double)

Method to compute state contribution

public override void ComputeStateContribution(double time)

Parameters

time double

integrator time

IsModelTypeSupported(Type)

Returns true if 'ComponentModel' type is supported model

protected override bool IsModelTypeSupported(Type type)

Parameters

type Type

a 'ComponentModel' type

Returns

bool

OnBegin(double)

Called when the 'Component' is beginning

protected override void OnBegin(double time)

Parameters

time double

current time (seconds)

OnUpdate(double, double)

Called when the 'Component' should update

protected override void OnUpdate(double time, double step)

Parameters

time double

current time (seconds)

step double

the time step (seconds)

UpdateMassProperties(double, double)

Updates the mass properties of the current physical object at a particular time.

public override void UpdateMassProperties(double time, double step)

Parameters

time double

[s] The current time of the simulation

step double

[s] The delta time between the updates