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
In_ThrusterFireRequestMsg
[MESSAGE] A input 'ThrusterFireRequest' payload
public ThrusterFireRequestMessage In_ThrusterFireRequestMsg
Field Value
Out_ThrusterConfigMsg
[MESSAGE] Output message describing thruster configuration
public ThrusterConfigMessage Out_ThrusterConfigMsg
Field Value
Out_ThrusterOperationMsg
[MESSAGE] A output 'ThrusterStatus' payload
public readonly ThrusterOperationMessage Out_ThrusterOperationMsg
Field Value
Properties
ExitArea
[m^2] Area of Exit
[EditableVariable("m^2", 0, false, "", "")]
public double ExitArea { get; set; }
Property Value
FuelNodeModel
[-] The link between the Thruster and FuelContainer.
public FuelNodeModel FuelNodeModel { get; }
Property Value
MaxImpulse
[Ns] Steady state max impulse
[EditableVariable("Ns", false, "", "")]
public double MaxImpulse { get; set; }
Property Value
MaxThrust
[N] Max thrust
[EditableVariable("N", false, "", "")]
public double MaxThrust { get; set; }
Property Value
MaxThrustDuration
[s] Time taken to achieve max thrust
[EditableVariable("s", 0, false, "", "")]
public double MaxThrustDuration { get; set; }
Property Value
MinFireDuration
[s] Minimum Burn Duration for thruster
[EditableVariable("s", 0, false, "", "")]
public double MinFireDuration { get; set; }
Property Value
SpecificImpulse
[s] Specific Impulse of the thruster
[EditableVariable("s", false, "", "")]
public double SpecificImpulse { 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 void CalculateRequiredForceMagnitude(double time, double step)
Parameters
CompressibleAreaRatio(double, double)
Area ratio function for a compressible flow in the supersonic regime
public static double CompressibleAreaRatio(double gamma, double M = 1)
Parameters
Returns
- double
The Area Ratio
ComputeForceTorque(double)
Method to computeForce and torque on the body
public override void ComputeForceTorque(double time)
Parameters
time
doubleintegrator time
ComputeStateContribution(double)
Method to compute state contribution
public override void ComputeStateContribution(double time)
Parameters
time
doubleintegrator time
IsModelTypeSupported(Type)
Returns true if 'ComponentModel' type is supported model
protected override bool IsModelTypeSupported(Type type)
Parameters
type
Typea 'ComponentModel' type
Returns
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
doubleAccuracy 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
doublecurrent time (seconds)
OnUpdate(double, double)
Called when the 'Component' should update
protected override void OnUpdate(double time, double step)
Parameters
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
Returns
UpdateMassProperties(double, double)
Updates the mass properties of the current physical object at a particular time.
public override void UpdateMassProperties(double time, double step)