Bouncing/Sinking Phenomenon - Project Chrono


I have been trying to simulate collision between two bodies in the case where one body is located inside a hollow body in 3D

In a 2 sec simulation, where a body with no constraints is simply left to fall inside the hollow body. A cross sectional view. It is actually a cuboid inside a cylinder.

However, what I am observing is that for the first few times it makes contact, it behaves nicely (bounces) but when it finally stops moving, it suddenly looks like it sinks into the other body.

Plotting the heave motion of the red body, we see that for the first few times, it behaves nicely but after 0.6 s, it starts sinking into the ground.

At the end of simulation

Any ideas on what might be the issue here? I have attached the XML file and both the STL files.


  • You have to make the bottom layer a lot thicker. 1 layer of particles is not enough. Try 4. Remember that you are DBC, which means that the boundary constraint is a repulsive force - if you do not have enough particle layers it will not be able to catch this properly.

    Kind regards

  • The collisions are solved in ProjectChrono only in terms of geometries, not in terms of particles.

    So you have to check:

    1) the actual geometries (that will appear in chrono_objs)

    2) if normals are created with the direction for interaction

    3) distancedp, which is the distance to detect interaction and it is defined based on dp

    So that using distancedp value="0.5" meanst that your geometries (the ones in chrono_objs) will collide when distance is 5 mm (0.01*0.5)



  • Hi Alex and Asalih3D,

    Thank you both for help.

    I initially tried to add more layers to to the base but did not really help the case. I checked the geometries to see if there was an issue. They were in line to collide and more than 5*dp away from each other initially.

    I have been able to simulate collision in the interior* (the concave part of a body) of an open body. Same body as my previous case expect that the cylinder has no lid. As you can see, there is no such phenomenon.

    Extrapolating from this, I made a very small hole in my "closed" geometry to make it open and I am successfully able to simulate collision. This is a workaround for now while I am trying to figure out why the issue for closed bodies is occurring at all.

    I have attached the STL files, XML and a animation of such a simulation for user's future reference.

    Cross Sectional View of Box inside Box with imposed angular rotation.

    Wanted to thank both of for your help.

  • Further digging into the literature, because of how the penetration coefficient is defined, (Canelas, R. B., et al. "Extending DualSPHysics with a Differential Variational Inequality: modeling fluid-mechanism interaction." Applied Ocean Research 76 (2018): 88-97)

    The phi(q) should be greater than or equal to zero for the collision to work. So, if I have one closed body inside the other, the phi is lesser than zero by default, thus making my collision fall through.


Sign In or Register to comment.