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

Properties

ExitArea

[m^2] Area of Exit

[EditableVariable("m^2", 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

SpecificImpulse

[s] Specific Impulse of the thruster

[EditableVariable("s", false, "", "")]
public double SpecificImpulse { 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

CompressibleAreaRatio(double, double)

Area ratio function for a compressible flow in the supersonic regime

public static double CompressibleAreaRatio(double gamma, double M = 1)

Parameters

gamma double

Specific heat ratio

M double

Mach Exit

Returns

double

The Area Ratio

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

NewtonRaphson(Func<double, double>, double)

Generalized newton raphson method

public static double NewtonRaphson(Func<double, double> func, double delta = 1E-06)

Parameters

func Func<double, double>

Function passed in for root finding

delta double

Accuracy of root finding method

Returns

double

Returns the root of the fucntion

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)

ThrusterMachExit(double, double)

Calculates the Exit Mach Number using the Area Ratio of throat and exit of the nozzle using Newton Raphsons method of root finding

public static double ThrusterMachExit(double gamma, double a_star)

Parameters

gamma double
a_star double

Returns

double

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