Marine Engineering Specialists -- Bentley Systems has acquired Ultramarine's MOSES Software [ Press Release ]
Manual Tanker Mooring
This sample problem shows a tanker moored with a "calm" being simulated in the frequency domain.

Most of our examples contain a common set of "beginning" commands as well as a common "ending" command. Click here to get documentation for these commands. They will not be discussed directly. The files which are discussed here are:

After the beginning, we place the two bodies in space at the desired location with

   $
   $*********************************************      SET INIT. CONDITIONS
   $
      &INSTATE -LOCATE  TANKER 67.66  0 -21.95 \
               -LOCATE  BUOY    0     0 -3.16
which locates the two bodies named "tanker" and "buoy". The three numbers after the body names are the translational locations X, Y, and Z in the global coordinate system. You can think of the command as being an instruction to MOSES to "locate the body tanker at global X=67.66, Y=0, and Z=-21.95 meters, and the body buoy at X=0, Y=0, and Z=-3.16 meters".

Having placed the two bodies, we now describe the mooring system:

   $
   $*********************************************      DEFINE LINES
   $
   MEDIT
      &DESCRIBE BODY BUOY
      *CAT1   6.28 -2.6  0.35
      *CAT2   2.60 -6.28 0.35
      *CAT3  -2.60 -6.28 0.35
      *CAT4  -6.28 -2.60 0.35
      *CAT5  -6.28  2.6  0.35
      *CAT6  -2.60  6.28 0.35
      *CAT7   2.60  6.28 0.35
      *CAT8   6.28  2.60 0.35
      *TAUTB  0.0   0.0  6.0
We enter the Model Editing menu with the command MEDIT, and first describe the location where the mooring lines will be attached. Since there are two bodies in this analysis, we need to be clear as to which body we are dealing with. This is done with the &DESCRIBE command. The data "BOUY" on this command says that until further notice, we will be working on the body BUOY. The next nine lines define define points on the buoy. All point are defined with the same syntax: a point name and a set of x, y, and z coordinates. All point names must start with a * and be followed by up to 7 additional characters of your choosing. Point *CAT1 is at x = 6.28, y = -2.6, and z = .35 meters. These distances are measured in the part coordinate system. Here the letters "CAT" is our way of distinguishing between the points where a catenary is attached and where the taut hawser is attached, *TAUTB. The numbers after the words characters "CAT" are simply a way of distinguishing one catenary connection from the others.

Lets pause for a moment to take a glance of what the buoy looks like. With the &INSTATE command, we placed the buoy at 3.16 meter draft. Then we described points 0.35 meters from the bottom of the buoy for connection of the catenary lines. These points are currently 2.82 meters below mean water level. The last point, *TAUTB, is 6 meters above the buoy base line, or 2.84 meters above mean water level.

The buoy mooring system is described with:

      ~CHAIN b_cat 100 -B_TENSION  350 -DEPANC 31 -LEN 356
      CONNECTOR CAT1 -ANC 337.5  340 ~CHAIN  *CAT1
      CONNECTOR CAT2 -ANC 292.5  340 ~CHAIN  *CAT2
      CONNECTOR CAT3 -ANC 247.5  340 ~CHAIN  *CAT3
      CONNECTOR CAT4 -ANC 202.5  340 ~CHAIN  *CAT4
      CONNECTOR CAT5 -ANC 157.5  340 ~CHAIN  *CAT5
      CONNECTOR CAT6 -ANC 112.5  340 ~CHAIN  *CAT6
      CONNECTOR CAT7 -ANC  67.5  340 ~CHAIN  *CAT7
      CONNECTOR CAT8 -ANC  22.5  340 ~CHAIN  *CAT8
The first of these defines a "class" to be used for the connectors named "~CHAIN". Notice that the name begins with a ~ which is a rule similar to the one for point names. The second token of this command is B_CAT (short for catenary to bottom) defines the type of connector to be a catenary mooring line. The remainder of the data defines the diameter of the line as 100 mm, the water depth to be 31 meters, the length of the line to be 356 meters, and the breaking tension to be 350 metric tonnes. This class description is used to describe the connectors which make up the mooring system.

Having dispensed with the preliminaries, we are in a position to define the lines themselves with CONNECTOR commands. The syntax here is to define the name of the connector, the location of the anchor, the class used for the connector, and finally the node to which the connector connects. We have named the lines a, b, ... The anchor location is defined with the -ANC option. the two numbers following are the angle of the line and the distance from the attachment point to the anchor in meters. The angle of the line is specified in degrees and is measured from the buoy x-axis positive towards the buoy y-axis.

Since the buoy is cylindrical in shape you may be wondering how are we going to distinguish the axes. Remember we only changed the global z-location of the buoy, so the x and y axis should have remained coincident with the global x and y axis. If you will also remember, we moved the tanker in the positive global x-direction. So to this point we have located the buoy x-axis. We know the positive z-axis is from mean water level towards the sky, and from this information we can determine the y-axis from the right hand rule.

The last step of the set up is connecting the two bodies with

      &DESCRIBE BODY TANKER
      *TAUTT  0 0.0 37.7
      ~ROPE TENSELM  25.54 -B_TENSION 1000 -LEN 60.86
      CONNECTOR TAUT ~ROPE *TAUTB *TAUTT
   END
   &dcptime Time to Connect
First, we need to define a point on the tanker for the connection. Just as with the buoy, &DESCRIBE is used to tell MOSES that we are now dealing with the TANKER, and the point *TAUTT. The first real difference is with the description of the class ~ROPE. The class type used here is TENSELM which defines tension elements. The diameter, the breaking strength, and the length of the line are defined as they were for the ~CHAIN.

The connection between the tanker and the buoy is also done similar to mooring system, but a different syntax is used. Instead of defining the "second end" of the connector with the -ANC option, we use two points *TAUTB and *TAUTT.

The command END exits the Model Editing menu and completes the connector description.

It is always a good idea to check ones set up. Here we show how to create some pictures of the system up to this point.

   $
   $*********************************************      plots
   $
   &PICTURE ISO
   &PICTURE SIDE
   &PICTURE TOP
The &PICTURE commands plot the vessel descriptions. There are other things that you can plot. To learn more click here. We create three views the &PICTURE commands: ISO creates an isometric, SIDE a side view, and TOP a top view.

Setting the weight of the two bodies is done in the following.

   $
   $*********************************************      SET WEIGHTS
   $
   &CONNECTOR TAUT -INACTIVE
   &WEIGHT -COMPUTE TANKER 14.5
   &WEIGHT -COMPUTE BUOY 3.91
   &DCPTIME TIME TO BALLAST
First we inactivate the connection between the tanker and the buoy with the &CONNECTOR command which says to: inactivate the connector "TAUT". The two &WEIGHT commands tell the program to compute the weight so that each body is in equilibrium, and we want the vertical center of gravity to be at 14.5 meters for the tanker and at 3.91 meters for the buoy. The reason for making the connection between the two bodies inactive is that we want the weight that is computed to be independent of the other. In other words, we do not want the connection to influence the weight.

Whenever performing a mooring analysis it is a good idea to know the properties of the mooring system. This is covered in a separate section, click here to see how it is done.

The commands used to create the hydrodynamic database are similar to those in the Multi-Point Mooring, as is shown below.

   $
   $*********************************************      COMPUTE FREQ. DOMAIN
   $
   HYDRODYNAMICS
      G_PRESSURE TANKER -HEADING 0 22.5  90 180
   END
The main difference here is that we used a larger number of headings. You will later notice that we are really just interested in 180 degrees. In anticipation that we may later need the other headings we went ahead and did the calculations. Also please notice that we are calculating the hydrodynamic database for the tanker and not the buoy.

Having computed the hydrodynamic database we are now ready to define the environment, as shown in the following.

   $
   $*********************************************      DEFINE ENV.
   $
   &ENV USE -SEA ISSC 180 3.68 9.19 -CURRENT .7 180 -WIND 26.8 180 \
            -TIME 600 .75
Here we are describing an environment which will be refereed to as "USE". This environment has waves, a current, wind, and can be used in the time domain. The option -SEA ISSC 180 3.68 9.19 defines an ISSC wave spectrum with a heading of 180 degrees to the vessel system, a 3.68 meter significant wave height and a 9.19 second mean period. The option -CURRENT .7 180 defines a current of .7 meter/second velocity with a heading of 180 degrees to the system. The option -WIND 26.8 180 defines a wind with a speed of 26.8 knots and a heading of 180 degrees to the system. Finally the option -TIME 600 .75 defines an observed time and an interval to be used in the time domain.

Lets take another moment to summarize our setup to this point we have defined two bodies, placed the bodies at a desired condition, defined a mooring system and a connection between the bodies, and defined an environment. We have produced plots of the system as a check on our setup, however it is also a good idea to ask the program for numerical results to confirm our system is as we would like it to be. The following commands do just that.

   $
   $*********************************************      LOOK AT STATE
   $
   &STATUS CONFIG
   &STATUS FORCE
   &STATUS F_CONNECT
The command &STATUS CONFIG reports on the current configuration. This report will contain the current location in the global coordinate system and the normal forces acting on each body. The command &STATUS FORCE produces a report of the forces acting on the bodies. The command &STATUS F_CONNECT produces a report of the forces on the connectors. Please notice that the three commands shown above begin with the command &STATUS. The second word in each command line is refereed to as a status type. You have probably notices that the report type is the name of the report in a condensed form.

If you look at the reports just discussed in the Log File you will see that the sum of the forces acting on the buoy and the tanker do not add up to zero. In order to elevate this we change the locations of the two bodies such that the sum of the forces is nearer zero, which means our system is near equilibrium. This is done via the following.

   $
   $*********************************************      SET INITIAL CONDITION
   $
   &SET FORC =   51.2
   &SET EXCU =   13.87
   &SET ANGL =   14
   &CONNECTOR TAUT -ACTIVE
   &INSTATE -LOCATE TANKER %EXCU%+67.66+6*&NUMBER(SIND %ANGL%)  0 -21.95 \
            -LOCATE BUOY   %EXCU%-.1  0 -3.21  0 %ANGL%
The first three commands define three variables. Variable FORC is set to 51.2, variable EXCU is set to 13.87, and variable ANGL is set to 14. The command &CONNECTOR taut -ACTIVE changes the current status of the taut connector from inactive to active. So, after this command we have re-established the connection between the buoy and the tanker.

Two of the variables just defined are used in the command &INSTATE -LOCATE TANKER . . . -LOCATE BUOY . . .. As mentioned earlier the objective of relocation is to get the sum of the forces near zero. If we look at the restoring force vs. excursion curve produced earlier in the connector design menu we find that an excursion of 13.5 meters corresponds to a restoring force of 39.92 m-tons, and an excursion of 14 meters corresponds to a restoring force of 54.40 m-tons. Comparing the restoring forces to the sum of the forces on the tanker reported with the command &STATUS FORCE, 53.5 m-tons, we find that a good guess for the excursion is 13.87 meters. This excursion will hopefully get us to a point where the restoring force is near equal to the mean environment force. Now compare the values used in this occurrence of the &INSTATE command to those at the beginning of the file and you will see that we are adding 13.87 meters to the global x-location. The variable ANGL is used to account for a 14 degree pitch induced by the environment.

The variable FORC defined above is used for the force in the taut line, in the following.

   $
   $*********************************************      DEFINE TAUT LINE
   $
   &CONNECTOR TAUT -L_HORIZONTAL %FORC
   &STATUS F_CONNECT
   &DCPTIME TIME TO SET UP FOR EQUILIBRIUM
The first command is used to change the horizontal length of the connector named TAUT. Here the option -L_HORIZONTAL %FORC tells the program to change the length of the line until the horizontal force in the connector is 51.2 m-tons. We guessed at 51.2 m-tons based on the results of 50.7 m-tons on the tanker and 6.5 m-tons on the buoy reported with &STATUS. Please note that here we have specific the horizontal force in the line and that it will probably be different to the tension in the line because the connector is not parallel to mean water level. The connection at the tanker is higher above mean water level in comparison to the connection at the buoy.

At this point it is also a good idea to ask for a report of the forces on the connectors, because we have changed the location of the bodies and therefore the shapes of the catenaries have changed which means that the forces have changed. In addition we have activated the connection between the tanker and the buoy. All these changes are reported when we ask for the status of the forces on the connectors. The command &STATUS F_CONNECT was discussed earlier. The command &DCPTIME was discussed earlier.

If you will recall the reason for changing the location of the bodies was to get closer to equilibrium. In the following commands we ask the program to make any final adjustments so that we will be in equilibrium.

   $
   $*********************************************      NOW FIND EQUI.
   $
   &EQUI -OMEGA 1
The command &EQUI -OMEGA 1 finds an equilibrium position. This command was also discussed in the mult-point mooring analysis, here we have added the option -OMEGA 1. This option tells the program to use a factor of one when including the inertia of the bodies into the stiffness.

The command &DESCRIBE body buoy -IGNORE restores all six degrees of freedom for calculations for the buoy.

After finding the equilibrium position we ask for reports on the current status, just as has been done before.

   $
   $*********************************************      REPORT STATE
   $
   &STATUS CONFIG -HARD
   &STATUS FORCE -HARD
   &STATUS F_CONNECT -HARD
   &DCPTIME TIME FOR EQUILIBRIUM
Having found equilibrium, we are in a position to simulate the dynamic behavior. The analysis that follows consist of both time and frequency domain simulations. Both of these are relative standard and are dealt with in other sections. To look at the frequency domain simulation, click here, and to look at the time domain simulation, click here.