Equal DOF โ
An Equal DOF copies chosen degrees of freedom from one node to another. The two nodes read the same in those and stay independent in the rest.
It copies rather than connects: the offset between the nodes plays no part, so a rotation of the first does not move the second. That is what sets it apart from a Rigid Link, which carries the offset.
๐ง Grasshopper component โ
Equal DOFAlpaca4d โธ 03_Constraint

Inputs
RetainedPointThe node that leads, in m.
It keeps its own degrees of freedom.
ConstrainedPointThe node that follows, in m.
The degrees of freedom listed in Dof stop being its own.
DofWhich degrees of freedom to tie, always in global axes:
1, 2, 3 translation along X, Y, Z; 4, 5, 6 rotation about them.Outputs
ConstraintThe tie, for the Constraints input of Assemble.
๐ When to use it โ
Use it when
- A shear key or a slider: tie the directions that transfer force and leave the rest free.
- Two faces should be tied for symmetry.
Do not use it when
- The two nodes should move as one rigid body โ use a Rigid Link with
beam. Tying all six degrees of freedom reads like a rigid connection and is not one: once the nodes are apart, a rotation of the retained node does not move the constrained one. - The tie runs along a skewed axis โ use a Spring Link, whose directions are local. An Equal DOF's are always global, because a node has no axes of its own.
- You want to join a solid to a beam or a shell. Assemble already ties a solid's node to a beam or shell node in the same place, in translation, on its own.
๐ก Notes โ
- Both ends cannot be one node. Two points closer together than the Assemble Tolerance are one node, and Assemble stops with an error saying so. OpenSees would accept the tie and solve it, and give a wrong answer.
- An end that no element reaches becomes a node of its own. Assemble makes one there, and nothing holds it in the degrees of freedom left untied. Tie all six, or put the point on an element.
๐ Relation to OpenSees
tcl
equalDOF $retainedNodeTag $constrainedNodeTag $dof1 $dof2 ...Node tags are found from the point coordinates within the Assemble tolerance.
