week-11 Joint creation and Demonstration
Objective
To demonstrate revolute, cylindrical, spherical, and translational joints between two rigid bodies also with two deformable bodies using *CONSTRAINED_JOINT keyword.
Procedure
The revolute joint

- The revolute joint in ls-Dyna is also called a hinge joint and has only one degree of freedom (Pure rotational motion along a common axis).
- The above figure shows a revolute joint with two nodal pairs formed by nodes 1, 2, and 3, 4. The nodal points 1 and 2 should coincide in the initial configuration. similarly, nodes 3 and 4 should satisfy this condition. Nodes 1 and 3 should belong to one body(A) and nodes 2 and 4 should belong to another body(B).
- For rigid bodies use *CONSTRAINED_EXTRA_NODES to include the joint nodes (nodes1,2,3,4 shown above) to the respective rigid bodies. For deformable bodies, the joint nodes should be a part of *CONSTRAINED_NODAL _RIGID_BODY which has some shared nodes with the deformable body.
Creating geometry for revolute joint
- Two separate shell elements are created using the Element and mesh>Shape Mesher option available in LS-PrePost. Select the entity as 4N and assign the node coordinates for the shell element with the required mesh density.
- Some free spaces are kept in between the two pairs for a better presentation of a revolute joint.

1. Revolute joint between two rigid bodies using *CONSTRAINED_EXTRA_NODES.
- Define a section property as a shell for created elements by using the *SECTION_SHELL keyword. Also, define a rigid material using *MAT_RIGID keyboard. Use a reasonable value while defining the material properties. Define the respective MATID and SECID for the two parts.
- Create four extra nodes manually which are further needed to be associated with two parts for making a revolute joint. Create nodes by Element Tool>Node Editing option to give distinct node ids for all four nodes. Here four nodes are numbered as 73,74,75,46.
- The nodes 73 and 74 are coincident and nodes 75 and 76 are also coincident.

- Now create a new node-set, where nodes 73 and 75 belong to one node-set, and nodes 74 and 76 belong to another node-set. This can be done using Create entity>Set Data>*SET_NODE>Create option.


- These newly created nodes are in the space and do not belong to any of the parts now. So, For associating these nodes with part 1 and part 2, *CONSTRAINED_EXTRA_NODES_SET is used.
- Here node 73 and 75 belong to one part and 74 and 76 belong to another part.
- Now, the revolute joint is defined by using the *CONSTRAINED_JOINT keyword. Four nodes should be defined to create a revolute joint. N1 and N3 belong to body 1 and N2 and N4 belong to body 2.

- Now, to make this revolute joint work, few boundary conditions are essential. So, a displacement along the Z direction is applied to one of the nodes in part 2. This is defined by the *BOUNDARY_PRISCRIBED_MOTION keyword. The z-translational DOF is kept free by assigning DOF=3 in the keyword.
- Single point constraint (SPC) is also used to fix part 1 at its position. Several nodes on the edges of part 1 are selected and assigned *BOUNDARY_SPC. The figure below shows (left part) fixed nodes in part 1 which is marked in green colour and a node is selected to give displacement in part 2 which is denoted in red colour.

- A displacement curve was also defined for the prescribed motion keyboard which is defined by LCID.

- *CONTROL_TIMESTEP card is used and a load curve which is shown below is assigned through the LCTM option. The timestep calculated by the solver for these rigid bodies and this mesh size is large enough and hence for more stability, we use smaller time steps for explicit analysis.

- Other keywords cards required for post-processing are then assigned and the model is been run in the Ls-program manager.
Result
- The revolute joint between two deformable bodies using CNRB's is shown below.

2.The revolute joint between two deformable bodies using CNRB's
- Here also two separate shell elements are created as that of the above model.
- Four noded revolute should be created with the help of *CONSTRAINED_NODAL_RIGID_BODY(CNRB) when needed to model a revolute joint between two deformable bodies.
- At first, four nodes are created which would be further used to create CNRB's. Create nodes by Element>Tools>Node Editing and give distinct node IDs for all four nodes.
- To create a CNRB, go to Create Entity>Constrained>Nodal Rigid Body(CNRB)>Create. Toggle off the CrePNode option which will disable the creation of PNODE at the mass center of the selected nodes.

- For deformable bodies, the material is assigned using the *MAT_ELASTIC keyword. Here also the material card and section card are finally assigned to the part id.
- Revolt joint is defined by using the *CONSTRAINED_JOINT keyword. Four nodes should be defined to create a revolute joint. Here N1 and N3 belong to part A and N2 and N4 belong to part B.

- Here *CONSTRAINED_EXTRA_NODES should not be used.
- The same boundary conditions, displacement, and time step curve are used in this analysis which is similar to the previous section.
Result
- The revolute joint between two deformable bodies using *CONSTRAINED_EXTRA_NODES is shown below.

The cylindrical joint

- This joint is derived from the rotational joint by relaxing the constraints along the centerline. This joint admits relative rotation and translation along the centerline.
- The above figure shows a cylindrical joint with two nodal pairs. Here the node 1 and 2 should coincide with each other and the node 3 and 4 should coincide each other. It should be assigned in such a way that node 1 and 3 belong to the inner cylinder and the node 2 and 4 belong to the outer cylinder.
Creating geometry for cylindrical joint
- Two cylindrical shell elements (inner and outer) are created using the Element and mesh>Shape Mesher>Entity>Cylindrical shell option available in LS-PrePost.

1. Cylindrical joint between two rigid bodies using *CONSTRAINED_EXTRA_NODES.
- Define a section property as a shell for created elements by using the *SECTION_SHELL keyword. Also, define a rigid material using *MAT_RIGID keyboard. Use a reasonable value while defining the material properties. Define the respective MATID and SECID for the two parts.
- Create four extra nodes manually which are further needed to be associated with two parts for making a cylindrical joint. Create nodes by Element Tool>Node Editing option to give distinct node ids for all four nodes. From there use the 'by two' option in order to create the node at the middle.
- Now create a new node-set in which node 1 and 3 belong to the inner cylinder and the node 2 and 4 belong to the outer cylinder as discussed above. This can be done using Create entity>Set Data>*SET_NODE>Create option.
- These newly created nodes are in the space and do not belong to any of the parts now. So, For associating these nodes with part 1 and part 2, *CONSTRAINED_EXTRA_NODES_SET is used.
- Now, the cylindrical joint is defined by using the *CONSTRAINED_JOINT keyword. Four nodes should be defined to create a cylindrical joint. N1 and N3 belong to body 1 and N2 and N4 belong to body 2.

- Now an *INITIAL_VELOCITY_RIGID_BODY card is created to assign the velocity by selecting the required PID. Since the cylindrical joint possesses both translational and rotational motion about a particular axis, we may assign it accordingly.

- *CONTROL_TIMESTEP card is used and a load curve is assigned similar to that of the models done above.
- Other required post-processing cards are assigned and then it's been run in the Ls-program manager.
Result
- The cylindrical joint between two rigid bodies using *CONSTRAINED_EXTRA_NODES is shown below.

2.The cylindrical joint between two deformable bodies using CNRB's
- The cylindrical joint between two deformable joints are created with the help of *CONSTRAINED_NODAL_RIGID_BODY(CNRB).
- At first, four nodes are created which would be further used to create CNRB's. Create nodes by Element>Tools>Node Editing and give distinct node IDs for all four nodes.
- To create a CNRB, go to Create Entity>Constrained>Nodal Rigid Body(CNRB)>Create. Toggle off the CrePNode option which will disable the creation of PNODE at the mass center of the selected nodes.
- First, take any part (inner or outer), select the middle node, and then other nodes as shown below.

- Here the yellow web shows the CNRB's created for one portion of the outer cylinder. The center node is selected first followed by the other nodes at the periphery. This process is repeated with the other sides as well. Also, use this method to create CNRB's for the inner cylinder as well.

- For deformable bodies, the material is assigned using the *MAT_ELASTIC keyword. Here also the material card and section card are finally assigned to the part id.
- The cylindrical joint is defined by using the *CONSTRAINED_JOINT keyword. Four nodes should be defined to create a cylindrical joint. Here N1 and N3 belong to part A and N2 and N4 belong to part B.

- Here also *CONSTRAINED_EXTRA_NODES should not be used.
- Now an *INITIAL_VELOCITY card is created to assign the velocity. Before that, a node-set has to be created containing all the nodes from the inner cylinder. Since the cylindrical joint possesses both translational and rotational motion about a particular axis, we may assign it accordingly.

- Finally, a termination time is then assigned and run in the model in the Ls-Dyna program manager.
Result
- The cylindrical joint between two deformable bodies using CNRB's is shown below.

The spherical joint

- The relative motion of the rigid bodies is constrained so that nodes that are initially coincident remain coincident. In the above figure, the socket’s node is not interior to the socket—LS-DYNA does not require that a rigid body’s nodes be interior to the body.
- This joint admits rotational motion only.
- Here the node 1 belongs to part A (outer) and node 3 belongs to part B (Inner).
Creating geometry for cylindrical joint
- Two cylindrical shell elements (inner and outer) are created using the Element and mesh>Shape Mesher>Entity>Sphere shell option available in LS-PrePost.
- For representing the outer part few elements need to be deleted and it can be done using Element Tool>Node editing>Delete.

1. Spherical joint between two rigid bodies using *CONSTRAINED_EXTRA_NODES.
- Define a section property as a shell for created elements by using the *SECTION_SHELL keyword. Also, define a rigid material using *MAT_RIGID keyboard. Use a reasonable value while defining the material properties. Define the respective MATID and SECID for the two parts.
- Create two extra nodes manually which are further needed to be associated with two parts for making a spherical joint. Create nodes by Element Tool>Node Editing option to give distinct node ids for all four nodes. From there use the 'by two' option in order to create the node at the center.
- These newly created nodes are in the space and do not belong to any of the parts now. So, For associating these nodes with part 1 and part 2, *CONSTRAINED_EXTRA_NODES_NODE is used.
- Now, the spherical joint is defined by using the *CONSTRAINED_JOINT keyword. The two nodes should be defined to create a spherical joint. N1 belongs to body 1 and N2 belongs to body 2.

- Now an *INITIAL_VELOCITY_RIGID_BODY card is created to assign the velocity by selecting the required PID.
- *CONTROL_TIMESTEP card is used and a load curve is assigned similar to that of the models done above.
Result

2.The spherical joint between two deformable bodies using CNRB's
- The spherical joint between two deformable joints is created with the help of *CONSTRAINED_NODAL_RIGID_BODY(CNRB).
- At first, four nodes are created which would be further used to create CNRB's. Create nodes by Element>Tools>Node Editing and give distinct node IDs for all four nodes.
- To create a CNRB, go to Create Entity>Constrained>Nodal Rigid Body(CNRB)>Create. Toggle off the CrePNode option which will disable the creation of PNODE at the mass center of the selected nodes.
- First, take any part (inner or outer), select the middle node, and then other nodes as did with the cylindrical joint.

- For deformable bodies, the material is assigned using the *MAT_ELASTIC keyword. Here also the material card and section card are finally assigned to the part id.
- The spherical joint is defined by using the *CONSTRAINED_JOINT keyword. The two nodes should be defined to create a spherical joint. Here N1 belongs to part A and N2 belongs to part B.

- Here also *CONSTRAINED_EXTRA_NODES should not be used.
- Now an *INITIAL_VELOCITY card is created to assign the velocity. Before that, a node-set has to be created containing all the nodes from the inner cylinder.

- *CONTROL_TIMESTEP card is used and a load curve is assigned similar to that of the models done above.
- Other required post-processing cards are assigned and then it's been run in the Ls-program manager.
RESULT
- The spherical joint between two rigid bodies using *CONSTRAINED_EXTRA_NODES is shown below.

The translational joint

- The translational joint has only one translational degree of freedom and zero rotational degrees of freedom.
- This is a cylindrical joint with the third pair of off-centerline nodes which restrict rotation. Aside from translation along the centerline, the two rigid bodies are stuck together.
- Here the nodes (1,2) have coincided with each other. Similarly, the nodes (3,4) also (5,5) are coincided with each other as shown in the figure.
Creating geometry for translational joint
- A 4N Shell is created first using the Element and mesh>Shape Mesher>Entity>4N Shell option. After that, the edge of the face is drawn along an axis from Element generation>Shell>Edge Drag. After dragging the elements, opposite end faces are deleted.

1. Translational joint between two rigid bodies using *CONSTRAINED_EXTRA_NODES.
- Define a section property as a shell for created elements by using the *SECTION_SHELL keyword. Also, define a rigid material using *MAT_RIGID keyboard. Use a reasonable value while defining the material properties. Define the respective MATID and SECID for the two parts.
- Create six extra nodes manually which are further needed to be associated with two parts for making a translational joint. Create nodes by Element Tool>Node Editing option to give distinct node ids for all four nodes. From there use the 'by two' option in order to create the node at the center. Here three pair of nodes is defined. The third pair of nodes is defined in between the other two pairs and slightly displaced from the axis of the other two pairs.
- These newly created nodes are in the space and do not belong to any of the parts now. So, For associating these nodes with part 1 and part 2, *CONSTRAINED_EXTRA_NODES_SET is used.
- Now, the translational joint is defined by using the *CONSTRAINED_JOINT keyword. Six nodes should be defined to create a translational joint. (N1, N3, N5) belong to body 1 and (N2, N4, N6) belong to body 2.

- A displacement curve was also defined for the prescribed motion keyboard which is defined by LCID.

- After that, the curve is assigned to *PRISCRIBED_MOTION_RIGID card.

- *CONTROL_TIMESTEP card is used and a load curve is assigned similar to that of the models done above.
- Other required post-processing cards are assigned and then it's been run in the Ls-program manager.
RESULT
- The translational joint between two rigid bodies using *CONSTRAINED_EXTRA_NODES is shown below.

2.The translational joint between two deformable bodies using CNRB's
- Here the translational joints between two deformable bodies are created with the help of *CONSTRAINED_NODAL_RIGID_BODY(CNRB).
- At first, six nodes are created which would be further used to create CNRB's. Create nodes by Element>Tools>Node Editing and give distinct node IDs for all four nodes.
- To create a CNRB, go to Create Entity>Constrained>Nodal Rigid Body(CNRB)>Create. Toggle off the CrePNode option which will disable the creation of PNODE at the mass center of the selected nodes.
- First, take any part (inner or outer), select the middle node, and then other nodes as did with the other bodies (cylindrical) did above.

- For deformable bodies, the material is assigned using the *MAT_ELASTIC keyword. Here also the material card and section card are finally assigned to the part id.
- Now, the translational joint is defined by using the *CONSTRAINED_JOINT keyword. Six nodes should be defined to create a translational joint. (N1, N3, N5) belong to body 1 and (N2, N4, N6) belong to body 2.

- Here also *CONSTRAINED_EXTRA_NODES should not be used.
- The velocity is defined using the *INITAL_VELLOCITY card. Before that, a node-set should be created which includes all the nides of the moving part.
RESULT
- The translational joint between two deformable bodies using CNRB's is shown below.

Conclusion
- The joint demonstration for revolute, cylindrical, spherical, and translational joints between two rigid bodies also with two deformable bodies using *CONSTRAINED_JOINT keyword is done successfully. Here we have used *CONSTRAINED_EXTRA_NODES and CNRB's to create the joint accordingly for two cases. Although the definition of joints for the two cases remains the same, the ways of implementation differ.
.............................................................................................................................................................................................................
File: https://drive.google.com/drive/folders/1W70rrazb0_31WAiWojn-uZKTuO3L8-bZ?usp=sharing