Challenge

Joint creation and Demonstration

Objective:

  • To create the different kinds of joints like the spherical, revolute, cylindrical, and translational joints.
  • To use *CONSTRAINED_EXTRA_NODES and *CONSTRAINED_NODAL_RIGID_BODY to create joints between rigid and deformable bodies respectively.
  • To create the nodes at the required location, use *CONSTRAINED_EXTRA_NODES to include those nodes in the respective rigid bodies.
  • To create *CONSTRAINED_NODAL_RIGID_BODY which has some shared nodes with the deformable body.
  • Show all the simulations of the joints.

Procedure:

Theory:

Spherical joint:

The relative motion of the rigid bodies is constrained so that nodes that are initially coincident remain coincident. In the below 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.

Revolute Joint:

Nodes 1 and 2 are coincident; nodes 3 and 4 are coincident. Nodes 1 and 3 belong to rigid body A; nodes 2 and 4 belong to rigid body B. The relative motion of the two rigid bodies is restricted to rotations about the axis formed by the two pairs of coincident nodes. This axis is labeled the “centerline.

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.

Translational joint:

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.

Joints between Rigid bodies:

Revolute joint:

First, we need to create two rectangular shell mesh for joining them. Go to LS-Prepost >mesh>shaper>4N shell. Here we need to create two parts with some distance.

Now define a material card for the parts. Go to model&keywords>all>MAT>MAT_RIGID. here define density, young's modulus, Poisson's ratio. Now apply and done.

Define section id for the part. Go to model&keywords>all>Section>shell. Here define parameters. Now accept and done.

Define section and MAT id for the part using model&keywords>all>part. Now assign the sec and mat id.

Now create four nodes for the two parts. Node 1&2 is assigned for part 1(101,102) and node 3&4 for part 2(103,104). it will be created in the same coordinates. For creating nodes, go to element tools>node edit>create.

Now Go to model&keywords>create entity>set_node. here we need to create a node-set for constrained nodes. 101 and 102 nodes as one node set for part 1 and 103, 104 as the second node set for part 2.

Now create constrained_extra_nodes_set card using model&keywords>all>Constrained. Now assign the first node set for part 1 and the second node set for part 2.

Now create constrained_join_revolute card using model&keywords>all>Constrained. Here we need to assign nodes for the respective parts. N1, N3 for part 1 and N2, N4 for part 2. assign the values as per the parameters.

Now we need to give displacement value along z-axis. it is applied to one node in part-2. This is defined by boundary_prescribed_motion_node card using model&keywords>all>boundary.

For displacement, we need to define the curve using the model&keywords>all>define>curve tool.

Now we need to fix part 1 for that define boundary_spc card using model&keywords>all>boundary. here assign the nodes in the edges of part-1. Now part 1 is fixed.

Now define the control card for the simulation. define control termination card in model&keywords>all>control. Now put end time as 5ms.

Define binary d3plot for output animation file. go to model&keywords>all>database>binary d3plot. Here assign DT value as 0.1.

Spherical joint:

First, we need to create two spheres shell mesh with different radius. Go to LS-Prepost >mesh>shaper>sphere shell. Here we need to create two spheres with different radius. Now delete half of the elements using element tool>element edit. Now we have one hemisphere, a sphere.

Now define a material card for the parts. Go to model&keywords>all>MAT>MAT_RIGID. here define density, young's modulus, Poisson's ratio. Now apply and done.

Define section id for the part. Go to model&keywords>all>Section>shell. Here define parameters. Now accept and done.

Define section and MAT id for the part using model&keywords>all>part. Now assign the sec and mat id.

Now create two nodes for the two parts. Node 1 is assigned for part 1(2001) and node 2 for part 2(2002). it will be created in the same coordinates. For creating nodes, go to element tools>node edit>create.

Now create constrained_extra_nodes_node card using model&keywords>all>Constrained. Now assign the first node (2001) for part 1 and the second node (2002) for part 2.

Now create constrained_join_spherical card using model&keywords>all>Constrained. Here we need to assign nodes for the respective parts. N1 for part 1and N2 for part 2. assign the values as per the parameters.

Now define initial_velocity_rigid_body card using model&keywords>all>initial. Define part id and X,Y,Z rotational values as 20mm/ms.

Now define the control card for the simulation. define control termination card in model&keywords>all>control. Now put end time as 50ms.

Define binary d3plot for output animation file. go to model&keywords>all>database>binary d3plot. Here assign DT value as 0.1.

Cylindrical joint:

First, we need to create two cylinders of shell mesh with different radius and lengths. Go to LS-Prepost >mesh>shaper>cylinder shell. Here we need to create two spheres with different radius and lengths. Now delete the elements of the side face using element tool>element edit. Now we have two cylinders.

Now define a material card for the parts. Go to model&keywords>all>MAT>MAT_RIGID. here define density, young's modulus, Poisson's ratio. Now apply and done.

Define section id for the part. Go to model&keywords>all>Section>shell. Here define parameters. Now accept and done.

Define section and MAT id for the part using model&keywords>all>part. Now assign the sec and mat id.

Now create four nodes for the two parts. Node 1&2 is assigned for part 1(2001,2002) and node 2&4 for part 2(2003,2004). it should be in coincidence and collinear. For creating nodes, go to element tools>node edit>create.

Now Go to model&keywords>create entity>set_node. here we need to create a node-set for constrained nodes. 2001 and 2002 nodes as one node set for part 1 and 2003, 2004 as the second node set for part 2.

Now create constrained_extra_nodes_set card using model&keywords>all>Constrained. Now assign the first node-set(2001&2002) for part 1 and the second node-set (2003&2004) for part 2.

Now create constrained_join_cylinderical card using model&keywords>all>Constrained. Here we need to assign nodes for the respective parts. N1&N3 for part 1and N2&N4 for part 2. assign the values as per the parameters.

Now define initial_velocity_rigid_body card using model&keywords>all>initial. Define part id and X axis translational as 10mm/ms. the translational only at x-axis.

Now define the control card for the simulation. define control termination card in model&keywords>all>control. Now put end time as 5ms.

Define binary d3plot for output animation file. go to model&keywords>all>database>binary d3plot. Here assign DT value as 0.1.

Translational joint:

First, we need to create two boxes of shell mesh with different lengths and heights. Go to LS-Prepost >mesh>shaper>cylinder shell. Here we need to create two spheres with different lengths and heights. Now delete the elements of the side face using element tool>element edit. Now we have two boxes.

Now define a material card for the parts. Go to model&keywords>all>MAT>MAT_RIGID. here define density, young's modulus, Poisson's ratio. Now apply and done.

Define section id for the part. Go to model&keywords>all>Section>shell. Here define parameters. Now accept and done.

Define section and MAT id for the part using model&keywords>all>part. Now assign the sec and mat id.

Now create six nodes for the two parts. Node 1&2&3 is assigned for part 1(5001,5002,5003) and node 2&4&6 for part 2(5004,5005,5006). it should be in coincidence and collinear. For creating nodes, go to element tools>node edit>create.

Now Go to model&keywords>create entity>set_node. here we need to create a node-set for constrained nodes. 5001,5002,5003 nodes as one node set for part 1 and 5004,5005,5006 as the second node set for part 2.

Now create constrained_extra_nodes_set card using model&keywords>all>Constrained. Now assign the first node-set(5001,5002,5003) for part 1 and the second node-set (5004,5005,5006) for part 2.

Now create constrained_join_translational card using model&keywords>all>Constrained. Here we need to assign nodes for the respective parts. N1&N3&N5 for part 1and N2&N4&N6 for part 2. assign the values as per the parameters.

Now define initial_velocity_rigid_body card using model&keywords>all>initial. Define part id and X axis translational as 10mm/ms. the translational only at x-axis.

Now define the control card for the simulation. define control termination card in model&keywords>all>control. Now put end time as 5ms.

Define binary d3plot for output animation file. go to model&keywords>all>database>binary d3plot. Here assign DT value as 0.1.

Joints between deformable bodies:

Here we should create joints between deformable bodies but we can follow the same steps of joints between rigid bodies for defining joints between deformable bodies with some few changes.

  • Instead of using MAT_RIGID, we should use MAT_ELASTIC card for defining material card for the parts.
  • Instead of using constrained_extra_nodes, constrained_nodal_rigid_body(CNRB) is used to constrain the nodes for the respective parts.
  • Instead of using initial_velocity_rigid_body, Initial_velocity is used to define velocity for the part.

Revolute joint:

Here follow the same procedure of revolute rigid joints for creating and assigning section, parts, material cards of the parts.

Here define material card MAT_ELASTIC, go to model&keywords>all>MAT>MAT_ELASTIC. define parameters in the tab. now accept and done.

Now create constrained_nodal_rigid_body using create entity>constrained>CNRB. Now uncheck PNode option. Now select node 101 and neighbor nodes for creating CNRB. NOw follow the same steps for creating CNRB at 102,103,104 nodes.

Now create constrained_join_revolute card using model&keywords>all>Constrained. Here we need to assign nodes for the respective parts. N1, N3 for part 1 and N2, N4 for part 2. assign the values as per the parameters.

Now we need to give displacement value along the z-axis. it is applied to one node in part-2. This is defined by boundary_prescribed_motion_node card using model&keywords>all>boundary.

Now we need to fix part 1 for that define boundary_spc card using model&keywords>all>boundary. here assign the nodes in the edges of part-1. Now part 1 is fixed.

Now define the control card for the simulation. define control termination card in model&keywords>all>control. Now put end time as 50ms.

Define binary d3plot for output animation file. go to model&keywords>all>database>binary d3plot. Here assign DT value as 0.1.

Spherical joint:

Here follow the same procedure of spherical rigid joints for creating and assigning sections, parts, material cards of the parts.

Here define material card MAT_ELASTIC, go to model&keywords>all>MAT>MAT_ELASTIC. define parameters in the tab. now accept and done.

Now create constrained_nodal_rigid_body using create entity>constrained>CNRB. Now uncheck PNode option. Now select node 2001 and neighbour nodes for creating CNRB. NOw follow the same steps for creating CNRB at 2002 node.

Now create constrained_join_spherical card using model&keywords>all>Constrained. Here we need to assign nodes for the respective parts. N1 for part 1and N2 for part 2. assign the values as per the parameters.

Now define initial_velocity card using model&keywords>all>initial. Define part id and X,Y,Z rotational values as 20mm/ms.

Now define the control card for the simulation. define control termination card in model&keywords>all>control. Now put end time as 20ms.

Define binary d3plot for output animation file. go to model&keywords>all>database>binary d3plot. Here assign DT value as 0.1.

Cylindrical joint:

Here follow the same procedure of cylindrical rigid joints for creating and assigning section, parts, material cards of the parts.

Here define material card MAT_ELASTIC, go to model&keywords>all>MAT>MAT_ELASTIC. define parameters in the tab. now accept and done.

Now create constrained_nodal_rigid_body using create entity>constrained>CNRB. Now uncheck PNode option. Now select node 2001 and neighbour nodes for creating CNRB. NOw follow the same steps for creating CNRB at 2002,2003,2004 nodes.

Now create constrained_join_cylinderical card using model&keywords>all>Constrained. Here we need to assign nodes for the respective parts. N1&N3 for part 1and N2&N4 for part 2. assign the values as per the parameters.

Now define initial_velocity card using model&keywords>all>initial. Define part id and X axis translational as 10mm/ms. the translational only at x-axis.

Now define the control card for the simulation. define control termination card in model&keywords>all>control. Now put end time as 20ms.

Define binary d3plot for output animation file. go to model&keywords>all>database>binary d3plot. Here assign DT value as 0.1.

Translational joint:

Here follow the same procedure of translational rigid joints for creating and assigning section, parts, material cards of the parts.

Here define material card MAT_ELASTIC, go to model&keywords>all>MAT>MAT_ELASTIC. define parameters in the tab. now accept and done.

Now create constrained_nodal_rigid_body using create entity>constrained>CNRB. Now uncheck PNode option. Now select node 5001 and neighbour nodes for creating CNRB. NOw follow the same steps for creating CNRB at 5002,5003,5004,5005,5006 nodes.

Now create constrained_join_translational card using model&keywords>all>Constrained. Here we need to assign nodes for the respective parts. N1&N3&N5 for part 1and N2&N4&N6 for part 2. assign the values as per the parameters.

Now define initial_velocity card using model&keywords>all>initial. Define part id and X axis translational as 10mm/ms. the translational only at x-axis.

Now define the control card for the simulation. define control termination card in model&keywords>all>control. Now put end time as 50ms.

Define binary d3plot for output animation file. go to model&keywords>all>database>binary d3plot. Here assign DT value as 0.1.

Animation files:

Joints between rigid bodies:

revolute joint:

Spherical joints:

cylindrical joints:

translational joints:

Joints between deformable bodies:

revolute joint:

Spherical joints:

cylindrical joints:

translational joints:

Conclusion:

  • The necessary keyword files are created for joints between rigid bodies such as spherical, revolute, translational, cylindrical joints using constrained_extra_nodes and constrained_joint tools.
  • The necessary keyword files are created for joints between deformable bodies such as spherical, revolute, translational, cylindrical joints using constrained_nodal_rigid_body(CNRB) and constrained_joint tools.
  • Finally ran the simulation and animation files were above.
Your portfolio, next

Ship work like this
in your own course.

Talk to a career counsellor

Free 20-minute call. We'll map the right course to where you want to work.

By submitting you agree to our Terms and Privacy Policy.

Talk to a career counsellor

Free 20-minute call. We'll map the right course to where you want to work.

By submitting you agree to our Terms and Privacy Policy.