# Object connections

OrcaFlex model objects can most generally be fixed, anchored, free or connected to some other model object as a child. The model object to which a child is connected is termed the parent. By convention, we describe the child as being connected to the parent, but not the other way around. Each child object has one or more points at which it can be connected to a parent; each of these points is drawn as a small blob on the child object.

Connections to most parent objects are made relatively and with respect to the local axes of that object. Other parent objects permit children to be connected at a choice of frames. For instance, it is possible to connect a child to any node on a line. For turbines, the default connection connects the child to the central hub, but it is also possible to connect objects to specific blades (more precisely, to the node structural frame at the specified arc length along the blade).

Once a connection has been made, the child connection point will be treated as if it were rigidly attached to the chosen point on the parent object.

Fixed and anchored objects remain fixed relative to the global axes at all times; free objects can move independently of other objects in response to wave loads, connected lines etc.; and the motion of a child object is controlled by its parent (with the loads that act on the child influencing the motion of the parent). However, not all of the connection options are available for all model objects:

• Vessels, 3D buoys, 6D buoys and constraints each have a single connection that can be free, fixed, anchored or to a parent object.
• Shapes, turbines and turbine tower ends each have a single connection that can be fixed, anchored or to a parent, but not free.
• Links and winches can be connected at each end, and winches can also have further intermediate connections. These connections can be fixed, anchored or to a parent, but cannot be free.
• Lines can be connected at each end, and may also have connections at mid-line nodes. All of these can be fixed, anchored, or to a parent; end connections can also be free. Note that a child line can be connected to another parent line, but not to itself.

Some objects can only be children, some can only be parents and some can be both:

Parent objects can have multiple children connected to them. For instance, a 6D buoy may have several child lines.

Connections are normally made by specifying initial position and orientation data, which determine where to place the child object relative to whatever it has been connected to. The initial position data take the form of $x$, $y$ and $z$ connection coordinates; the form of the initial orientation data varies from object to object, but ultimately defines the child's orientation relative to some connection axes. The meaning of the connection coordinates and the definition of the connection axes depends upon the type of connection made:

• Free, fixed: The connection coordinates are the same as global coordinates and the connection axes are the global axes.
• Anchored: the child object can be thought of as connected to the seabed. The $x$ and $y$ connection coordinates are then given relative to the global axes, but the $z$ connection coordinate is the vertical distance above the seabed at that $x,y$ position. For example, a connection at $z{=}0$ means that the connection is exactly on the seabed, whereas $z{=}1$ means it is 1 unit above the seabed. By using anchored connections, one can therefore avoid the need to calculate the seabed $z$ level at the given $x,y$ position (not simple with non-horizontal seabeds). The connection axes are the global axes.
• Connected to another object: the connection coordinates are normally specified relative to the local axes of the parent. However, if the object is connected to a turbine blade or a line, then the $z$ connection coordinate represents the arc length of the connection along its length. This is relative to either end A or end B of the parent blade or line, according to z relative to.

If the parent object is a turbine blade, then the child object will be connected at the blade node that has the nearest arc length, with an offset relative to the axes of the corresponding blade node structural frame given by $(x,y,0)$.

If the parent object is a line, then the child object will be connected at the node that has the nearest reference arc length, with an offset relative to that node's axes given by $(x,y,0)$. $x$ and $y$ may only be non-zero if the parent line includes torsion. If the parent line uses line feeding or is partly inactive, then the connection arc length is interpreted as the arc length measured along the full line.

 Notes: If a child object is connected to a parent line, then it is recommended that the parent line includes torsion. A warning will be issued if this is not the case. The reason for including torsion is that the child object might apply moments to the parent line. To be realistic, the motion of the parent line must be able to respond to these moments, but in the without torsion model these moments will be neglected. Similar reasoning applies if the child object is a line that is connected to the parent with a non-zero connection stiffness. Contrast this with the case in which the connection is pinned (zero connection stiffness): in this case no moment is ever applied by the child line to the parent line, so the parent line does not need to include torsion. If you wish to connect two line ends together with non-zero connection stiffness, without including torsion on either of the lines, but still wish to account for the moment transfer, then a workaround is to connect them both as children to an intermediate 6D buoy. An object with rotational degrees of freedom, such as a 6D buoy, connected to a line that does not include torsion, has its angular velocity and acceleration calculated under the assumption that these quantities depend purely upon the bending properties of the parent line, with the unphysical twist contributions being ignored. Ignoring the twist is purely for reasons of performance. If the rotational properties of the child object are important, then you should model the line with torsion included.

## Chaining connections

It is possible to have chains of connections, in which one object is a child to a parent which in turn is child to another parent, and so on. Eventually, the chain will terminate at some ultimate parent with free, fixed or anchored degrees of freedom, from which the position of all the children back down the chain are determined. Whilst the order in which the children are connected does not affect the solution to the equations of motion, chaining the connections to mimic those in the underlying physical system can nevertheless be useful as a way of determining connection forces between the connected objects.

OrcaFlex will not allow chains of connections to contain cycles, in which one object is an indirect child of itself; an error is reported if this is attempted. However, by changing the order of connections, it is always possible to construct an equivalent system that does not contain any such cycles.