What is the stability of a vessel during lifting or other operations?” A very valid question. And one to which it is not always easy to give an answer. One of the reasons for that is that stability of vessels is generally taught on the basis of normal merchant vessels. This results in a GM value which is a measure for stability. So far, so good.

The trouble begins when something is lifted and the GM value needs to be corrected. For a simple, single crane lift this is still doable and well explained in many handbooks, but for anything else it gets complicated very quickly. Lifts with multiple cranes, multiple vessels, partially submerged, partially restrained; non-symmetric vessels; half-installed TLPs require a different approach.

The good news is: vessel stability is essentially very simple. It only becomes difficult when you start making assumptions to make things easier. So don’t. In this post I want to share how to calculate hydrostatic stability using DAVE. With DAVE we can avoid the simplifications and calculate the correct stability in any situation directly from first principles:

Considering flat water and no wind, there are only two forces that act on a vessel: gravity (weight) and hydrostatic pressure (buoyancy). Buoyancy depends on the submerged shape of the vessel and changes when the vessel heels, pitches or changes draft. The weight distribution (center of gravity) may change as well due to slack tanks, loose cargo, suspended loads and others.

The remainder of this post is a refresher of traditional vessel stability and a demonstration of how to visualize and explore that with DAVE. It shows that using DAVE gives the results one would expect in situation that are still possible to calculate by hand.

The effects of suspended cargo in various forms will be subject of a next post.

Traditional vessel stability

A vessel is stable if a reasonably small displacement of the vessel results in a force that pushes the vessel back to its upright position.

The hydrostatic force (buoyancy) on the vessel is equal in magnitude to the weight of the displaced volume. The hydrostatic force acts in the centroid of the displaced volume. This point is called the Center of Buoyancy (CoB).

The combined effect of gravity on all parts of the vessel acts in the center of gravity and is equal to the weight of the vessel.

The buoyancy force is equal and opposite to the gravity force, the weight of the displaced water is equal to the weight of the vessel.


When the vessel rotates, the center of buoyancy shifts.

The shift of the center of buoyancy can be calculated using the metacenter. The metacenter is a point on the centerline of the vessel which stays right above the center of buoyancy as the vessel rotates. This is mathematical simplification rather than a physical point. And, as often, simplifications are accompanied by assumptions. In this case the assumptions are that the vessel hull is perfectly vertical at the waterline. This happens to be the case for a barge.

The position of the metacenter relative to the keel (KM) can be calculated from the

  • vertical position of the cob (KB)
  • displacement (disp)
  • the second moment of the waterplane area (I)

KM = KB + BM (K = keel, B = vertical position of CoB, M = vertical position of Metacenter)

BM = I / disp

For a vessel with length of 40, width of 10 and a draft of 1.5 this becomes:

KB = 0.75 [m]

I = (1/12) x 40 x 10^3 [m4]

disp = 40 x 10 x 1.5 [m3]

BM = (1/12) x 10^2 / 1.5 = 5.56 [m]

KM = 6.31 [m]

Adding the Metacenter as a point and rotating the vessel we can visually confirm that the metacenter indeed stays above the CoB for roll angles up to about 30 degrees.

(Note that in DAVE the origin of the barge is defined at the center of rotation which is at the waterline, 1.5m above the keel)


For the vessel to be stable, it is required that the center of gravity of the vessel is lower than the metacenter. The vertical position of the center of gravity relative to the keel is denoted as KG. The vertical distance between the cog and the metacenter is denoted as GM. If KG is smaller than KM then GM is positive. Hence GM is a value for the initial stability of the vessel under the assumptions that the cog does not change position and that the hull of the vessel is vertical at the waterline.


Place the CoG at z=3 [m]

This means KG = 1.5 + 3 = 4.5 [m]

GM = 6.31 – 4.5 = 1.81m [m]

In DAVE we can add a rigid body to model the weight (mass) of the vessel.

Note: we could also have used a rigid-body to model the vessel (instead of an Axis). In that case we could have set the cog position and weight of the vessel directly.

Moving the CoG up to a position above the metacenter will make the vessel unstable.

See also: https://en.wikipedia.org/wiki/Metacentric_height

Limits of linear theory

GM is an indication of the initial stability, so in theory it is only valid for infinitely small roll angles. What does that mean in practice? How can we calculate the range of positive stability?

With DAVE this is easy to explore. The first thing we can do is give the vessel a roll angle and look at what the CoG and CoB do. When we do that we can observe that once we exceed a roll angle of about 35~40 degrees of roll, the cog is further from the rotation point than the cob, a bad sign for the people on the vessel. For roll angles exceeding this value the overturning moment due to gravity becomes larger than the up-righting moment due to buoyancy and the vessel will capsize.

We can quantify this by looking at the total roll moment acting on the vessel. In DAVE this total moment can be obtained from the connection-moment between the vessel and the world. In this case a negative connection moment means that the vessel would be pushed back to upright position.

We can investigate this further by using the “explore” view. This view makes is possible to very one of the properties of the model over a range of values and to observe (“evaluate”) one of the others.

  • Driver: s[‘Vessel’].rx
  • Observe: s[‘Vessel’].connection_moment_x

This shows the limit of stability to be about 37 degrees.

This can be narrowed down further using the goal-seek function in the same screen. This will give a value of 36.4 degrees (or zero, or -36.4, depending on the start position of the search)

GZ curve

As stability calculations are quite common, DAVE also includes a “STABILITY” screen to do just that. This screen produces the so called “GZ-curve” which is basically the horizontal distance between the working lines of the gravity and hydrostatic force.

For small angles GZ = GM * sin(angle). This means that slope at the beginning of the GZ curve is the GM value.

Righting arm

The GZ curve captures the change in shape of the displaced volume over a range of roll angles. So while the GM value only says something about the initial stability, the GZ curve provides information about the stability of the vessel over a range of roll angles.

Suspended loads

Up till now we have explored the geometric features of the buoyancy shape and its effect on stability. Up till now we’ve assumed that the CoG was just that: a fixed point on the vessel.

Truth is: the CoG is never a fixed point. Even on normal vessels there are tanks with fluid (diesel tanks, swimming pools) which will flow to the lower side when the vessel rolls. This has a negative effect on the stability and is usually taken into account using an adjustment of the metacentric height.

Similar adjustments exist for suspended cargo. For a single crane suspended load this is still doable but for more complex arrangements the corrections become more difficult to calculate than simply doing to calc. And furtunately doing the calc is not hard at all!

Single suspended load

The traditional way of dealing with suspended loads is to realize that the load always stays vertically below the crane tip. This means that the load effectively is applied at the crane tip (following the same reasoning as with the metacenter and the cob).

Say the suspended load has a weight of 100 mT and the crane-tip is at an elevation of 14.5m. This yields a corrected CoG position of:

mass KG
vessel 515 4.5
cargo 100 14.5
combined 615 6.13

The KM value depends only on the buoyancy shape. This does not change, so the KM value remains the same at 6.31 m.

The GM value for a lift of 100mT thus becomes:

GM = KM – KG = 6.31 – 6.13 = 0.18 [m]

If we model this in DAVE then we get exactly the same result. However the way in which this result is obtained is completely different: DAVE simply solves full static equilibrium for each heel angle and then derives the equivalent GZ value from the total moment on the vessel. For those who can read python the actual code that performs this calculation is here: Link

The recipe that DAVE follows for these calculations is as follows:

  • Step 0: connect the vessel to the world with a heel joint
  • Step 1: impose heel angle by setting the angle on the joint
  • Step 2: solve static equilibrium
  • Step 3: record the moment in the connection joint
  • Step 4: Repeat steps 1-3 for the given range
  • Step 5: remove joint that was added in step 0. Calculate GM from GZ-curve

This way of calculating the stability is very flexible and fully correct. It allows for calculation of static stability for situations where the traditional method become more and more complex:

  • lifts with multiple cranes on the same vessel
  • lifts with multiple cranes on different vessels
  • lifting items out of or into the water
  • half suspended items (one end in the crane, on end on the deck)
  • partially or fully restrained cargo

These will be subject of a next post.

Free trimming

Another possible issue with stability calculations is that vessels may not be symmetric between bow and stern and/or between portside and starboard. This means that a heel angle will introduce a trim angle or draft change as well. An example are triangular jack-ups.

These will be subject of (another) next post.

If there are any other situations you would like to see then leave your suggestion in the comments are. I like challenges 🙂

Leave a Reply

Your email address will not be published. Required fields are marked *