Tanks

Top  Previous  Next

The Tank object models a hardware component on a spacecraft, and is used to model Maneuvers in association with a Thruster. A Tank can be added to a Spacecraft through either the Spacecraft Object Editor or via FreeFlyer Script.

 

For tanks associated with chemical powered thrusters, the tank can be configured as either spherical or non-spherical, and contains a liquid fuel or fuel component for the thruster. For tanks associated with electrical powered thrusters, the tank is configured as spherical, containing a solid mass source for the thruster.

 

The fuel or mass source is depleted during Maneuvers. For ImpulsiveBurns, the depletion is based on the rocket equation. This differs from FiniteBurns where the mass depletion is calculated by integrating the mass flow equation along with the equations of motion as shown in the equation below. The pressure loss caused by the mass depletion effect for all Maneuver types is determined by the ideal gas equation.

 

 

(1)

 

Where:

Isp Specific impulse (See Thrusters page for more information)

fIsp Specific impulse scale factor (Thruster.IspScaleFactor)

fT Thruster scale factor (Thruster.ScaleFactor)

 

Tank properties are provided to specify the position and orientation of the Tank with respect to the Spacecraft body coordinate system, the volume of the Tank, the mass of the propellant in the Tank, the reference and current temperatures, and the associated pressure and the fuel density of the propellant.

 

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

 

 

This page is divided into three sections:

1.Types of Tanks - Description of the three tank types and their properties; script syntax examples

2.Unknown Isp and Preventing Mass Depletion

3.Creating and Editing Tanks via Object Editor

 

 

Types of Tanks


Three types of Tank models are available:

 

Chemical Spherical

The Spherical Tank is treated as a partially filled sphere, with the fill level measured along the z-axis of the sphere. The primary axis (orientation of the fill line), or z-axis of the Tank is defined by a user-specified unit vector in the Spacecraft body coordinate system. The reference point for the spherical Tank is the geometric center of the Tank.

 

The Center of Mass (COM) and Moment of Inertia (MOI) matrix of the fuel are referenced from the Tank reference point. The COM, MOI, and Mass of all Tanks attached to a Spacecraft will be used with the dry vehicle COM, MOI, and Mass to determine the total (dry plus all Tanks) Spacecraft COM, MOI, and Mass. As mass is depleted from the Tank, the values for the Tank and Spacecraft total COM, MOI, and Mass will be updated.

 

SphericalTanks can be created and edited as shown below, and attached to a Spacecraft using the Attach command:

 

Spacecraft Spacecraft1;

SphericalTank SphericalTank1;

 

Attach SphericalTank1 to Spacecraft1;

 

SphericalTank1.TankPressure = 1500;     // kPa

 

SphericalTank1.TankVolume = 0.6414;     // m3

SphericalTank1.TankFuelDensity = 1450; // kg/m3

SphericalTank1.TankMass = 880.4886;     // kg - 95% full

 

SphericalTank1.TankTemperature = 20;   // C

SphericalTank1.TankRefTemperature = 20; // C

SphericalTank1.MassMixPartsPer = 1;

 

SphericalTank1.TankReference[0] = 0.535;// m

 

SphericalTanks can also be created and added to a Spacecraft object using the Spacecraft.AddTank() method. Any Tanks attached to a Spacecraft object can be accessed through the Spacecraft.Tanks[] array property, as shown below. See the Type Casting page for more information on the TypeOf and AsType keywords.

 

Spacecraft1.AddTank("tank1"TypeOf(SphericalTank));

 

(Spacecraft1.Tanks[0] AsType SphericalTank).TankMass = 100; // kg

 

See the SphericalTank Properties and Methods page for more information.

 

Chemical Non-Spherical (Interpolated)

The Non-Spherical Tank fill level is measured along the z-axis of the Tank, which points in the direction of the Tank primary orientation axis (the direction of propellant ejection). The secondary orientation axis defines the x-axis of the Tank orientation. Initial and final fuel Mass, COM’s and MOI’s are defined and used as data points in a linear interpolation of the current fuel’s COM and MOI based on the current fuel mass. Subsequently these interpolated Tank COM and MOI are used in the calculation of the total Spacecraft mass properties.

 

InterpolatedTanks can be created and edited as shown below, and attached to a Spacecraft using the Attach command:

 

Spacecraft Spacecraft1;

InterpolatedTank InterpolatedTank1;

 

Attach InterpolatedTank1 to Spacecraft1;

 

InterpolatedTank1.TankVolume = 0.5;       // m3

InterpolatedTank1.TankFuelDensity = 1000; // kg/m3

InterpolatedTank1.TankMass = 200;         // kg - 40% full

 

// Define Tank primary axis

InterpolatedTank1.TankOrientation = {0, 0, 1};

 

InterpolatedTanks can also be created and added to a Spacecraft object using the Spacecraft.AddTank() method. Any Tanks attached to a Spacecraft object can be accessed through the Spacecraft.Tanks[] array property, as shown below. See the Type Casting page for more information on the TypeOf and AsType keywords.

 

Spacecraft1.AddTank("tank1"TypeOf(InterpolatedTank));

 

(Spacecraft1.Tanks[0] AsType InterpolatedTank).TankMass = 300; // kg

 

See the InterpolatedTank Properties and Methods page for more information.

 

Electrical

The Electrical Tank is used to model a mass and power source for an Electrical thruster. It is treated as a sphere. The reference point for this spherical tank is its geometric center. The Center of Mass (COM) and Moment of Inertia (MOI) matrix of the fuel are referenced from the Tank reference point. The COM, MOI, and Mass of all Tanks attached to a Spacecraft will be used with the dry vehicle COM, MOI, and Mass to determine the total (dry plus all Tanks) Spacecraft COM, MOI, and Mass. As mass is depleted from the Tank, the values for the Tank and Spacecraft total COM, MOI, and Mass will be updated. Power is modeled as an ideal source, is never depleted, and contributes no mass.

 

ElectricalTanks can be created and edited as shown below, and attached to a Spacecraft using the Attach command:

 

Spacecraft Spacecraft1;

ElectricalTank ElectricalTank1;

 

Attach ElectricalTank1 to Spacecraft1;

 

ElectricalTank1.TankPower = 0.03;       // kW

ElectricalTank1.TankMassDensity = 1;     // kg/m3

ElectricalTank1.TankMass = 10;           // kg

 

ElectricalTank1.TankReference = {0, 0.5, 0.5};   // m

 

InterpolatedTanks can also be created and added to a Spacecraft object using the Spacecraft.AddTank() method. Any Tanks attached to a Spacecraft object can be accessed through the Spacecraft.Tanks[] array property, as shown below. See the Type Casting page for more information on the TypeOf and AsType keywords.

 

Spacecraft1.AddTank("tank1"TypeOf(ElectricalTank));

 

(Spacecraft1.Tanks[0] AsType ElectricalTank).TankMass = 25; // kg

 

See the ElectricalTank Properties and Methods page for more information.

 

 

Unknown Isp and Preventing Mass Depletion


If the specific impulse (Isp) of the propulsion system is unknown (as is the case for feasibility studies early in a mission lifetime) or you don't want to model mass depletion during an impulsive maneuver, you can prevent mass depletion in one of two ways. Either set the Isp extremely high (e.g. 20,000 sec), or use the Assignment command to set the Spacecraft Mass back to the pre-maneuver value, or a combination of both. Note that if this is done, the effects of drag will not be modeled correctly, since the drag force is dependent on the mass through the ballistic coefficient.

 

ImpulsiveBurn1.SpecificImpulse = 20000;

 

// --OR--

 

Variable preManeuverMass = Spacecraft1.Mass;

// ...

Spacecraft1.Mass = preManeuverMass;

 

 

Creating and Editing Tanks via Object Editor


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

2.Use the Create button to add Tanks.

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

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

 

Creating and Editing a Tank

Creating and Editing a Tank

 

 

See Also


SphericalTank Properties and Methods

InterpolatedTank Properties and Methods

ElectricalTank Properties and Methods

Attach Command