The Static Process Menu of MOSES is used to simulate the process of altering the position of a body by either lifting or ballasting. It is particularly useful for simulating the process of moving a jacket from the floating position achieved after launch to an upright position, or lifting a body from a barge and lowering it into the water. Since the results of most of these processes are sensitive to the order in which the operation is performed, MOSES's interactive structure is ideally suited to such a situation. To enter this menu, one should issue the command:


where BODY_NAME is the name of the body which will be considered.

The method of analysis here consists of issuing a sequence of commands to MOSES which are in the same order in which the corresponding operation would be performed in the field. Collectively, the set of commands which one issues is called a static process. Two main commands are available: LIFT and FLOOD, defined later in this section. When one of these commands is issued, MOSES will then use the equilibrium position at the last event, change the situation as designated by the command, and iterate a new equilibrium position. In this menu, three degrees of freedom are considered: the movement of the body vertically, and two angular motions.

Before entering the Static Process Menu, one normally defines a lifting sling. This is accomplished by first entering the MEDIT Menu and issuing the proper sling assembly commands. In most cases, these commands will take care of all of the preliminaries so that one can perform a static process. If one does not have a sling assembly, or the situation is unusual, he may need to alter the orientation of the body via a &DESCRIBE PART -MOVE command before entering the menu. In general, it is advisable that the orientation of the body be such that the body X and Y axes will be close to parallel the waterplane when the process begins.

During a static process, MOSES iterates equilibrium positions, and as a result, there are certain instances in which a position satisfying the tolerance within the specified number of iterations is not found. MOSES employs two closure tolerances. It will first attempt to get the norm of the residual less than TOL(1). If this cannot be achieved within twenty iterations, it checks a second tolerance, TOL(2). If the residual is less than this value, MOSES will terminate iteration. If not, the above step will be repeated three times. The user can alter the default values of these tolerances with the option:

     -CLOSURE, TOL(1), TOL(2)

on either a FLOOD, LIFT, or BEGIN command. The default values for these two tolerances are 1E-5 and 1E-4, and they are compared to the sum of the squares of the normalized residuals. In other words, the tolerance is compared against

     RES = (RV/WTJ) ** 2 + (RR/WTJ/JL) ** 2 + (RP/WTJ/JL) ** 2,

where RV is the residual vertical force, RR is the residual roll moment, RP is the residual pitch moment, WTJ is the body weight, and JL is the body length. Notice that with the default tolerances, the maximum error in the vertical force is .32%, or 1% of the body weight, depending upon which tolerance is used. These will also result in a maximum difference in location between the centers of buoyancy and gravity of .32%, or 1% of the body length. Once the closure values have been set, they remain in effect until they are reset by using the option on another command.

The user can alter the default number of iterations with the option:


where MAX_ITER is the maximum number of iterations to be taken (default is 50). This option can be used on either a FLOOD, LIFT, or BEGIN command.

As each event is computed, the results at that event are written to the screen. Since, however, the screen is only eighty characters wide, only six numbers will be displayed. The user can specify the ones displayed by the option

     -DISPLAY, OLD(1), NEW(1), .... OLD(6), NEW(6)

n either a BEGIN, FLOOD, or LIFT command, where OLD defines the original type of data for a column and NEW defines the type of data which one wants to have in that column. The values for OLD must be either: PITCH, ROLL, HOOKH, HOOKL, TBALLAST, or CBALLAST while the values of NEW must be either one of the valid values for OLD, or MTENSION, WPA, GMT, or GML. The default values displayed are: PITCH, ROLL HOOKH, HOOKL, MTENSION, and TBALLAST. A -DISPLAY option with no parameters will reset the display to the default values.

Most of the commands here have two common options:

When the user is placed in the Static Process Menu, his task is to construct a static process which satisfies the installation criteria. The idea behind MOSES is that the user will alter an existing process until he achieves one he likes. Before this can be accomplished, however, he must have something to modify. The definition of an initial process to MOSES is accomplished by issuing:


and the available options are:

     -PERFUL, TANK_NAME(1), PER(1), TANK_NAME(2), PER(2), ....


     -CLOSURE, TOL(1), TOL(2)

     -DISPLAY, OLD(1), NEW(1), .... OLD(6), NEW(6)

which instructs MOSES to find an initial equilibrium position. If, however, one has generated a static process previously, the results are stored in the database so that when the STATIC_PROCESS command is re-issued, the last event of the previous process will be displayed. In either case, a process is now available for modification. When in the Static Process Menu, the quantities reported for roll and pitch have a different meaning than elsewhere. Here, pitch and roll are defined as angles which two vectors make with the waterplane. These two vectors are defined using the -SP_ORIENT option of the &DESCRIBE BODY command.

The initial position generated by the BEGIN command normally corresponds to the floating position with no applied hookload and no water in any of the compartments. One can alter the situation by using either of the options -PERFUL or -CHEIGHT. For the -PERFUL option, TANK_NAME(i) is the name of the ith tank to be initially flooded and PER(i) is the initial percentage full of tank i. If the -CHEIGHT option is specified, MOSES will set the location of the hook at the position it has in the initial configuration and keep the hook height constant. Otherwise, the hook height will be allowed to change and the hook will have zero load.

When the BEGIN command is issued, MOSES takes the "initial configuration" of the system as the starting point for finding equilibrium. Since the process of finding equilibrium is expedited if the starting point is reasonably close to an equilibrium position, it is a good idea to issue an &INSTATE command to set a reasonable guess for an equilibrium position prior to issuing BEGIN.

Now, suppose that the process is good up to some point, but it is desirable to change it after that event. Here, one instructs MOSES to move the last good event and delete the remainder of the process from the current "work process". This is accomplished by:


and the available option is:


If LGEVENT is positive, it is the event number which will become the last event in the process. Alternately, if LGEVENT is negative, it is the number of events back from the current event. Thus, if one currently has a process with 20 events, and he wishes to reconsider action at event 18, he can accomplish this by either:

     GOTO 18


     GOTO -2

When a GOTO command is issued, some information will be lost. To save this information, one can use an option -POST on the command so that he is placed in the "Process Post-Processing Menu" before the old work process is truncated. Here, the user can either report the results, graph them, or save them on a post-processing file.

MOSES simulates two types of field operations: altering the amount of water in compartments, or lifting with a crane vessel. Each action is invoked by one of two commands, the first one being:


where the available options are:





     -CLOSURE, TOL(1), TOL(2)

     -DISPLAY, OLD(1), NEW(1), .... OLD(6), NEW(6)

This command instructs MOSES to change the elevation of the hook in equal vertical increments, DZ (feet or meters), until one of the termination criteria defined by the -NUMBER, -SHEIGHT, -SHOOK, or -STENSION options is satisfied. MOSES will increment the hook height until either NUM changes have been made, a specified point reaches a height of HSTOP (feet or meters) above the waterplane, the hook reaches a height of HOSTOP (feet or meters) above the waterplane, or a specified hookload, TSTOP, is reached. The point for which HSTOP is checked is defined by using the -SP_HEIGHT option on the &DESCRIBE BODY command. When the lift increment is negative, the specified heights and tension are lower bounds and when the increment is positive, they are upper bounds. In other words, when lifting, HSTOP, HOSTOP, and TSTOP are maximum values, while when lowering, they are minimum values. At each increment in height, MOSES will move the hook, iterating pitch and roll angles and a hookload which result in equilibrium.

During the lifting process, the lifting sling is treated as an assembly of elements which are rigid in tension, but can carry no compression. Thus, the hook attachment point is first found assuming all sling elements to be rigid. The load in each sling element is then computed assuming a distribution which will minimize the sum of the squares of the deviations if the problem is indeterminate. If any of the sling elements carry compression, they are eliminated, and a new hook attachment point is computed. This process is continued until the sling elements all carry tension or zero load. The -CLOSURE and -DISPLAY options were discussed above.

With the second command, MOSES will alter the ballast in selected compartments until a termination criteria is satisfied. Its form is:

     FLOOD, :TNK(1), PERC(1), TRP(1), :TNK(2), PERC(2), TRP(2), .. -OPTIONS

and the available options are:



     -CLOSURE, TOL(1), TOL(2)

     -DISPLAY, OLD(1), NEW(1), .... OLD(6), NEW(6)

In general, all compartments which match the tank selector :TNK(i) will have their ballast altered by a percentage PERC(i) at each step. The process terminates when all selected compartments have reached their termination percentage, TPR(i). During this process, the water added to a tank is free to move around in the tank as the body changes orientation. In view of this, problems sometime arise if long compartments which are almost horizontal are flooded. Here, the sloshing of water from one end to the other may inhibit closure of equilibrium residuals. The flood increments PERC(i) may be either positive or negative. If one is positive, then TPR(i) is a maximum amount of ballast which will be placed in the compartments selected by :TNK(i). If PERC(i) is negative, then TPR(i) is a minimum amount which will be in each selected tank.

The -CHEIGHT option alters the action which will be taken with the hook during the flooding. Without the option, compartments are ballasted holding the hookload constant. Alternately, if -CHEIGHT is specified, the compartments will be ballasted holding the height constant unless negative hookload is required. If this occurs, the height is allowed to change with zero load.

Without the -NDRAIN option, MOSES attempts to simulate a tank with an open valve. In this case, at each iteration, a check of where the waterplane intersects the tank is made. If the volume of the tank below the waterplane is less than the current percentage full, then the flooded volume is taken to be the submerged volume instead of the current percentage full. Thus, compartments which are filled without the -NDRAIN option can later lose ballast if they come out of the water. Use of -NDRAIN simulates pumping water into compartments. Here, no check on the submerged volume is made, and the amount of water in a tank remains fixed during subsequent calculations. As with all static process commands, the conditions used at the beginning of a step are those which existed at the end of the last step. The -CLOSURE and -DISPLAY options were discussed above.

At the conclusion of a command, the user will be prompted for the next command. To see data which was not displayed during the execution of a command, the user can input the command:

     REVIEW, RTYPE, E1, E2

where RTYPE is the type of data reviewed. RTYPE must be either POSITION, WATERP, CBCG, HEIGHT, ACTION, or PLOT. The values E1 and E2 are the event numbers over which the data will be printed. If omitted, all events will be reviewed. If all types of data are reviewed, essentially all data in the output reports will be displayed. If one specifies PLOT, then an animation of the process will be plotted. To check the current amount of water in any tank, simply issue an &STATUS COMPARTMENT.

During a static process, the stability of the body can become a critical question. While the metacentric heights provide some measure of the initial stability of the system at each event, they do not address the question of the range of stability. This question is properly addressed via a righting arm computation. MOSES provides an easy method of computing the righting arms at any event during a process simulation by simply issuing the command:


where the options are:



Here, EVE_NUMBER is the event number about which the righting arms are to be computed, ANGLE_INC is the angle increment (deg.) for the computation, and NUM_ANGLE is the number of angles for which the righting arms will be computed. The option key words specify which angle is to be incremented.

After the righting arms are computed, the user is placed in the Disposition Menu so that he can dispose of the results. MOSES then returns to the simulation as if the RARM_STATIC had not been issued.