LS Dyna

LS Dyna

Topics related to LS-DYNA, Autodyn, Explicit STR and more.

Kinematic Coupling with CONSTRAINED_NODAL_RIGID_BODY

    • Andres.Mena
      Subscriber

      Hello all!

      I'm trying to implement something similar to Abaqus kinematic coupling in LS-DYNA to control wrist flexion motion (see figure below) using a single reference point, but the model isn't moving at all. I am not sure if I am setting up the keyword correctly.
      My idea was to tie multiple surfaces (NSID) to one reference point to simulate joint angles (e.g., 15° or 30° flexion). I calculated the final position of the reference point at 30 degrees and applied it using *BOUNDARY_PRESCRIBED_MOTION_NODE with VAD 2 (translation) for two different DOFs. To achieve the kinematic coupling, I am using *CONSTRAINED_NODAL_RIGID_BODY with the surfaces NSID and PNODE=reference point (tried both positive and negative), like the second figure. The reason why I used a nodal rigid body is just in case I can apply a rotation instead of a translation later to better represent joint motion.

      I am not sure what I am doing wrong. Has anyone experienced a similar issue? Any guidance on proper kinematic coupling implementation or any other better approach would be greatly appreciated.

      Andres

    • Dennis Chen
      Subscriber

       

      Hello Andres, you can use Constrained_joint_COOR_Revolute or Constrained_Joint_COOR_Spherical to do something like this.

      The basic method for how this works is 

      1) define 2 CNRBs (constrained nodal rigid body), each with a unique ID 80001 and 80002 in below example, 90001 and 90002 are the node set IDs which the CNRB is “tied to”. 

      2) define several pairs of coordiante (x,y,z) locations following the specific requirements of the joints.  You want to find these coordinates as outlined in the video in the bottom of the comment.   I’ve not made a video about the simpler joints but it’s the same idea for all 11 joint types in my video.    the youtube video should show the basic thought process and the documentation shows you what's required. 

      3) use the joint keyword above to tie the 2 CNRB together based on 

      *CONSTRAINED_NODAL_RIGID_BODY
      $      pid       cid      nsid     pnode      iprt    drflag    rrflag   unused1
           80001         0     90001         0         1         0         0      
      *CONSTRAINED_NODAL_RIGID_BODY
      $      pid       cid      nsid     pnode      iprt    drflag    rrflag   unused1
           80002         0     90002         0         1         0         0  
      *CONSTRAINED_JOINT_COOR_REVOLUTE_ID
      $#     jid                                                                 title
               0                                                                      
      $#  rbid_a    rbid_b       rps      damp     tmass     rmass
           80001     80002       1.0       0.0       0.0       0.0
      $#      x1        y1        z1
          -9.525      12.7     -12.7
      $#      x2        y2        z2
          -9.525      12.7     -12.7
      $#      x3        y3        z3
           3.175      12.7     -12.7
      $#      x4        y4        z4
           3.175      12.7     -12.7
      $#      x5        y5        z5
             0.0       0.0       0.0
      $#      x6        y6        z6
             0.0       0.0       0.0
       
      youtube video –>

       

Viewing 1 reply thread
  • You must be logged in to reply to this topic.