MOSES is a simulation language. Thus, the commands which are available are all designed to either describe a system or to perform a simulation. The primary strength here is that the user is free to issue the commands in any order that makes sense. In other words, once a basic system has been defined, the user can alter it in many different ways to change the initial conditions for similar simulations or perform different types of simulations, without altering the basic definition of the system. Also, after a simulation has been performed, he can analyze the deflections, stresses, etc. at different phases of the simulation.

In general, the things with which MOSES performs simulations are called bodies. During a simulation, bodies have N degrees of freedom. The first six of these are the traditional rigid body degrees of freedom, and any others represent deformation of the body. Bodies are composed of smaller pieces called parts, with each part having all of the characteristics of a body itself. MOSES is capable of considering four types of forces which act on bodies: those which arise from water, wind, inertia, and those which are applied. Thus, to MOSES, a body is a collection of attributes which tell it how to compute loads and how to compute deflections. MOSES can deal with up to 50 bodies.

In computing the forces on a body due to its interaction with the water, the user can choose from three hydrodynamic theories: Morison's Equation, Three Dimensional Diffraction, or Two Dimension Diffraction, the particular method used being controlled by the manner in which the body is modeled. A single body can be composed of any combination of hydrodynamic elements. The structure of a body can be defined by any combination of beam and generalized plate elements, and the user has control over whether or not a given structural element will attract load from either wind, water, or inertia.

A second primitive element of the MOSES system is the connector. These elements, in general, attract no loads from the environment and serve to constrain the motion of the bodies. There are five types of connectors: flexible connectors, rigid constraints, launchways, pipes, and slings. Here, flexible connectors can be used to model mooring lines, hawsers, etc., while rigid constraints are used for pins. The user is free to define any combination of connections. Connections are defined separately from the definition of the bodies, and thus, can be altered interactively to simulate different aspects of a particular situation.

Once a system (bodies and connections) has been defined, the user is free to perform static, frequency domain, or time domain simulations. There are also specialized sets of commands which provide information on the hydrostatics of one of the bodies, the behavior of the mooring system, or the upending of a body. The results of each simulation are stored in a database so that they can be recalled for post-processing, restarting, or for use in a stress analysis.

After a simulation has been performed, the user can perform a stress analysis for selected parts of the system at selected events during the simulation. Here, MOSES will compute all of the loads on the selected part at the event in question and convert these into nodal and member loads for use by the structural solver. If the body has more than six degrees of freedom, then the loads applied include the deformation inertia. The restraints which correspond to the connectors will be added to the structural model. The resulting structural system will be solved for the deflections at the nodes, and the deflections and corresponding element internal loads will be stored in the database.

The post-processing of MOSES is one of its strongest points. Virtually all of the results produced from either a simulation, a mooring command, or a hydrostatic command can be viewed at the terminal, graphed, or written to a hardcopy device. In addition, many results based on the simulations can be computed in the post-processors. In the structural analysis post-processor, code checks, joint checks, deflections, elements loads, and stochastic fatigue can be reported. These reports can be restricted to a small subset at the request of the user. A flow chart of the procedure just outlined is shown in Figure 1.

With the generality provided within MOSES, it is virtually impossible to delimit the tasks which can be accomplished. There are certain things, however, which can be done simply: