Marine Engineering Specialists -- Bentley Systems has acquired Ultramarine's MOSES Software [ Press Release ]
Mooring Line Fatigue
This sample problem shows an analysis of a barge where the fatigue in the mooring system is computed.

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:

As mentioned above, our objective here is to compute the fatigue of a barge mooring system. If you compare this command file ml_fat.cif with mp_moor.cif you will notice that here we are using the same setup. The first real differences are the commands:

   $
   $*********************************************     define environments
   $
   &DATA ENVIRONMENT
      ENV ENV1 -DURATION 0.03  -SEA ISSC 180 22. 10.317 -USE_MEAN NO
      .
      .
      .
      ENV ENV30 -DURATION 13.03 -SEA ISSC 135  6.  7.445 -USE_MEAN NO
   end
Here we are defining the environments which will be used for fatigue. The command &DATA enters into the MOSES &Data menu to deal with environmental data. Here, 30 environments are defined, each of which begins with the command ENV. Since they all follow a common syntax, only the first one will be discussed. The name of the environment, "ENV1", is the first thing defined. For fatigue, we need to define the length of time that the environment will act. This is done with the -DURATION option, to be 0.03 days. The sea state is defined with the -SEA option. Here, we have a sea with an ISSC spectrum with a heading of 180 degrees to the barge, a significant wave height of 22 feet and a mean period of 10.317 seconds. The option -USE_MEAN instructs the program not to combine the deviation with the mean.

Having defined the environment data we now proceed to the frequency response analysis.

   $
   $*********************************************     compute fatigue
   $
   FREQ_RESPONSE
All of the analysis is performed within the Frequency Response menu which is entered via the command FREQ_RESPONSE.

Before actually performing the fatigue analysis we need to to initialize a few parameters. Initialization is done with the following commands.

   $
   $*********************************************     initialize fatigue
   $
      FAT_CFOR -INITIAL
      COUNT_CF -F_BINS   005 010 015 020 025 030 035 040 \
                     045 050 055 060 065 070 075 080 \
                     085 090 095 100 105 110 115 120 \
                     125 130 135 140 145 150 155 160 \
                     165 170 175 180 185 190 195 200 \
                     225 250 275 300 325 350 375 400
The command FAT_CFOR -INITIAL sets all the fatigue accumulators to zero. The command COUNT_CF -BINS 005 010 . . . accumulates cycles of tension in specified ranges. The ranges are specified by the numbers listed here in kips (big force units). For example the first bin would be for cycles from 005 kips to 010 kips.

Having initialized the parameters, we now accumulate the fatigue cycles for the thirty environments defined earlier. What we are really after here is a set of commands that will systematically accumulate the fatigue of each environment beginning with env1 and ending with env30. The most efficient method is to create a loop, as is shown below.

   $
   $*********************************************     loop environments
   $
      &LOOP I 1 30
The above command begins the loop and later on you will see the end of the loop command &ENDLOOP. In this command the variable "I" will be set to 1 in the first loop, and increased by 1 every time through the loop. "I" will equal 30 the last time through the loop.

The commands to accumulate fatigue are contained inside the loop. These commands have been written to associate the environment name starting with env1 and progressing to env30 each time through the loop. This is accomplished by using the variable "i" as part of the name (i.e. "env%i"). For example, the first time through the loop when i = 1, the environment associated with the name "env1" is used.

Before we actually accumulate fatigue there are some steps to take. The first is setting the environment and finding equilibrium for the current environment, as shown in the following:

   $
   $*********************************************     find equi
   $
         &SUBTITLE ENVIRONMENT IS ENV%I
         &ENV ENV%I
         &INSTATE -LOCATE 0 0 -9.5
         &EQUI -MAXMOVE 5
It is always a good idea to keep track of where one is in the loop. Here we change the subtitle to include the name of the current environment. Including the name of the current environment will facilitate reading of the output because each page will tell us the environment used to create the numbers.

The current environment is set with the command &ENV ENV%I. This command uses the environment description entered earlier with the MOSES &Data menu.

The location of the barge coordinate system is set with the command &instate -locate 0 0 -9.5. This command tells the program to put the origin of the barge coordinate system at a global location of X=0, Y=0, and Z=-9.5 feet. The syntax of the command allows for roll, pitch and yaw to be specified after the three translational locations. Since we did not enter values for roll, pitch and yaw, the program uses the default value of zero.

When the &EQUI -MAXMOVE 5 command is issued, the program iterates to find an equilibrium position until either the residual is less than the default convergence tolerance or until the default maximum iterations are taken. At each iteration, the program moves the barge to a position it believes will be closer to equilibrium. The option -MAXMOVE 5 instructs the program that the maximum translational motion it can make is 5 feet. For our analysis, the equilibrium position found with this command is the position where the mooring system restoring force is near equal to the mean environment force. This position is often referred to as the "mean offset".

Reporting of the equilibrium value just found is done via the following:

   $
   $*********************************************     report equi
   $
         &STATUS CONFIG     -HARD
         &STATUS F_CONNECT  -HARD
The first command &STATUS CONFIG reports on the current configuration of the system, the location and the forces acting on the system at that location. The second command &STATUS F_CONNECT reports the current status of the forces on the connectors. The option -HARD tells the program to produce the report in the output file ml_fat.ans/out00001.txt.

We now proceed with the spectral response.

   $
   $*********************************************     spectral response
   $
         SRESPONSE -PERIOD  500 450 400 350 300 250 200 180 160 150 140 \
                          130 120 110 100 90    \
                          80 70 60 50 40 30 \
                          25.  20.  19.  18.  17. 16.  15.  14.5    \
                          14. 13.5  13.  12.5 12. 11.5 11.  10.5    \
                          10.  9.5   9.   8.5  8.  7.5  7.   6.5    \
                          6.  5.5   5.   4.5  4.  3.
The command is discussed in Common Frequency Response Commands.

Post processing of the spectral response is done via the following:

   $
   $*********************************************     post - process
   $
         ST_CFORCE @
            REPORT
            END
         FAT_CFORCE -ACCUMULATE @
         COUNT_CF   -ACCUMULATE @
The command st_cforce @ is discussed in Common Frequency Response Commands.

The last two command lines are not Common Frequency Response Commands. They commands are only useful for fatigue analysis. Accumulation of the fatigue on the connectors is done with the command FAT_CFORCE -ACCUMULATE. Cycles of tension are accumulated with the command COUNT_CF -ACCUMULATE. Cumulative damage ratios and cycles of tension are computed for all connectors. For both of these commands the @ symbol tells the program to chose all connectors. The wild character @ is discussed with the Multi Point Mooring analysis.

The next command marks the end of the loop which was started earlier.

   $
   $*********************************************     end loop
   $
      &ENDLOOP
When the program exits the loop, cumulative damage ratios and cycles of tension for all thirty environments will have been accumulated. The following commands produce reports of the results.
   $
   $*********************************************     report fatigue
   $
     FAT_CFORCE -REPORT 30*365
     COUNT_CF   -REPORT 30*365
The command FAT_CFORCE reports the cumulative damage ratios and the command COUNT_CF reports the cycles of tension. The option -REPORT 30*365 tells the program to scale from the time accumulated to 30*365 days (30 years). If you take the time to sum the durations in the &Data menu you will find that the duration entered was approximately 60 days. This is a convenient way to extrapolate fatigue results when the environment duration is not as long as you would like.

All of this analysis has been done within the Frequency Response menu. The command END exits out of the Frequency Response menu. This completes our analysis.