Tank Modes and Types

Updated: 4/24/95 (Applies to GHS/BHS versions 6.20 and later)

GHS models the various ways in which tanks can behave by assigning to each tank a Type through the use of the TYPE command. The LOAD and CONTENTS commands are used to set the volume of fluid within the tank and the density of the fluid, respectively.

The most common and simplest tank type is INTACT. An Intact tank contains a certain volume of liquid and the surface of the liquid is maintained such that it lies in a plane parallel with the external waterplane.

Other tank types may have variable volumes, but there is always a Nominal volume associated with each tank. For an Intact tank, the actual volume is the same as the Nominal volume. Nominal volumes are always set by the LOAD command and remain as set until changed by another LOAD command.

Since some tank Types involve complex behavior, it is useful to refer to the Mode in which a tank is operating. Following is a list of the tank Modes and Types.

Tank Modes

Constant-Volume Mode

Volume: Equal to the Nominal volume
Surface: Parallel to the external waterplane
Weight: Adds to the ship's total weight
Free surface: Adds to the total FSM

Frozen Mode

Volume: Equal to the Nominal volume
Surface: Fixed at a prescribed orientation
Weight: Adds to the ship's total weight
Free surface: None

Spilling/Filling Mode

Volume: Varies
Surface: Passes through Tank's Ref. Point & Parallel to external WPL.
Weight: Adds to the ship's total weight
Free surface: Adds to total FSM

Flooded Mode

Volume: Varies
Surface: Coincident with external waterplane
Weight: Subtracts from ship's buoyancy

Definition: Balanced
Internal and external pressures are equal at tank's Reference Point.
External pressure is determined by Reference Point depth.
Internal pressure is determined by the gas at top plus column height.
Level within the tank is not allowed to go below Reference Point.

Balanced Mode Sealed
(Pressure of gas at top is inversely proportional to void volume.)

Volume: Varies; Nominal volume is where pressure = 1 atmosphere
Surface: Parallel to external waterplane
Weight: Adds to ship's total weight
Free surface: Adds to total FSM

Balanced Mode Vented
(Pressure of gas at top is constant at one atmosphere)

Volume: Varies
Weight: Subtracts from ship's buoyancy

Tank Types

Intact Type

Unconditional: Constant-Volume Mode

Frozen Type

Unconditional: Frozen Mode
Surface orientation is set parallel to external waterplane at time of TYPE
or LOAD.

Spilling Type

Ref. Pt. above interior level: Const Volume Mode
Ref. Pt. at interior level: Spilling/Filling Mode
Ref. Pt. below interior level: never

Bubble Type

Unconditional: Balanced Mode Sealed

Damaged Type

Ref. Pt. above water: Same as Spilling Type
Ref. Pt. below water: Same density as external: Flooded Mode
     Different density: Balanced Mode Vented

Flooded Type

Unconditional: Flooded Mode

Side Effects of Type Changes

When the tank Type is set by the TYPE command, Nominal volume remains unchanged. Contents also remains unchanged except as follows:

TYPE FLOOD sets Contents density equal to external density and Contents description to "SEA".

Changing Type from FLOOD to another Type restores the original Contents density and description which were in effect prior to the TYPE FLOOD command.

(Note: These side effects did not exist in versions prior to 6.20.)

Equations of Pressure Balancing

The tank Types BUBBLE and DAMAGED both involve determining the level inside the tank such that the pressure at the tank's Reference Point is the same inside the tank as it is outside the tank. The tank's Reference point is set by the REFPT command and normally would be located on the tank's actual boundary, though it can, in fact, be located anywhere.

Ps is the pressure at the surface of the liquid in the tank.
Pr is the pressure at the Reference Point.
Pc is the pressure contributed by the column of liquid in the tank from its
     surface to the Reference Point.
  Pc = ht * C * SGt
  Pr = 1 + d * C * SGs
  where  ht is the height of the column,
         d is the depth of the Reference Point below the external waterplane,
         C is the pressure per unit depth of fresh water in atmospheres,
         SGt is the specific gravity of the tank contents,
         SGs is the specific gravity of the sea water.
In order to balance the pressures,
  Pr = Ps + Pc
In the Balanced Mode Vented,
  Ps = 1 atmosphere.
  ht * C * SGt = d * C * SGs
  ht = d * SGs / SGt
In the Balanced Mode Sealed, the Nominal Volume is defined such that Ps = 1 atmosphere at Nominal Volume.

Load is defined as

Load = Actual Volume / Maximum Volume.

Since for a gas, pressure * volume is constant,
  Ps = (1 - Ln) / (1 - La)

where Ln is the Nominal Load,
     La is the Actual Load.

  1 + d * C * SGs = (1 - Ln) / (1 - La) +  ht * C * SGt
  ht = C0 * (C1 - C2 / (1 - La))
  where C0 = 1 / (C * SGt)
        C1 = 1 + d * C * SGs
        C2 = 1 - Ln
This shows that ht is a function of La which is also a function of ht and the geometry of the tank. Thus an iterative procedure is applied to find the solution.

Setting the Bubble Pressure

In the case of a BUBBLE-Type tank, the LOAD command can also set the pressure at that load by means of the /PRESS parameter. For example,
  LOAD = 0.75 /PRESS = 1.1
sets the load and pressure such that the pressure would be 1.1 atmospheres at 75% load in the tank.

When the LOAD command is used without giving a value, it displays the present load as well as pressure.

Liquid-Loss Calculations

The loss of liquid when one or more tanks are ruptured at known locations can be accurately calculated by using the DAMAGED type. For example,
  TANK name 
  REFPT = damage location 
 `(repeat above three commands for additional tanks)

The difference between the load in the tank(s) as of the first STATUS and the second STATUS is the amount of liquid lost.

By using a suitable macro and variables, this process can be automated for more convenience. For example,
  `Uses System variable TVOLUME to get VOL before & after damage
  `Assumes that Reference Points have been set at points of
   TYPE (*) = INTACT
   TANKS %1
   \ Oil spilled from {PNAME}: {VOL} CUBIC {LUNIT} /

  .SPILL "tank list"
shows the volume lost.

True Downflooding

Using the DAMAGED tank type it is possible to have a tank automatically flood when its point of downflooding is reached. Such a tank behaves as a spilling tank (or an empty tank if its Nominal load is zero) while the Reference Point is above water and a flooded tank when the Reference Point is below water. If the heel angle is such that the Reference Point is initially above water and then increased until it is below the surface, the tank will go through the transition of suddenly becoming flooded.

Since the contents (density) does not change at the transition, this downflooding will be more realistic if the contents is seawater.

Hopper Spilling and Flooding

Spilling from a hopper which contains a combination of seawater and a denser liquid can be simulated by superimposing two identical tanks where one contains sea water and is of the DAMAGED Type while the other contains the residual density and is of the SPILLING Type. The residual density would be the difference between sea water and the denser liquid.

If you would like to see another bulletin created regarding a specific topic, please email Creative Systems, Inc. at

Copyright (C) 2011 Creative Systems, Inc.