Here too, the problem is that the SPC's are applied by the user to the nodes belonging the the original 1-D and 2-D elements. The expanded nodes, however, have different numbers and a link must be established with the original nodes. This is again performed by multiple point constraints. They are generated in subroutine ``gen3dboun.f''.
For knots the translational node of the rigid body formulation is the original node number. Consequently, translational SPC's are automatically taken into account. If a rotational SPC is applied, it must be transferred to the rotational node of the knot, e.g. degree of freedom 4 of the original node (rotation about the x-axis) is transformed into degree of freedom 1 of the rotational node. Recall that the definition of a rotational SPC in a node triggers the creation of a knot in that node.
If no knot is generated in the node to which the SPC is applied, the way this node is connected to the newly generated nodes in the expanded elements depends on the type of element. For 1-D elements MPC's are generated according to Equation 160 and Figure 72. For 2-D shell elements the MPC's correspond to Equation 161 and Figure 73. Finally, for 2-D plane and axisymmetric elements the SPC's are applied to the zero-z nodes. This is equivalent to the generation of MPC's as done for the connection with 3-D elements in the previous section.
For the temperature degrees of freedom in heat transfer calculations the MPC's generated in beam and shell nodes in which no knot is defined are not sufficient. Indeed, the MPC only specifies the mean of corner nodes (for beams) or the mean of the upper and lower node (for shells). In practice, this corresponds to any bilinear (for beams) or linear (for shells) function across the cross section. In CalculiX, it is not possible to specify this gradient, so a constant function is defined. This is done by assigning the temperature SPC to nodes 2, 3 and 4 (for beams, Equation 160) and to node 2 (for shells, Equation 161).