Rigid body rotation...
 
Notifications
Clear all

[Solved] Rigid body rotation around a remote point

10 Posts
3 Users
2 Reactions
3,096 Views
Posts: 4
Topic starter
(@kilipeti)
Barista
Joined: 4 years ago

I have a problem with realising rotation on a rigid body around a remote point.

Am I right that I can set up a center(and a coordinate system) to the rigid body using a local coordinate system (lco1 in mat_rigid keyword)? I use boundary_prescribed_motion_rigid to the part but it seems like it recalculates a center of mass and always wants to apply rotation etc. to that center, not the one I defined with lco1.

(I attached 2 videos, showing that instead of using the orangeish/green point as center of rotation (where I defined lco1), it uses one that looks to be the center of mass of the part)

9 Replies




Negative Volume
Posts: 668
Admin
(@negativevolume)
CEO
Joined: 6 years ago

Hi @kilipeti

I looked at the videos. It was a little difficult to see the point that you want it to rotate around. Could you attach an image that highlights where it is rotating and where you want it to rotate? 

Try adding "_local" to your motion card: *boundary_prescribed_motion_rigid_local

Reply
7 Replies
(@kilipeti)
Joined: 4 years ago

Barista
Posts: 4

@negativevolume

Thanks for the answer/hint!

I have found the corresponding remark in the manual:

When the RIGID option is used to prescribe rotation of a rigid body, the axis of rotation
will always be shifted such that it passes through the center-of-mass of the rigid body. By
using *PART_INERTIA or *CONSTRAINED_NODAL_RIGID_BODY_INERTIA, one can
override the internally-calculated location of the center-of-mass.

My fear was proven, setting up an lco1 in *MAT_RIGID is not enough, I had to define *PART_INERTIA for the rigid body and now it works perfectly!

Reply
emirhan.dyna
(@emirhan-dyna)
Joined: 3 years ago

Unpaid Intern
Posts: 8

@kilipeti Hello,

I am having similar issue. I did what you did;

1-Defined rigid material for the part and defined lco1 for the part where I want to be the rotation axis

2-Defined *PART_INERTIA and there I assigned cog node of the part

3- Lastly used rigid_Local option for prescribed motion 

Yet, none of these worked , every time the part rotates about its original cog. What am I missing here? Thanks in advance for your reply.

Regards

Emirhan

prescribed motion rigid local
 Part intertia
Reply
Negative Volume
Admin
(@negativevolume)
Joined: 6 years ago

CEO
Posts: 668

@emirhan-dyna I'm believe you need to fill in the NODEID in the *Part_inertia to be the node id of that grey node in your image where you want the rotation center to be. 

Reply
emirhan.dyna
(@emirhan-dyna)
Joined: 3 years ago

Unpaid Intern
Posts: 8

@negativevolume Unfortunately it is not about that. I had/have tried that too. Didn't work. I am starting to be skeptic about a bug in the solver. Could you take a look at the key file in the attachments. Thanks

Reply
emirhan.dyna
(@emirhan-dyna)
Joined: 3 years ago

Unpaid Intern
Posts: 8

Looks like It does not allow me to add anything to attachments. Can you see any file?

Regards

Reply
Negative Volume
Admin
(@negativevolume)
Joined: 6 years ago

CEO
Posts: 668

@emirhan-dyna make sure your file is either a .k or .dyn

Reply
(@kilipeti)
Joined: 4 years ago

Barista
Posts: 4

@emirhan-dyna I have been able to get a hold on this (see attached video).

Little help with *PART_INERTIA:

*C:=*-coordinate of center of mass. If nodal point, NODEID, is defined XC, YC, and ZC are ignored and the corrdinates of the nodal point, NODID, are taken as the center of mass.

So I guess XC, YC and ZC are important and it is also important that NODEID=0 and there is no nodal point (whatever that means, maybe it cannot be a *constrained_nodal_rigid_body?)...

See an example keyword snippet in my case (tm and i** values are hypothetical I guess):

*PART_INERTIA
$#                                                                         title
.
$#     pid     secid       mid     eosid      hgid      grav    adpopt      tmid
         7         7         7         0         0         0         0         0
$#      xc        yc        zc        tm      ircs    nodeid      
  18.71017  26.60626     15.27     4.535         0         0
$#     ixx       ixy       ixz       iyy       iyz       izz   
 0.0159222-4.2334E-41.42205E-4 0.02397787.45264E-6    0.0221
$#     vtx       vty       vtz       vrx       vry       vrz   
  14.77972-0.7745721       0.0       0.0       0.0       0.0
*MAT_RIGID
$       ID        ro         E        pr         n    couple         m     alias
$#     mid        ro         e        pr         n    couple         m     alias
         77.85000E-9  200000.0       0.3       0.0       0.0       0.00
$      cmo      con1      con2                                           unused1
$#     cmo      con1      con2    
       1.0         0         0
$      lco        A2        A3        V1        V2        V3             unused2
$#lco or a1        a2        a3        v1        v2        v3  
       0.0       0.0       0.0       0.0       0.0       0.0
*SECTION_SOLID
$       ID    elform       aet                                           unused1
$#   secid    elform       aet   
         7        13         0
*BOUNDARY_PRESCRIBED_MOTION_RIGID
$      sid       dof       vad      lcid        sf       vid     death     birth
$#     pid       dof       vad      lcid        sf       vid     death     birth
         7         3         2         2       1.0         0       0.0       0.0
...

In your *PART_INERTIA is OPTION row 6 really needed? Isn't it that local CS that causes trouble?

Reply




emirhan.dyna
Posts: 8
(@emirhan-dyna)
Unpaid Intern
Joined: 3 years ago

Hi @negativevolume I tried to upload key file. changed extension to .k it worked. 

Hi @kilipeti. Thanks for your reply. In your case it seems to be working just fine.

Posted by: @kilipeti

So I guess XC, YC and ZC are important and it is also important that NODEID=0 and there is no nodal point (whatever that means, maybe it cannot be a *constrained_nodal_rigid_body?)...

As for your comment on xc,yc, zc and nodeid I tried all possible combinations. with just nodeid and without nodeid. Still rotates about its original COG.

Posted by: @kilipeti

In your *PART_INERTIA is OPTION row 6 really needed? Isn't it that local CS that causes trouble?

I also tried with/without option 6 did not work. 

 

I attached my model named Main.k Please take a look at it and if possible please run the model. I want to make sure the problem is not specific to solver version I am using.  

By the way your prescribed motion parameters confused me even more:) Is it just an example?

you did not use _LOCAL option for Prescribed motion 

dof=3 (z translational motion)

 

Capture
Reply







Share: