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:
-GOi, 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 -GOi 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
So that many different situations can be analyzed, MOSES provides the ability to partially alter the definition of the connector system. This is performed with one command, &CONNECTOR, which has several options, most being applicable to a particular class of connector. The form of this command is:
&CONNECTOR, :CONN_SEL(1,1), ..., :CONN_SEL(n,1), -OPTION(1), \
:CONN_SEL(1,2), ..., :CONN_SEL(n,2), -OPTION(2), \
:CONN_SEL(1,m), ..., :CONN_SEL(n,m), -OPTION(m)
where the options applicable to all connectors are:
-INACTIVE
-ACTIVE
which makes a set of connectors inactive or active. Each option operates on the list of connectors immediately preceding it. The first option defines the connectors whose names are selected by the selectors :CONN_SEL(i) to be inactive. Inactive connectors can be reactivated by simply issuing the second option. For connectors with types of ROD, SL_ELEM, B_CAT, and H_CAT more things can be accomplished with &CONNECTOR.
To alter the length of the first segment of a line, use the command:
&CONNECTOR}, :LNAME(1), .... :LNAME(n), -OPTIONS
with the options:
-LENGTH, LEN
-L_DELTA, DLEN
-L_HORIZONTAL, FORCE
-L_TENSION, FORCE
Here, :LNAME(i) are the selectors for lines whose length will be altered, and the method of specifying the new length is controlled by the options. If one uses -LENGTH, he is simply defining each line which matches the selectors to have a length of the first segment of LEN (feet or meters). Using -L_DELTA is similar to the above except that DLEN (feet or meters) is added to the existing length. Alternately, one could specify either -L_HORIZONTAL or -L_TENSION. With these options, a new length of the first segment will again be defined, but here, the new length is calculated so that either the tension or horizontal force has the value FORCE in the initial configuration.
To alter the location of the anchor, use the command:
&CONNECTOR}, :LNAME(1), .... :LNAME(n), -OPTIONS
with the options:
-ANCHOR, XA, YA, ZA
-A_HORIZONTAL, FORCE
-A_TENSION, FORCE
Here, :LNAME(i) are the selectors for lines whose anchor location will be altered, and the method of specifying the new location of the anchor is controlled by the options. If one uses -ANCHOR, he is simply defining the global x, y and z coordinates (feet or meters) of the anchor of each line which matches the selectors. The z coordinate specified here is honored for all flexible connectors except a type of H_CAT, where it is ignored. Alternately, one could specify either -A_TENSION or -A_HORIZONTAL which instructs MOSES to compute the location so that either the tension or horizontal force has the value FORCE in the initial configuration.
The force of H_CAT connectors is computed with the aid of a "lookup table". The force properties of the line are computed as a function of distance from the anchor and stored in a table when the connector is defined or its properties changed. Now, this table produced quite accurate results for changes in horizontal directions, but the changes due to vertical motion are approximated. If one is interested in moving a body vertically, he may need to recompute the table as the body moves. The command:
&CONNECTOR, -G_TABLE
will force MOSES to recompute the table at the current position.
For ROD connectors, three additional things can be altered with the &CONNECTOR command:
&CONNECTOR}, -OPTIONS
where the available options are:
-A_STIFF, STADGX, STADGY, STADGZ
-TOP_MOMENT, YES/NO
-ST_ADDITION, INONUM, STADGX, STADGY, STADGZ
Normally, the top of the rod is "pin" connected to the body, and a default stiffness is assigned for the connection at the first node (the "anchor"). The default depends on the type of rod: if it is a "straight rod" a large stiffness is used, while for a "mooring line" type of rod a much smaller stiffness is defined. The option -A_STIFF allows one to redefine the anchor stiffness. Here, STADGX, STADGY, and STADGZ are the global X, Y, and Z values of the stiffness in bforce/blength. If one uses -A_STIFF 0 0 0, then the rod will have no restraint at the anchor. Similarly, the -TOP_MOMENT option changes the connection behavior at the top. If it is used with a YES/NO of YES, then the top connection will apply a moment; otherwise, it will apply only forces.
The option -ST_ADDITION allows one to add a diagonal stiffness matrix at intermediate points along the rod. Here, INONUM is the intermediate node number where the stiffness will be added. These nodes are numbered with the bottom being 1, so that to add a stiffness one node above the bottom, it should be added with INONUM equal 2. STADGX, STADGY, and STADGZ are the same as for -A_STIFF.
One may alter the settings of a propulsion connector with:
&CONNECTOR}, :PNAME(1), .... :PNAME(n), -OPTIONS
with the option:
-SET_PROPULSION, T_MULT, T_ANGLE, R_ANGLE
Here, T_MULT is the fraction of the maximum thrust ( -1 <= T_MULT <= 1) which will be applied, T_ANGLE is the angle that the thrust will be applied, and R_ANGLE is the angle of the rudder. Both of these angles should be -90 <= ANGLE <= 90.
One may alter a tug connector with:
&CONNECTOR}, :TNAME(1), .... :TNAME(n), -OPTIONS
with the options:
-T_FORCE, FORCE
-T_LOCATION, ANG, DIST
-T_DYNAMIC, PERCENT_FORCE, PHASE
The values for FORCE, ANG, DIST, PERCENT_FORCE and PHASE have the same meaning as on the commands defining the connector.
To define the special states of a foundation element for checking, one uses
&CONNECTOR}, :TNAME(1), .... -SET_STATE, TYPE, MULT
Here, TYPE must be either PRELOAD or NOMINAL, and if TYPE is NOMINAL, then MULT is a multiplier which will be use in computing the unity ratios otherwise it should be omitted. See the discussion in the section on Process Post-Processing of Connectors for details on the unity ratio computation.