Marine Engineering Specialists -- Bentley Systems has acquired Ultramarine's MOSES Software [ Press Release ]
Multi-Point Mooring
This sample shows the use of most of the options available for analysis of a moored barge.

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 discussed here are:

After the standard beginning commands, we define the condition of the vessel with:

   $
   $*********************************************      Set Initial Condition
   $
   &INSTATE -CONDITION 9
which tells the program to put the vessel at a draft of 9 feet. The syntax of the command allows for a roll and a trim to also be specified. Here we have left those values empty, so the program will default to the value 0 for roll and trim.

Having placed the body TBRG at the desired condition we are ready to define the mooring system with:

   $
   $*********************************************      Define Mooring Lines
   $
   MEDIT
      *MLA 400    50   20
      *MLB 400   -50   20
      *MLC   0   -50   20
      *MLD   0    50   20
      ~WIRE b_cat  4.19 -DEP 500 -LEN 4000 -BUOY 0 -WTPL .0125
      CONNECTOR A -ANC  -45   20 ~WIRE   *MLB
      CONNECTOR B -ANC  -90   20 ~WIRE   *MLB
      CONNECTOR C -ANC  -90   20 ~WIRE   *MLC
      CONNECTOR D -ANC -135   20 ~WIRE   *MLC
      CONNECTOR E -ANC  135   20 ~WIRE   *MLD
      CONNECTOR F -ANC   90   20 ~WIRE   *MLD
      CONNECTOR G -ANC   90   20 ~WIRE   *MLA
      CONNECTOR H -ANC   45   20 ~WIRE   *MLA
   END
We begin by entering the MOSES Model Editing menu with the command MEDIT where we will add connectors which define mooring system. Before defining the connectors, however, we need to define the nodes where they will attach. All nodes are defined with the same syntax: a node name and a set of x, y, and z coordinates. All node names must start with a * and be followed by up to 7 additional characters of your choosing. Node *MLA is at x = 400, y = 50, and z = 20 feet. These distances are measured in the part coordinate system.

Following the definition of the nodes, we define a class to be used for the connectors named ~WIRE. Notice that the name begins with a "~" which is a rule similar to the one for node names. The second token of this command 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 4.19 inches, the water depth to be 500 feet, the length of the line to be 4000 feet, the buoyancy diameter to be 0 inches, and the weight per length to be .0125 kips/foot.

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 feet. The angle of the line is specified in degrees and is measured from the barge x-axis positive towards the barge y-axis. Notice that we have defined the anchor to be 20 feet from the attachment point and that this is not a rational choice. At this point, we really do not care because we will shortly redefine the anchor locations.

The command END exits the MOSES Model Editing menu.

Pretensioning the mooring lines just described is done via:

   $
   $*********************************************     Move Anchors
   $
   &CONNECTOR @ -A_TENSION 100
   &DCPTIME TIME TO CONNECT
which moves the anchors so that the tension in all of the lines will be 100 kips. The symbol, @, selects all of the lines. The command &DCPTIME reports the CPU time used to connect to the command channel to this point and will also be available in the log file. The time reported is preceded by the message "TIME TO CONNECT". After the CPU time is reported, the counter is set to zero and counting begins again. Later on in this analysis we will ask for a report of the CPU time starting from this point in the analysis.

This is a good time to talk about when to define connectors. Here, we read the model, placed the vessel in its nominal condition, and then defined the connectors. This sequence leads to a good "general rule": the connecting of the bodies should be the last step in the initialization process.

Having defined the mooring system and set the pretension, we can now ask for some information about the mooring system. This is covered in a separate section, click here to see how it is done.

Frequency domain hydrodynamic calculations are performed with

   $
   $*********************************************      Frequency Domain
   $
   HYDRODYNAMICS
       G_PRESSURE TBRG -HEADING 90
   end
Computing of the hydrodynamic database is done within the Hydrodynamics menu which is entered with HYDRODYNAMICS. The command G_PRESSURE instructs MOSES to compute the pressures that the sea exerts on the body. When this command is issued, MOSES takes the system in its current configuration and computes the frequency domain pressures, a total hydrodynamic database, and Tanaka data for the body TBRG for the wave headings and periods specified. Here, the option -HEADING specifies that we only want pressures for a heading of 90 degrees. Since we did not specify a -PERIOD option, the periods used will be the default ones defined by &PARAMETER.

We exit the Hydrodynamics menu with the command END.

We find the equilibrium position due to an environment with

   $
   $*********************************************     Find Equilibrium
   $
   &ENV TEST -SEA ISSC 90 10  7.5 -TIME 300 1
   &EQUI
   &STATUS F_CONNECT
   &STATUS FORCE
   &DCPTIME TIME FOR EQUILIBRIUM
The first command above defines the environment named "TEST" to have a wave environment corresponding to an ISSC wave spectrum with a heading of 90 degrees to the barge, a 10 foot significant wave height, and a mean period of 7.5 seconds. The -TIME option defines an observation time of 300 seconds at a 1 second interval. This data is used when performing a time domain simulation.

An equilibrium position is found with the command &EQUI which, when issued, asks the program to iterate until either the residual is less than the default convergence tolerance or until the default maximum iterations are taken. For our analysis, the equilibrium position found with this command is the position where the mooring system restoring force minus the mean environment force is within tolerance. This position is commonly referred to as the mean offset position.

The two &STATUS commands report the current status of the system. The one with F_CONNECT reports the force on the connectors, and the one with FORCE reports the forces acting on the barge broken down by type.

There is one additional bit of information we need to tell the program before we proceed. There are certain points which are of special interest to us, and MOSES has a menu dedicated to identifying these points.

   $
   $*********************************************     Define Report Points
   $
      &INTEREST REPORT
         IP_ASSOCIATE   *M@
      END
The command &INTEREST enters the &Interest menu with a type of "REPORT"; i.e. we will be dealing with reporting points. The IP_ASSOCIATE command adds all points which match *ML@ to the list of interest points. We will later use these points in post processing of the time domain results. The command END exits the &Interest menu.

The analysis that follows consists 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.