self collision

108 views
Skip to first unread message

Jay Jay

unread,
Dec 17, 2024, 6:21:03 AM12/17/24
to ProjectChrono
Hello,

  Does anyone know if Chrono supports self-collision detection for FEA (shell element)? For example, simulating cloth folding?

Regards,
Shuo

Radu Serban

unread,
Dec 24, 2024, 6:29:31 AM12/24/24
to ProjectChrono

Hi Shuo,

 

Yes, self-collisions are supported and enabled by default. See the documentation of ChContactSurface:: DisableSelfCollisions.

Unfortunately, I don’t think we have a demo that illustrates that.

 

--Radu

--
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/33d93899-f744-42d4-8863-efff2feda445n%40googlegroups.com.

Jay Jay

unread,
Jan 20, 2025, 7:38:18 AMJan 20
to ProjectChrono
Hi Radu,

    Thanks a lot. I tested BST shell element. And I added the contact surface like this:

    auto cmat = chrono_types::make_shared<ChContactMaterialSMC>();
    cmat->SetYoungModulus(2e5f);
    cmat->SetFriction(0.3f);
    cmat->SetRestitution(0.1f);
    cmat->SetAdhesion(0);

    //
    auto contact_surf = chrono_types::make_shared<ChContactSurfaceMesh>(cmat);
    mesh->AddContactSurface(contact_surf);
    contact_surf->AddFacesFromBoundary(thickness/2.0);

   
    auto contact_cloud = chrono_types::make_shared<ChContactSurfaceNodeCloud>(cmat);
    mesh->AddContactSurface(contact_cloud);
    contact_cloud->AddAllNodes(thickness/2.0);

But the self-collision is not working. In my case, a rectangular strip composed of BST shell elements still experiences self-penetration, even with a very small time step size, and the issue persists.

Regards,
Jay

I. Tiwari

unread,
May 13, 2025, 7:56:26 AMMay 13
to ProjectChrono
Hello Radu and Jay,

I was wondering if beam self-collision got working using the contactsurfacenodecloud method. I am trying to simulate a stretched filament colliding with itself. I have a a cosserat beam for this purpose and use the "ChContactSurfaceNodeCloud" implementation. I read from an old post on the forum that back in 2019, this was not implemented. I am not sure if it has been implemented as of now or not. 

Sorry for piggybacking on this post, and I wish you all a great day.

Best Regards,
Ishant

Radu Serban

unread,
May 14, 2025, 10:14:26 AMMay 14
to ProjectChrono

Hi Ishant,

 

Mesh-mesh collisions (including self-collisions of an FEA mesh) would not work reliably with node cloud collision surface representations, as most collisions would be missed if the surface is only represented by collision spheres located at the FEA node locations.

You may be able to collide a mesh represented with a node cloud with a mesh represented with a mesh surface, but that obviously cannot apply to self-collisions.  You’ll need to switch the collision geometry representation of your FEA mesh.

 

--Radu

Reply all
Reply to author
Forward
0 new messages