Marine Engineering Specialists -- Bentley Systems has acquired Ultramarine's MOSES Software [ Press Release ]
Manual Lift, Lower, & Upend
This is an example of a jacket being lowered into the water and then upended. During the lowering process, a frequency domain analysis is performed to examine the effect of a small seastate on the sling tensions. A structural analysis of the lowering, frequency domain, and the upending is performed.

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 model has been read, one "completes" the definition by specifying several multipliers. The command:

   $
   $*********************************************      set weight
   $
   &APPLY -MARGIN STR@   5
tells MOSES to add a 5% margin to the computed weight, i.e., multiply the computed weight of the jacket by 1.05 before using it. The increase is called a "margin" and is included to account for mill tolerances and weld metal. The command:
   &APPLY @
sets the multipliers for all load groups in the jacket to be 1. If only specific groups are desired their names should be specified in place of the @.

Whenever MOSES performs a simulation, the results are stored in the database by the process name. The command:

   $
   $*********************************************      define lowering process
   $
   &DESCRIBE PROCESS LOWER
instructs MOSES to store the results under the name "LOWER" until further notice.

We now define the some environmental data:

   $
   $*********************************************      define environment
   $
   &DATA ENVIRONMENT
      ENV SEA -SEA ISSC 90 3 7 -USE_MEAN
   END_&DATA
The command &DATA ENVIRONMENT enters the &Data menu where the command ENV defines an environment named "SEA". SEA has only a wave described by an ISSC spectrum approaching from 90 degrees, having a significant wave height 3 feet and a mean period of 7 seconds. The syntax used here with the command ENV is the same as that used with the command &ENV. For more details, click here. The &Data menu is exited with the command END_&DATA.

Our jacket was defined in the installed condition. Here, it is convenient to rotate the jacket so that the bottom face is parallel to the water plane when the pitch is zero. This is accomplished with

   &DESCRIBE PART JACKET -MOVE 0 0 0 *J0501 *J1001 *J0503 *J1003
The command &DESCRIBE PART with the option -MOVE moves the jacket. The option -MOVE tells the program to place the origin of the part system at X = 0, Y = 0, and Z = 0. The four points, *J0501 *J1001 *J0503 *J1003, are used to define the orientation of the jacket part system. Here, the part X axis is from the midpoint of the segment connecting *J1003 and *J1001 to the midpoint of the segment connecting *J0503 and *J0501. The part Z axis is defined by the cross product of the X axis with the vector from *J1003 to *J1001, and the Y axis is given by the right hand rule. In this case, the &DESCRIBE PART command is placing the plane of the jacket containing the nodes *J0501 *J1001 *J0503 *J1003 level with the water line.

Having rotated the jacket, we position it in space with the command:

   &INSTATE -LOCATE JACKET 0 0 10

which places the jacket body origin 10 feet above the water line. The syntax of the command calls for a location and orientation in space. Here the global X and Y have been set to 0 and the Z has been set to 10. Since we did not specify which angles to use for roll, pitch and yaw the program uses the default values of 0 for all three.

We now define the lowering slings with the following set of commands:

   $
   $*********************************************      define lowering sling
   $
   MEDIT
      &DESCRIBE PART GROUND
      *BOOM 199.20      0.00    755.42
      ~BOO SLING 3 -LEN 300
      ~LSL SLING 3 -LEN 400
      CONNECTOR BOOM1  ~BOO *BOOM
      CONNECTOR LS0602 ~LSL *J0602
      CONNECTOR LS0604 ~LSL *J0604
      CONNECTOR LS1002 ~LSL *J1002
      CONNECTOR LS1004 ~LSL *J1004
      ASSEMBLY T-H_DEFINITION BOOM1 LS0602 LS0604 LS1002 LS1004 -INITIAL
   END
Lowering slings are connectors and therefore must be defined in the MEDIT (short for model edit) menu. We enter the model editing menu with the command MEDIT. A sling assembly is an abstraction of the constraints which are applied by a system of several wire lines connected to a hook. Here, the point on the boom where the connection begins is called the boom point. It is connected to the hook which, in turn, is connected to several other points.

Here, we are considering the boom end of the sling to be "fixed in space." The two commands &DESCRIBE PART GROUND and *BOOM define the boom point, *BOOM, fixed in space with a global position X = 199.20 feet, Y = 0 feet, and Z = 755.42 feet. The sling elements are defined by two classes ~BOO for the line connecting the boom to the hook, and ~LSL for the lines connecting the hook to the jacket. Both of these classes have a diameter of 3 inches. The option -LEN sets the length of the slings, 300 feet for class ~BOO and 400 feet for ~LSL.

Attaching the hook and sling assembly to the jacket is done in two steps. First we define the individual sling elements by giving them a name, a class, and the node where they are attached. This is accomplished with the CONNECTOR commands. For the connector called "BOOM1", the class is ~BOO and it is connected to node *BOOM. The names of the connectors on the jacket are a combination of the class name and the node name. For example, the first sling has the name LS0602 because it is of class ~LSL and is connected to joint *J0602. This helps one quickly identify where the connector is attached, and makes the output much easier to read.

The second step is to define the tip-hook assembly. This is done via the command T-H_DEFINITION (short for tip-hook definition). This assembly is refereed to by the name of the element connecting the boom to the hook (here boom1) and joins boom1 to the sling elements LS0602, LS0604, LS1002 and LS1004. The option -INITIAL instructs the program to "initialize" the tip-hook set. Because this is the first tip-hook set defined, the program moves the body so that the hook point is directly below the boom point.

Before we spend a lot of time, it is a good idea to make sure that the situation is, indeed, what we intended. The two commands

   &STATUS TIP-HOOK
   &STATUS F_CONNECT
ask the program to report some values which can be easily checked. The command &STATUS TIP-HOOK reports the boom load, the length of the boom, and the connection location to ground and to the hook. The command &STATUS F_CONNECT reports the connector forces for the boom and the four slings.

Now we begin the lowering process. Lowering is done within the Static Process menu with the following commands:

   $
   $*********************************************      lower into water
   $
   STATIC_PROCESS
      BEGIN -CHEIGHT
      LIFT -5 -SHEIGHT -50
   END
The command STATIC_PROCESS enters the Static Process Menu. The command BEGIN -CHEIGHT is used to set the "initial state" of the lowering process using the current location, and keeping the hook height constant. Lowering is accomplished with the LIFT command. Here we have specified that the jacket be in -5 foot increments. Since we have specified a negative number the program will lower the jacket. The option -SHEIGHT tells the program to lower the jacket until a specified point reaches a height of -50 feet below the water surface. (The specified point has been defined as part of the data file).

This ends the construction of the lowering process and we exit the Static Process Menu with the command END.

Now we begin post-processing of the results just completed in the lowering process. This is done in the Process Post-Processing menu with the commands:

   $
   $*********************************************      lower post-processing
   $
   PRCPOST
      STP_STD
   END
The command PRCPOST enters the menu where STP_STD produces a set of "standard" results, and END exits the menu. Here, "standard results" are: reports of position, stability, height, draft marks, and sling tensions as well as pictures of the process, graphs of the metacentric heights, and sling tensions.

Now we do a frequency domain analysis which will examine the effect of a small seastate on the sling tensions. First we locate the jacket and ask for some information about that location with the following commands:

   $
   $*********************************************      freq. domain
   $
   &INSTATE -EVENT 3
   &STATUS CONFIG
   &STATUS F_CONNECT
The command &INSTATE -EVENT tells the program to put the jacket at the location of event 3 of the lowering process. We next ask the program to report on the current configuration with &STATUS CONFIG which produces a table of the location of the jacket and forces acting on it. We also ask for a report of the status of the forces in the connectors with &STATUS F_CONNECT.

The frequency domain analysis is performed with the commands:

   $
   $*********************************************      freq. post-processing
   $
   FREQ_RESPONSE
      RAO -PERIOD 5 6 7 8 9 10 11 -HEADING 90
      FR_POINT
         REPORT
      END
      FR_CFORCE LS0602
         REPORT
      END
      ST_CFORCE @ SEA
         REPORT
      END
   END
The command FREQ_RESPONSE enters the Frequency Response menu. The command RAO computes the response amplitude operators (RAOs) for the periods following the -PERIOD option (5, 6, 7, 8, 9, 10, and 11 seconds) and for headings which follow -HEADING (beam seas or 90 degrees).

Now that we have the RAOs, we can generate some reports. The nine commands following RAO accomplish three tasks:

  • computing the frequency response at a point, done with FR_POINT. Here we have not specified a point, therefore, the program will use the default values of X=0, Y=0, and Z=0 in the body coordinate system,
  • computing the frequency response of the force in a specified connector, done with FR_CFORCE, and
  • computing the statistics of the connector forces, done with ST_CFORCE for all the connectors using the environment we earlier defined as SEA. If only a specific connector is desired the name should be specified in place of the @ symbol.

After each of these computations are performed, the program automatically places you in the Disposition menu. Here, we ask for the standard report with REPORT, and exit the Disposition menu with END.

The last occurrence of the command END concludes the frequency domain analysis of the lowering process and return us to the MOSES Main menu.

We now perform an upend analysis. The first task here is the command

   $
   $*********************************************      upending process
   $
   &DESCRIBE PROCESS UPEND
which changes the process name to "UPEND". Thus the data created is stored in a different place than that for the lowering analysis. This allows us to have access to both simulations later. We also need to define a new set of slings for the upending. This is done with:
   $
   $*********************************************      define upend sling
   $
   MEDIT
      ~USL SLING 4 -len 80
      CONNECTOR BOOM2  ~BOO *BOOM
      CONNECTOR US0601 ~USL *J0601
      CONNECTOR US0603 ~USL *J0603
      CONNECTOR US0602 ~USL *J0602
      CONNECTOR US0604 ~USL *J0604
      ASSEMBLY T-H BOOM2 US0601 US0603 US0602 US0604 -DEACTIVATE -INITIAL
   END
The definition here is similar to that of the lowering slings, except that the lengths of the sling elements are different and they connect to different nodes on the jacket. The option -DEACTIVATE on T-H tells the program to deactivate all previously defined tip-hook sets. Also, the option -INITIAL works differently but instead of moving the body, the program changes the length of the tip-hook element so that there is no sag in the lines.

As before, we ask for some information to confirm our sling definition with

   &STATUS TIP-HOOK
   &STATUS F_CONNECT
As with the lowering, upending is done within the Static Process menu with the following commands:
   $
   $*********************************************      upend
   $
   STATIC_PROCESS
      &INSTATE JACKET -GUESS *J0702 *J0704 *J0902
      BEGIN
      LIFT  5 -SHEIGHT  35
      FLOOD A@ 10 100 -CHEIGHT
      FLOOD B@ 10 100 -CHEIGHT
   END
The command &INSTATE -GUESS changes the orientation of the body named "JACKET" so that the nodes *J0702, *J0704, and *J0902 will lie on the water plane and provide an initial estimate for the floating position. The BEGIN command computes an initial position. This is different than the one found during lowering because the -CHEIGHT option was not used, therefore the slings will not be active for finding the equilibrium. The command LIFT instructs the program to change the elevation of the hook in 5 foot increments and the option -SHEIGHT (short for stop height) tells the program to stop lifting when a pre-specified point reaches a global height of 35 feet.

The command FLOOD instructs the program to flood tanks beginning with the letter "A" (all tanks with names that match A@) in increments of 10 percent until they are 100 percent full. The option -CHEIGHT (short for constant height) tells the program to keep a constant hook height during ballasting. The next FLOOD command instructs the program to flood tanks beginning with the letter "B" in the same manner, and concludes the upending.

The upending results are post-processed the same as the lowering ones; i.e. with the commands:

   $
   $*********************************************      upend post
   $
   PRCPOST
      STP_STD
      TANK_BAL
         REPORT
      END
   END
We exit the post-processing process with the command END.

We now perform a structural analysis with:

   $
   $*********************************************      structural
   $
   STRUCTURAL
      &DESCRIBE PROCESS UPEND
      LCASE -PROCESS UPEND-3 3
      &DESCRIBE PROCESS LOWER
      LCASE -PROCESS  LOWER-1 1
      LCASE -RAO
      SSOLVE -NONLINEAR
   END
The command STRUCTURAL enters the Structural Menu where all structural analyses are performed. Within the structural analysis menu, we create several load cases, one for upending and the rest for lowering the jacket.

We begin with the upending load case. First we tell the program to recall the database stored under the name "UPEND". This is done with the first &DESCRIBE PROCESS command. The load case is created with LCASE -PROCESS which instructs the program to create a load case named "UPEND-3" corresponding to event 3 of the upend process.

We now continue by defining load cases during the lowering process. The second &DESCRIBE PROCESS command instructs the program to recall the database stored under the name "LOWER". The first load case is created with the same command used to create the load case for the upend process. Here we have created a load case named "LOWER-1" at event 1 of the lowering process. The LCASE -RAO command generates load cases for the frequency domain analysis. These corresponding to the mean position of the structure and two "RAO" load cases for each heading and each period where response operators were computed.

The structural solution for all the load cases is then performed with the command SSOLVE. The structural menu is then exited with the END command.

Now that we have performed a structural analysis, it would be nice to have some information about it. This is done via the commands:

   $
   $*********************************************      structural post
   $
   STRPOST
      &SELECT :CLASS -SELECT @ -EXCEPT ~'$'WA@
      CASES -SPECTRA SEA
      &select :LOAD -SELECT SEA@ UPEND-3 LOWER-1
      RESTRAINT   -CLASS :CLASS -LOAD :LOAD
   END
The command STRPOST enters the Structural Post-Processing Menu. The command &SELECT creates the selector named :CLASS which will later be used to specify which classes to report. Here, the option -SELECT @ tells the program to select all available data and -EXCEPT ~'$'WA@ tells the program to exclude things beginning with characters "~'$'WA". Thus, we have selected everything except the weak springs MOSES automatically generates which correspond to the stiffness of the water.

The command CASES -SPECTRA instructs MOSES to use the environment named "SEA" to construct spectral load cases from the RAO load cases. Next we use the command &SELECT to create a load selector :LOAD which will select all load cases beginning with the word "SEA" and the two load cases UPEND-3 and LOWER-1.

Restraint load reports are generated via the command RESTRAINT. The option -CLASS with the selector :CLASS and the option -LOAD with the selector :LOAD will restrict reporting those classes and cases which match the selectors.

We exit the Structural Post-Processing menu with the command END and finish the analysis.