In MOSES, one can simulate the effect of a propulsion unit. These units have a thruster and optionally, a rudder. A propulsion connector class is described using:

~CLASS,PROPULSION, E_NAME, MAX_THRUST, R_ALPHA, R_GAMMA, R_DIST

where the available options are:

-R_ANGLE_LIMITS, RA_MIN, RA_MAX-T_ANGLE_LIMITS, TA_MIN, TA_MAX

Here, E_NAME is the name of an "efficiency" curve and MAX_THRUST is the maximum thrust of the unit in bforce units. The thrust applied is the
efficiency at the relative water particle velocity times the maximum thrust times the fraction of thrust applied. The last factor and the thrust and rudder angles are
defined with an option on a **&CONNECTOR** command. The next three values define the optional rudder. R_DIST is the distance (feet
or meters) of the rudder shaft aft of the connector point. R_ALPHA (ft**3 or m**3) and R_GAMMA (ft**2 or m**2) define the force that is exerted normal to the rudder
as

Fn = p * R_GAMMA p = .5 * rho * s * vn

Here Fn is the force normal to the rudder, rho is the density of water, p is the pressure, s is speed the relative water velocity, and vn is the component of the relative velocity normal to the rudder. The relative water particle velocity, v, is given by

v = vr + vt vt = abs ( thrust / ( .5 * rho * R_ALPHA ) )

Here, vr is the relative water particle velocity in the absence of the thrust, and vt is the water particle velocity induced by the thrust.

The options **-R_ANGLE_LIMITS** and **-T_ANGLE_LIMITS** are used to define limits on the angles of the rudder and the
thruster, and they should be between -90 and 90. If no limits are given, then -90 and 90 will be used. The thrust fraction can be between -1 and 1, so that by default
the thruster can act in any direction. For a thruster which can act in a fixed direction only, one simply limits the angles with **-T_ANGLE_LIMITS**.