TAGGED: biomechanics, coupling, finite-element-analysis, lsdyna
-
-
July 16, 2025 at 9:26 pm
Andres.Mena
SubscriberHello 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 -
July 17, 2025 at 1:05 am
Dennis Chen
SubscriberHello 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 unused180001 0 90001 0 1 0 0*CONSTRAINED_NODAL_RIGID_BODY$ pid cid nsid pnode iprt drflag rrflag unused180002 0 90002 0 1 0 0*CONSTRAINED_JOINT_COOR_REVOLUTE_ID$# jid title0$# rbid_a rbid_b rps damp tmass rmass80001 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 z33.175 12.7 -12.7$# x4 y4 z43.175 12.7 -12.7$# x5 y5 z50.0 0.0 0.0$# x6 y6 z60.0 0.0 0.0youtube video –>
-
- You must be logged in to reply to this topic.
-
3492
-
1057
-
1051
-
971
-
942
© 2025 Copyright ANSYS, Inc. All rights reserved.