How to determine the contact type between polyhedral particles?

Asked by Xue

Hello everyone:
 I want to know whether the contact type between particles can be determined in polyhedra calculation, such as face-face contact or face-vertex contact?
Besides, I read the following code “yade._polyhedra_utils.do_Polyhedras_Intersect((Shape)arg1, (Shape)arg2, (State)arg3, (State)arg4) → bool”, and I am wondering where can I find out more details about this function, such as the implementation principle of this code?
thanks a lot!
xue

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
Robert Caulk (rcaulk) said :
#1

>I am wondering where can I find out more details about this function, such as the implementation principle of this code?

Yes [1]

[1]https://gitlab.com/yade-dev/trunk/-/blob/master/py/_polyhedra_utils.cpp#L67

Revision history for this message
Best Jan Stránský (honzik) said :
#2

> I want to know whether the contact type between particles can be determined in polyhedra calculation, such as face-face contact or face-vertex contact?

In current implementation (and more importantly approached used), it is not possible, because the contact is determined according to intersecting polyhedron (see [2], Elias2013 and Elias2014 for more details) and does not distinguish between described cases.

Probably it could be somehow guessed..

cheers
Jan

[2] https://www.yade-dem.org/doc/publications.html

Revision history for this message
De zhang (dzlearnyade) said :
#3

Because the normal force is determined by the intersecting polyhedron between two contact objects, you can classify the type of contact according to the overall shape and local shape (such as angularity) of that intersecting polyhedron.
Good luck!

Dez

Revision history for this message
Xue (1q12) said :
#4

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