Ig2_Facet_Sphere_ScGeom contact calculation

Asked by Dominik Boemer

Hello everyone,

I am wondering how the contact between spheres and facets is handled (overlap calculation), if the normal projection of the sphere's center onto the facet is not located on this facet (edge/vertex contact; regularization)? If you know how works this algorithm, I would appreciate to get a simple explanation before decrypting the code [1] during hours.

Thank you,
Dominik

[1] https://github.com/yade/trunk/blob/master/pkg/dem/Ig2_Facet_Sphere_ScGeom.cpp

Question information

Language:
English Edit question
Status:
Solved
For:
Yade Edit question
Assignee:
No assignee Edit question
Solved by:
Jan Stránský
Solved:
Last query:
Last reply:
Revision history for this message
Best Jan Stránský (honzik) said :
#1

Hi Dominik,

according to no answer yet, I guess that even the devs would need to
"decrypt" the code before answering..

Alternatively you can try it in simulation for different simple scenarios,
printing contact point, normal, force etc..

cheers
Jan

2015-03-26 14:46 GMT+01:00 Dominik Boemer <
<email address hidden>>:

> New question #264191 on Yade:
> https://answers.launchpad.net/yade/+question/264191
>
> Hello everyone,
>
> I am wondering how the contact between spheres and facets is handled
> (overlap calculation), if the normal projection of the sphere's center onto
> the facet is not located on this facet (edge/vertex contact;
> regularization)? If you know how works this algorithm, I would appreciate
> to get a simple explanation before decrypting the code [1] during hours.
>
> Thank you,
> Dominik
>
> [1]
> https://github.com/yade/trunk/blob/master/pkg/dem/Ig2_Facet_Sphere_ScGeom.cpp
>
> --
> You received this question notification because you are a member of
> yade-users, which is an answer contact for Yade.
>
> _______________________________________________
> Mailing list: https://launchpad.net/~yade-users
> Post to : <email address hidden>
> Unsubscribe : https://launchpad.net/~yade-users
> More help : https://help.launchpad.net/ListHelp
>

Revision history for this message
Bruno Chareyre (bruno-chareyre) said :
#2

>I guess that even the devs would need to "decrypt"

True. For me too.
My guess is that there is just no contact when the projection is outside. Not sure.

Revision history for this message
Dominik Boemer (dominik-boemer) said :
#3

Hi everyone,

thank you for your messages! After adding some "printf"s in my version of the code, I made the following findings. Excuse me for the large number of attributes used in the following explanation; they are necessary to eliminate any ambiguity as best as possible:

- if the normal projection of the center of the sphere on the plane of the facet is inside of the triangular facet, the penetration depth is simply determined by calculating the distance between the center of the sphere and its normal projection on the plane of the facet.

- if the projection of the center of the sphere on the plane of the facet is not inside of the triangular facet, the sphere might be in contact either with an edge or a vertex of the facet. To simplify the explanation, the projection of the center of the sphere on the plane of the facet will be called the potential contact point with the plane:

= edge contact: each edge has an outward-pointing normal in the plane of the facet. The potential contact point with the edge (not with the plane) is then obtained by projecting the potential contact point with the plane on the closest edge along its outward-pointing normal. The penetration depth is then determined by calculating the distance between the center of the sphere and this potential contact point (with the edge). The normal direction of the interaction is given by the vector going from the potential contact point with the edge to the center of the sphere.

= vertex contact: if the sphere is potentially in contact with a vertex of the facet, the potential contact point is obviously the respective vertex. The normal of the interaction is given by the vector going from this vertex to the center of the sphere.

The most important consequence in Yade DEM simulations with triangular surface meshes is that a sphere can simultaneously be in contact with two facets (edge between facets) or even more facets (depending on the number of facets which share a vertex, usually 3). This behavior might induce a local stiffening of the contact.

Feel free to correct any errors in my explanation.
Thanks,
Dominik

Revision history for this message
Dominik Boemer (dominik-boemer) said :
#4

Thanks Jan Stránský, that solved my question.

Revision history for this message
Bruno Chareyre (bruno-chareyre) said :
#5

You are absolutely right on the double-contact problem. It is a know issue, see:
https://bugs.launchpad.net/yade/+bug/850864