How to let a roller be dragged (motionview)

Davide_21400
Davide_21400 Altair Community Member
edited March 2022 in Community Q&A

Hello,

I have a simple model with 2 rollers in contact (3D rigid contact).

The top roller can translate vertically because of the spring, while the bottom roller can rotate because of the motion defined.

I'd like to simulate the rotation of the top roller, caused by the rotation of the bottom roller (friction on).

If I set a revolute joint on the top roller, it remains fixed for all the time and doesn't translate too, so I don't know how to let the top roller translate vertically and rotate around its CG.

 

It would be great if you could help me, thank you!

I'm sending you a zip with the model.

Best regards

Answers

  • Patrick Goulding_21563
    Patrick Goulding_21563 New Altair Community Member
    edited March 2022

    Hello Davide,

     

    I would propose using a "dummy" Body.  A Translational Joint can connect the dummy body to Ground, and a Revolute Joint can connect the dummy body to the Roller.  What this accomplishes more than anything is to provide the Revolute Joint a local reference frame with which it can rotate freely, but one which translates along with the Roller.  The dummy body should have negligible (though not zero) mass/inertia so that it does not affect the Roller's dynamics in a meaningful way.

     

    Please see my attached model which implements this method.

     

    I hope this helps,

    Patrick