Since it can be quite confusing, I am creating this post to summarize the differences between coupling constraint types in CalculiX and to highlight their key limitations. Feel free to correct/add anything to this.
ABAQUS
Let’s have a look at Abaqus first. It offers surface-based coupling constraints of kinematic and distributing types (as a side note, recently also uniform coupling constraint was added to handle non-mechanical DOFs but let’s skip it since there’s no equivalent in CalculiX). They are defined with *COUPLING
followed by *KINEMATIC
or *DISTRIBUTING
keywords. This is the preferred way to define coupling constraints and the one available in GUI (Abaqus/CAE). Abaqus also has distributing coupling elements (DCOUP3D) whose properties are specified with *DISTRIBUTING COUPLING
keyword. There is *KINEMATIC COUPLING
MPC constraint as well but again - the aforementioned surface-based constraints (with *COUPLING
) superseded the old versions. Regardless of the type of definition and coupling, there are no limitations when it comes to being able to handle moments/rotations or BCs in general.
KINEMATIC VS DISTRIBUTING
Let’s also clarify the difference between kinematic and distributing coupling constraint before proceeding to CalculiX’s implementation. Abaqus documentation does it really well:
- Kinematic coupling acts on mechanical degrees of freedom and imposes rigidity on the system of nodes involved.
- Distributing coupling acts on mechanical degrees of freedom and does not impose rigidity; instead, the reference node displacement and rotation correspond to a weighted-average motion among surface nodes involved in the coupling (taking into consideration any offset of the reference node from the center of the surface nodes).
So kinematic coupling (equivalent to Nastran’s RBE2) eliminates the selected DOFs and thus adds rigidity (infinite stiffness) to the surface while distributing coupling (equivalent to Nastran’s RBE3) doesn’t overstiffen the model, allows for the deformation among the surface’s node and thus is more flexible.
CALCULIX
Now it’s time to discuss the CalculiX’s implementation of those constraints.
*COUPLING
followed by*KINEMATIC
:
- DOFs 1 to 3 can be specified as the ones taking part in the rigid body motion
- DOFs 1 to 6 in the reference node are available for use
- both forces/moments and BCs (displacements/rotations) can be applied to the reference node
*COUPLING
followed by*DISTRIBUTING
:
- DOFs 1 to 6 can be specified as the ones to which the constraint applies - forces (DOFs 1 to 3) are always distributed so one can only choose if moments should be distributed
- DOFs 1 to 6 in the reference node are available for use within *CLOAD
- only forces and moments can be applied to the reference node, applying BCs has no effect and the displacements at the reference node remain zero during the analysis
*DISTRIBUTING COUPLING
:
- one DCOUP3D element has to be defined, its only node is the reference node of the coupling constraint
- underneath the keyword card one should enter the nodes/node sets on which the load is to be distributed, together with a weight
- DOFs 1 to 3 in the reference node are available for use
- forces (*CLOAD) and displacements (*BOUNDARY) can be applied to the reference node
To sum up, kinematic coupling has no limitations when it comes to the availability of rotational DOFs and BCs in general but it makes the surface rigid (like rigid body constraint). Surface-based distributing coupling doesn’t allow BCs while element-based distributing coupling doesn’t handle rotations/moments.