In MOSES, bodies are connected together or to ground with special elements called connectors or restraints. A restraint is an element which acts like a connector during a stress analysis, but does not act during a simulation. Basically, restraints are of limited use. Connectors, however, are quite important. In general, there are three categories of connector: flexible, rigid, and connector assemblies. Flexible and rigid connectors connect a body to either another body or to ground. Connector assemblies are sets of simple connectors which act in unison and may connect more than two bodies. Rigid and flexible connectors actually serve the same purpose - they create a force between two points. The real difference is how the force is computed. With flexible connectors, the force is computed based on a force-deflection rule and the geometry of the system. Rigid connectors yield constraints on the motion of the bodies. Excepting numerics, a very stiff flexible connection and a rigid connection should yield the same result. In reality, when the stiffness gets substantial, numerical precision is lost and the solutions are either difficult or impossible to obtain. In these cases, rigid connections can ameliorate the difficulties.

Here, we will call connectors "simple" if they are not assemblies. All simple connectors are defined with the following command in the **MEDIT** menu:

CONNECTOR, CNAME, -OPTIONS,~CLASS,*NODE(1),*NODE(2)

and the available options are:

-GO, i, X, Y, Z-ANCHOR, THET, DTA-EULER, E_DATA-NUM_APPLIED, NUMBER-TUG, ANG, DIST

and restraints are defined with

REST,~CLASS, *NODE(1), *NODE(2)

Here, ~CLASS is a previously defined class and *NODE(1), and optionally *NODE(2), are the nodes to which the connector will be attached. The details of the options
and the number of nodes required depends on the category of connector class. The **-GO**i options are used to define offsets at the "ith" vertex of the
element. Here, -GO1 defines offsets at the first end, etc. The values X, Y, and Z define the coordinates of the offset (inches or mm) and are defined in the part
system. If only -GO is specified, then all vertices will have the same offsets. In all cases, an offset is defined as the vector from the node to the vertex of the
member. To connect a body to ground, either the second node should be omitted, or it should be a *fixed* node. Fixed nodes are nodes which belong to a special part
**GROUND**.

The **-ANCHOR** option is applicable only to connectors which have a class type of **ROD** or **B_CAT**, and *must* be used to define the location of the ground
attachment for these classes. Here, the location is defined relative to *NODE(1) by a heading and a distance. THET is the heading (deg.) from the vessel X axis, (in
the current configuration, positive toward Y) to the anchor line, and DTA is the horizontal distance (feet or meters) from the attachment point to the anchor. The
vertical coordinate is not defined since it is given by the depth of the anchor on the class definition.

The **-EULER** option is applicable only to connectors which have a class type of **GSPR**, **LMU**, or **FOUNDATION** and it is used to change the element system of
the connector. By default, the element system is aligned with the body system of the body to which the first node belongs. E_DATA can be a set of Euler angles which
changes this orientation. There are three angles: a roll, a pitch, and a yaw. These are rotations about the element system. In particular, suppose that the element
system is in its default position. Now, give it a yaw (a rotation about the element Z axis), and then a pitch (a rotation about the new element Y axis), and finally a
roll (a rotation about the new element X axis) to put it into the desired position. As a quick way of defining these angles, MOSES will also accept values of **+X**, **-X**,
**+Y**, **-Y**, **+Z**, or **-Z**. These align the element X axis with the body axis specified. In other words, a value of -Y is the same thing as an value of 0, 0, -90.

The option **-NUM_APPLIED** allows one to have a multiplier, NUMBER, for a connector. The results for a connector are first computed based on the
specified properties, and then all results are multiplied by NUMBER. In particular, the damping, stiffness, mass, matrices and the force are multiplied. This option
works only with flexible connectors.

The final option is applicable only to **-TUG** connectors. Here, ANGLE is the global direction of the tug, positive when measured from the global X axis
towards the global Y axis. DIST is the distance (feet or meters) from the attachment point on a body, *PT, to the tug.

The string function:

&CONNECTOR(:CON_SELE, -OPTION)

returns the current data for each connector selected by the selector :CON_SELE. The first token is the name of the connector and the remainder depends upon the options. For a type of

**-TENSION**the remainder is by the magnitude of the force in the connector,**-HORIZONTAL**the remainder is the magnitude of the X and Y components of the force,**-FORCE**the remainder is the X, Y, and Z components of the force in the connector,**-RATIO**the remainder is the ratio of the acting force in the connector to the breaking strength,**-E_NAMES**the remainder is the names of the points at the "ends" of the connector,**-E_COORDINATES**the remainder is the coordinates of the ends of the connector in the body system of the body,**-ANCHOR**the remainder is the three coordinates of the anchor,**-LENGTH**the remainder is the current length of the first segment of the connector,**-HEADING**the remainder is the local body heading of the connector,**-G_HEADING**the remainder is global heading of the connector,**-FRICTION**the remainder is the friction in the connector,**-T_MULT**the remainder is the current trust multiplier for the connector,**-T_ANGLE**the remainder is the current body angle of the thrust of the connector,**-R_ANGLE**the remainder is the current angle of the rudder for the connector,**-HP_ANCHOR**the remainder is the horizontal pull on the anchor for the connector,**-VP_ANCHOR**the remainder is the vertical pull on the anchor for the connector, and**-L_ON_BOTTOM**the remainder is the line on bottom for the connector.

Since there are many different situations that MOSES can analyze there is a command that allows one to change many of the properties of connectors as different situations arise. This command is discussed in the section on altering connectors.