Antoine – my suggestion, at this point is this:
NOTE: If you post here, the Chrono model will be in the public domain.
Dan
---------------------------------------------
Bernard A. and Frances M. Weideman Professor
NVIDIA CUDA Fellow
Department of Mechanical Engineering
Department of Computer Science
University of Wisconsin - Madison
4150ME, 1513 University Avenue
Madison, WI 53706-1572
---------------------------------------------
--
You received this message because you are subscribed to the Google Groups "ProjectChrono" group.
To unsubscribe from this group and stop receiving emails from it, send an email to
projectchron...@googlegroups.com.
To view this discussion visit
https://groups.google.com/d/msgid/projectchrono/013ce180-1ec7-4d6a-95c1-e6e91e3c81f2n%40googlegroups.com.
Antoine,
Have you ensured that the collision meshes are flagged as concave in the ChCollisionShapeTriangleMesh constructor (4th argument set to false) and provided a non-zero mesh thickness (5th argument, which defaults to zero)? Please take a look at how collision meshes are set up in demo_MBS_collision_trimesh.
--Radu
From: 'Antoine Laborde' via ProjectChrono <projec...@googlegroups.com>
Sent: Wednesday, October 1, 2025 2:12 PM
To: ProjectChrono <projec...@googlegroups.com>
Subject: [chrono] Contact detection on mesh objects
Dear all,
--
Antoine, happy to hear that solved the issue.
That value represents a “thickness” for the mesh (which mathematically has zero thickness) which can significantly - as you observed - improve the robustness of the collision detection between two meshes (for collision of a mesh with some other primitive, leaving that value at zero will work because the necessary “thickness” is provided by the other shape).
Collision between two triangles is broken down into collisions between features of the triangles. This thickness value effectively changes vertices to (small) spheres, edges to (thin) capsules, etc. Consider the case of an edge-edge collision. With this value to zero it’s almost sure the collision will be missed.
Although the default value is set to zero, it is crucial to set a small positive value, especially when interested in mesh-mesh collisions. Maybe I’ll just change the signature of that function so that it does not have default arguments. Typing a few more characters is better than getting incorrect results.
To view this discussion visit https://groups.google.com/d/msgid/projectchrono/24355cf3-9096-403d-adf2-0598f7bb9229n%40googlegroups.com.