# How can I determine the position of waterline during the inclining process of a ship

Discussion in 'Stability' started by xichyu, Nov 28, 2016.

1. Joined: Apr 2016
Posts: 99
Likes: 0, Points: 6, Legacy Rep: 10
Location: Dalian，Liaoning，China

### xichyuJunior Member

Many ships capsized because of various reasons. I want to know the variation of ship stability in the process of heel angle change.

My thinking is that the waterline must be determined firstly，then the displacement and the centre of buoyancy. The center of mass and weight are constant. So the ship stability can be solved.

I want to calculate the ship stability by MATLAB because of too much data. So I must constantly determining the intersections of ship sections and watersurface.

How to obtain the waterline？
In the book of ship's hydrostatical theory, the intersections of ship sections and watersurface are given.

My teacher just taught us the calculation method of big-angle tilted ship stability，but he did not tell us the method of determining the position of waterline during the inclining process of a ship.

2. Joined: Apr 2015
Posts: 340
Likes: 38, Points: 28, Legacy Rep: 37
Location: Berlin, Germany

### HeimfriedSenior Member

Stability is defined as the ability of a ship to resist a heeling (or trimming) moment respectively regain its upright floating position, if the heeling moment disappears.

Stability is not a physical quantity.

So if you want to calculate stability, which quantity is representing the stability in your thinking?

3. Joined: Apr 2016
Posts: 99
Likes: 0, Points: 6, Legacy Rep: 10
Location: Dalian，Liaoning，China

### xichyuJunior Member

Righting moment=GZ*Displacement
So, I want to calculate GZ(righting arm).

4. Joined: Apr 2015
Posts: 340
Likes: 38, Points: 28, Legacy Rep: 37
Location: Berlin, Germany

### HeimfriedSenior Member

I Think, you will know, that there is no analytical solution, but an iteration is needed.

The way I use, is to subdivide the hull along its cartesian coordinates x, y into small upright "sticks" of a rectangular horizontal section.

There must be an array describing the shape of the hull. You know the position (x, y) of the center of each stick and the z coordinate tells you the draft of the stick in the upright position of the vessel. Sum up the draft of all the sticks and multiply by the area of the stick section. So you have the displacement volume (DISPV).

When you set the heel angle, you are able to calculate the degree of immersion of every stick by using tangens function. Recalculate the DISPV (DISPV temporary) and you will find, it is not eaqual to the initial DISPV.

Now starts the iteration: you have to decrease or increase the draft of the vessel, until its DISPV temp is nearly eaqual its DISPV ini.

Simple pics of the hull "sticks" to illustrate the thought (I hope, you will recognise the "boat"):

5. Joined: Apr 2016
Posts: 99
Likes: 0, Points: 6, Legacy Rep: 10
Location: Dalian，Liaoning，China

### xichyuJunior Member

Thanks for response！
I thought long and hard about the problem.
I could not find the mathmatical method for the iteration：

When you set the heel angle, you are able to calculate the degree of immersion of every stick by using tangens function. Recalculate the DISPV (DISPV temporary) and you will find, it is not eaqual to the initial DISPV.

Now starts the iteration: you have to decrease or increase the draft of the vessel, until its DISPV temp is nearly eaqual its DISPV ini.

So，I wish you would introduce me some mathematical methods or related literatures or cases.

6. Joined: Apr 2015
Posts: 340
Likes: 38, Points: 28, Legacy Rep: 37
Location: Berlin, Germany

### HeimfriedSenior Member

I think it is a good idea to use MATLAB, but my knowledge on that software is less than poor. And unfortunately practical application of matrices I don't know better. Also I know no literature on this topic to recomment it.

I did solve this floating body problems with arrays.

7. Joined: Apr 2015
Posts: 340
Likes: 38, Points: 28, Legacy Rep: 37
Location: Berlin, Germany

### HeimfriedSenior Member

To give you an idea of the iteration I meant, an exemplary snippet of code written in a symbolic language ("//" indicates a comment):

Code:
```
dispvini = 123456  // set the initial displacement volume DISPV (deriving from weight of Boat, crew, gear ...)
dispvtmp = 0 // initialise the variable to contend the temporary DISP
epsilon = 15 // an appropriate chosen small amount of deviation in DISP you allowe
af = 0.002 // an appropriate choosen factor to scale the step of iteration (has to be evaluated)

DO disp // calls a procedure which determines the temporary DISPV depending on draft (T), heel (phi) and trim (theta); procedure sets dispvtmp to the new value

WHILE (ABS(dispvini - dispvtmp) > epsilon)          // while the absolute value of the difference between initial (given) DISPV and temporary (actual) DISPV greater than epsilon
IF (dispvini > dispvtmp) THEN                     // if ini DISP greater than tmp DISP
T = T + (ABS(dispvini - dispvtmp) * af)   // small increase of T
ELSE                                                   // if tmp DISP greater than ini DISP
T = T - (ABS(dispvini - dispvtmp) * af)  // small decrease of T
ENDIF
DO disp // sets dispvtmp to the newer value corresponding to the altered T
ENDWHILE

```

8. Joined: Oct 2012
Posts: 50
Likes: 4, Points: 8, Legacy Rep: 10
Location: Singapore

### Mermaid CoJunior Member

Waterline Determination

Waterline is the product of hull lines, lightship weight and deadweight so first step is define these parameters correctly.

9. Joined: Aug 2002
Posts: 14,154
Likes: 542, Points: 123, Legacy Rep: 2031
Location: Milwaukee, WI

### gonzoSenior Member

The density and placement of the cargo also have a huge influence on the stability.

10. Joined: Apr 2016
Posts: 99
Likes: 0, Points: 6, Legacy Rep: 10
Location: Dalian，Liaoning，China