To find the equilibrium configuration of the system due to the current loading, ballast, damage, and constraints, etc., one should issue:


and the available options are:




     -IGNORE, B_NAME, DOF(1), DOF(2), ...



When this command is issued, the program will iterate to find an equilibrium position until either the residual is less than the default convergence tolerances or until the default maximum iterations are taken. The options define parameters which are used to control the algorithm. The parameters are remembered from one invocation of the command to the next. To change a value, use the option which alters it. To get back to the default settings, use the -DEFAULTS option. Upon completion of this command, the initial condition is reset to be the new equilibrium condition. If this is not desirable, use the &INSTATE -PREVIOUS command to return to the initial condition. To alter the default tolerances or the maximum number of iterations, one should use the options -ITER_MAX and -TOLERANCE. Here, MAX_ITER is the maximum number of iterations to be taken (default is 50) and TOL is the acceleration convergence tolerance in G's for translational motion (default is 0.001).

The -IGNORE option can be used to ignore specified degrees of freedom only for the current equilibrium search. In other words,


is the logical equivalent of


Here B_NAME is the name of the body and DOF(i) must be either X, Y, Z, RX, RY, or RZ.

To find equilibrium, MOSES simply hunts for a configuration where

     F = 0

This is a deceptively simple equation; the exercise of finding an equilibrium configuration is one of the most difficult things that MOSES does. One of the complicating factors is that, since the equations may be nonlinear, there may be more than one equilibrium configuration. When one finds an equilibrium configuration, care should be used, it may not be the one that occurs in real life.

To solve for the configurations which satisfy the equilibrium condition, a modified Newton method is used. The modifications deal with two problems, the main one being that in many cases the stiffness matrix is singular. For example, consider a freely floating ship. Here, one has stiffness in heave, roll and pitch, but none in surge sway and yaw. Blindly applying a Newton method here is not effective. To avoid a possible singularity in the stiffness, we augment the stiffness with a fraction of the inertia, i.e. in place of the stiffness, we use

     Kb = K + FRACT**2 I

where FRACT is a small parameter which we can specify. This should fix the singularity problems because for degrees of freedom where K is not singular, the inertia term will be negligible and for singular degrees of freedom of K it adds a term on the diagonal. The -OMEGA option is used to set FRACT, and the default values of it are .2236 if there are no flexible connectors and .02236 if there are flexible connectors.

When using this modified Newton method, there are two reasons that one may not find a configuration with tolerance: the step size MOSES takes may be too small or it may be too large. When one is far from equilibrium, large steps are needed if one is to get close within the maximum number of iterations. Here, limits on step size may need to be increased so that larger steps can be taken. This may not help if FRACT is what is limiting the step size. You see, the term we added to minimize the chance of a singular stiffness also reduces the step size. For systems with large inertia and small stiffness, the "small extra" can actually dwarf the stiffness. The fix here is to decrease FRACT. Caution is, however, in order. The defaults are set for reliability. Following the above advice can create the other problem - too large a step.

For very stiff systems or systems with tensions only element, equilibrium may fail because steps which are too large are being taken. Here, MOSES thinks it needs to move "a good bit", but once it gets there it finds it has gone too far. Here, the way to help is to use -MOVE_MAX to make the maximum step size change smaller. This option sets two additional parameters, MAX_TRANSLATE and MAX_ANGLE which limits step size. The defaults are 1 foot (.3 meters) for MAX_TRANSLATE and 2 degrees for MAX_ANGLE.

The advice given here may appear contradictory, but there are two distinct cases. If you have problems, you first need to find out the cause. The best way to eliminate difficulties is to begin with a good guess. This eliminates several problems: you no longer need "big steps" to find equilibrium, and you are much more certain that the configuration you have found is, in fact, the one you want.