Constraint objects provide an enhanced, versatile means of connecting objects. They can

A constraint comprises two coordinate systems, or frames of reference: the in-frame and the out-frame. Both frames may be rigidly connected to a parent object and will translate and rotate with this parent. Children of the constraint are rigidly connected to the out-frame and so translate and rotate with the out-frame. The out-frame can translate and rotate, independently in all six DOFs, relative to the in-frame, and it is this capacity for motion between the in-frame and the out-frame, in particular, that makes constraints so versatile and useful.

There are three distinct types of constraint, calculated DOFs, imposed motion and free, reflecting the different ways of controlling the relative movement between the out-frame and the in-frame. Two solution methods are available to enforce the resulting constraint equations: direct and indirect. The indirect solution method permits the in-frame and the out-frame to form independent connections to other objects. We call this a double-sided connection.

Calculated DOFs constraint type

Each individual DOF of the three translational and three rotational can be chosen to be either calculated or fixed. It is even possible to define the motion of the the individual DOFs in terms of bespoke user-specifed coordinates. Some examples:

This list is not exhaustive, and any combination of free and fixed DOFs is permitted.

You may define stiffness and damping, each of which may be linear or nonlinear, for both translational and rotational relative displacement of the out-frame. Applied loads may also be specified on the out-frame, as constant, time-varying, or by an external function.

Imposed motion constraint type

Here, the out-frame's displacement relative to the in-frame is not calculated, but instead is completely specified by a time history or external function.

Free constraints

Free constraints are conceptually very different in nature from the other types of constraint. They are created by setting the in-frame connection data to be free. A free constraint always has exactly six free DOFs, corresponding to the translational and rotational state of the in-frame (this is the only type of constraint in which the in-frame's DOFs are completely independent); the out-frame has no free DOFs of its own and instead remains coincident with the in-frame at all times. Free constraints are designed to be used as convenient frames of reference, where the physical properties are provided by various other model objects connected to the constraint. Historically, negligible 6D buoys were used for this purpose, but it is now conceptually cleaner to use a free constraint. An example use of a free constraint would be as a vertex in a truss structure composed of structural members (modelled as rigid lines). Several line ends would be connected to the constraint, which would embody the free DOFs at the meeting point.

Notes: Whilst the name free constraint is clearly an oxymoron, it naturally conforms to the nomenclature found elsewhere in OrcaFlex. This is a consequence of constraints having evolved organically over an extended time period.
A lot of the data on the constraint data form is not relevant for free constraints. Applied loads are a notable exception.

Compound constraints

Whilst an individual constraint object does not normally have both calculated and imposed DOFs, it is possible to connect one constraint to another. Thus you could connect a calculated constraint to be a child of an imposed motion constraint, or vice versa. Constraints with different stiffness/damping values can be connected together to model non-isotropic behaviour. This ability to make chains of connections affords great modelling flexibility.