Thrusters

Top  Previous  Next

The Thruster object models a hardware component attached to a Spacecraft, and is associated with a Tank. The Thruster object contains all the information generally associated with thruster hardware, including location, pointing, and performance information. A Thruster can be added to a Spacecraft through either the Spacecraft Object Editor or via FreeFlyer Script.

 

Each Thruster that is created must be attached to at least one already existing Tank on the Spacecraft. The position and the orientation of the directed thrust are specified in the Spacecraft body frame. The thrust and specific impulse (Isp) performance data are assumed to be functions of the pressure remaining in the fuel tank and parameterized by the tank temperature. During the course of a FiniteBurn, the Thruster object supplies the acceleration due to thrust for integration in the equations of motion. Mass is depleted for finite maneuvers by integrating the mass flow equation alongside the equations of motion. The pressure loss caused by the mass depletion is determined from the ideal gas law equation.

 

The following Sample Mission Plans (included with your FreeFlyer installation) demonstrate the use of the Thruster object:

 

 

This page is divided into six sections:

1.Types of Thrusters - Description of the two thruster types and their properties; script syntax examples

2.Using the ThrusterOn Property

3.Using the DutyCycle Property

4.Scale Factors

5.Thrust and Isp Equations

6.Creating and Editing Thrusters via Object Editor

 

 

Types of Thrusters


The Thruster object has two available types:

 

1.Chemical
 
A Chemical Thruster can be used with a SphericalTank and/or an InterpolatedTank. Chemical Thrusters can be created and edited as shown below, and attached to a Spacecraft using the Attach command. The Attach command is also used to attach a Tank to the Thruster.
 

Spacecraft Spacecraft1;

InterpolatedTank InterpolatedTank1;

Thruster ChemThruster;

 

Attach InterpolatedTank1 to Spacecraft1;

Attach ChemThruster to Spacecraft1;

Attach InterpolatedTank1 to ChemThruster;

 

ChemThruster.Type = "Chemical";

 

ChemThruster.ThrusterC1 = 444.8; // Thrust (N)

ChemThruster.ThrusterK1 = 300;   // Isp (sec)

 

Thrusters can also be created and added to a Spacecraft object using the Spacecraft.AddThruster() method. Any Thrusters attached to a Spacecraft object can be accessed through the Spacecraft.Thrusters[] array property, as shown below. The Thruster.AddTankToValve() method can be used in place of the Attach command to associate a Tank with a Thruster.

 

Spacecraft1.AddThruster("thruster1");

 

Spacecraft1.Thrusters[0].Type = "Chemical";

 

Spacecraft1.Thrusters[0].AddTankToValve(0, Spacecraft1.Tanks[0]);

 

2.Electrical
 
An Electrical Thruster is always used with an ElectricalTank. Electrical Thrusters can be created and edited as shown below, and attached to a Spacecraft using the Attach command. The Attach command is also used to attach a Tank to the Thruster.

 

Spacecraft Spacecraft1;

ElectricalTank ElectricalTank1;

Thruster Thruster2;

 

Attach ElectricalTank1 to Spacecraft1;

Attach Thruster2 to Spacecraft1;

Attach ElectricalTank1 to Thruster2;

 

Thruster2.Type = "Electrical";

 

Thruster2.ThrusterC1 = 0.0448; // Thrust (N)

Thruster2.ThrusterK1 = 4000;   // Isp (sec)

 

Thrusters can also be created and added to a Spacecraft object using the Spacecraft.AddThruster() method. Any Thrusters attached to a Spacecraft object can be accessed through the Spacecraft.Thrusters[] array property, as shown below. The Thruster.AddTankToValve() method can be used in place of the Attach command to associate a Tank with a Thruster.

 

Spacecraft1.AddThruster("thruster1");

 

Spacecraft1.Thrusters[0].Type = "Electrical";

 

Spacecraft1.Thrusters[0].AddTankToValve(0, Spacecraft1.Tanks[0]);

 

See the Thruster Properties and Methods page for more information.

 

 

ThrusterOn Property


The ThrusterOn property is flag that can be used to model when a particular Thruster is turned off or on for a specified maneuver, and can be dynamically adjusted during the course of a simulation.

 

Spacecraft1.Thrusters[0].ThrusterOn = 1; // On  

Spacecraft1.Thrusters[1].ThrusterOn = 0; // Off

 

 

DutyCycle Property


When the specific on-off times for a Thruster are not known, or when it is desirable not to model them, the Thruster DutyCycle property can be used. This property effectively turns off the Thruster for a percentage of the maneuver duration by adjusting thrust and specific impulse (Isp) levels. The numerical value of DutyCycle ranges between 0 and 1, where 0 implies the Thruster is always off and 1 is always on. Standard values range between 0.7 (on 70% of the time) and 1 (on 100% of the time).

 

Spacecraft1.Thrusters[0].DutyCycle = 0.75; // On 75% of the time

 

 

Scale Factors


There are three thrust scaling properties available in FreeFlyer:

FiniteBurn.ThrustScaleFactor - an overall scale factor applied to the total burn thrust

Thruster.ScaleFactor - defined for each thruster and can be used in conjunction with both the FiniteBurn and ImpulsiveBurn models

Thruster.IspScaleFactor - defined for each thruster and is used in computing mass flow.

 

Scale factors are used for thruster calibration or to compensate for known discrepancies (such as misalignments) in the thruster efficiency. Scale factors nominally range between 0 and 1*. However, unlike DutyCycle, the scale factor properties merely adjust the acceleration due to thrust without changing the mass depletion. For example, consider a 20 minute maneuver with a ThrustScaleFactor of 1.0 which, depletes 6 kg of fuel and effects a change in the semi-major axis of the Spacecraft orbit. The same maneuver performed with a ScaleFactor of 0.5 will still deplete 6 kg of fuel, but the maneuver will effect only half the semi-major axis change since the Thrust used in the equations of motion will be half as large. Both scale factor properties can be dynamically adjusted during the course of a simulation.

 

In summary:

 

ImpulsiveBurn

 

ImpulsiveBurn.ThrustScaleFactor

Ignored

Thruster.ScaleFactor

Used to determine the ratio of mass to deplete from each tank attached to thruster

Thruster.IspScaleFactor

Used to determine the ratio of mass to deplete from each tank attached to thruster

FiniteBurn

 

FiniteBurn.ThrustScaleFactor

Overall scale factor applied to the cumulative Thrust Vector

Thruster.ScaleFactor

Scale Factor applied to the computed Thrust vector from each attached and active Thruster

Thruster.IspScaleFactor

Scale Factor applied to the Isp that is used in determining mass flow

 

Note: It is possible to achieve a scale factor greater than 1. This usually occurs during in-flight calibration when excess thrust performance was previously unaccounted for.

 

 

Thrust and Isp Equations


Thrust and Isp are modeled using a series of coefficients, as shown in the equations below. These polynomials are designed to be flexible, to allow users to find the right values for each coefficient that will properly model their thruster. If, for example, the thruster model doesn’t include a term with pressure in the exponent, simply set those coefficients to 0.

 

(1)

 

 

(2)

 

 

(3)

 

Where:

P Thruster inlet pressure in kPa (Thruster.ThrusterInletPressure)

PCi Pressure drop coefficients (Thruster.PC1, etc.)

Pt Weighted average pressure of the fuel in the attached tanks in kPa (Thruster.AveragePreInletPress)

Tfuel Weighted average temperature of fuel in the attached tanks in degrees Celsius (Thruster.AveragePreInletTemp)

Tref Weighted average reference temperature of the attached fuel tanks in degrees Celsius (Thruster.AveragePreInletRefTemp)

Ci Thrust coefficients (Thruster.C1, etc.)

Ki Specific impulse (Isp) coefficients (Thruster.K1, etc.)

 

The resulting thrust is calculated in Newtons and the specific impulse (Isp) is in seconds. The weighted average properties are calculated using the Tank.MassMixPartsPer property - see the Valves page for more information.

 

Based on available data from the thruster manufacturer, both simple and complex curves can be modeled. For example, a single non-zero coefficient can form a constant curve; two non-zero coefficients can result in a linear curve, and three or more non-zero coefficients can create a polynomial curve.

 

 

Creating and Editing Thrusters via Object Editor


1.To add Thrusters to a Spacecraft object, open the Spacecraft object for editing and select the Thrusters page under Subsystems.

2.Use the Create button to add Thrusters.

3.Use the Edit Thruster button to open the Thruster object.

4.Choose a Thruster Type and edit the properties available for that type.

5.To choose the Tanks that are available to each Thruster, see Creating and Editing Valves via Object Editor.

 

Creating and Editing a Thruster

Creating and Editing a Thruster

 

 

See Also


Thruster Properties and Methods

Attach Command