Rigid dynamics failing when body contacts two other bodies

LaurengineerLaurengineer United KingdomMember

Hi All,

I have a system set up where a ball is supposed to pass through a screw fed hopper. I have contacts set up between the body of the hopper and the ball, and the screw and the ball, both with friction, both with 0 restitution factor and both with a small pinball radius defined.  There's a revolute joint between the body and the screw with a fixed velocity and the body is fixed to ground.

To my mind, this should be sufficient to run a simulation of the ball falling into the hopper, being pushed along by the screw, and falling through the funnel at the end.  However, when the ball is in contact with both the other bodies simultaneously, the simulation fails.

I've tried a tonne of combinations of the following, with no luck:

  • Higher restitution factors on both contacts
  • Frictionless on both contacts
  • Using the faces instead of the bodies to create both contacts
  • Pinball being program defined on both contacts
  • RBD contacts being geometry or mesh defined for both contacts
  • Flipping contact/target
  • Varied time steps

With any of those setups if I disable either of the contacts, it runs fine (either the ball falls off the screw into endless space, or the ball rolls around inside the body for a while).

Any suggestions for anything else I could try?

Comments

  • peteroznewmanpeteroznewman Member
    edited April 27

    This model illustrates the weakness of the Rigid Dynamics solver that ANSYS acquired. There are more robust solvers out there. I would be interested to try this geometry in another solver if you will share the geometry. You would attach a Workbench Project Archive to your reply.

    Something to try is to have two coincident balls. Use a Fixed Joint to hold them coincident. You can divide the material density for the ball in half so the two balls together have the same mass as one ball. Name the two balls ball1s and ball2b to keep track of which one is which.

    Create contact1 between ball1s and the screw and create contact2 between ball2b and the barrel.

    Good luck!

Sign In or Register to comment.