Issues with rotation, mesh flipping, and bed compression

49 views
Skip to first unread message

Jack Stephenson

unread,
Nov 27, 2022, 9:54:02 PM11/27/22
to ProjectChrono
Hello. I am trying to run a sim where a cube mesh is dropped on a settled bed. Once it lands on the bed, we drag it in a linear direction across the bed.

However,  I have ran into 3 major issues.

1. I'm trying to rotate the thin cube 90 degrees horizontally, but I'm not sure how I'm supposed to do so.
2. With just a settled bed, whenever I ran the drop phase, just when my cube touches the bed- the next frame and onwards, it flips and pivots to a corner, and does so for the rest of the sim.
3. Tried to compress the bed to see if it was due to uneven surfaces, and when I ran the drop phase, each frame the cube is being dropped, the compressed bed blows up.


Here's the code, and screenshots of the issues I'm running into. I would greatly appreciate any pointers to what could be causing these issues.


Jack Stephenson

unread,
Nov 27, 2022, 9:54:34 PM11/27/22
to ProjectChrono
Earth.cpp

Jack Stephenson

unread,
Nov 27, 2022, 9:58:04 PM11/27/22
to ProjectChrono
Compression Issues.png
Compression Bed normal.png
Screenshot (2168).png

Ruochun Zhang

unread,
Nov 28, 2022, 5:20:10 PM11/28/22
to ProjectChrono
Hi Jack,

From what I saw there is a discrepancy between the moments of inertia of the cube and the mesh of the cube (the mesh is the "hitbox" of the object, so to speak). Your cube_inertia_x and y and z are all 1.873, but the hitbox looks like a rather flat rectangular cuboid. This could lead to that this cuboid rests at an angle/posture that you did not expect. You should use correct moments of inertia if the quaternion/rotation of the object is of interest to you. This should answer your second question. I don't think it has anything to do with the surface, even or uneven.

For question 1, it's about using Chrono (core) not Chrono::GPU, but I think you can just use SetPos and SetRot methods to control your cube_body

For question 3, I assume you compressed the granular material by a significant amount. Most likely, for the majority of your compression process, you are increasing the bulk density by increasing the penetration, instead of changing the packing of the particles. In that case, when the compressor is removed, the huge penetrations present will cause a "bounce back". This is very expected. I don't find it too easy to change the packing configurations of all-spherical particles. In Chrono::GPU, If you want to increase the packing density, I suggest you try sampling them with a HCP sampler. There are other tricks to tweak the bulk density, but a lot of them are not so easy to do in Chrono::GPU. Might be easier with the new Chrono DEME package though.

Thank you,
Ruochun 

On Sunday, November 27, 2022 at 8:58:04 PM UTC-6 Jack Stephenson wrote:
Reply all
Reply to author
Forward
0 new messages