Page 94 - The Combined Finite-Discrete Element Method
P. 94
DIRECT CHECKING CONTACT DETECTION ALGORITHM 77
of clarity, all algorithms are described in 2-dimensional space, while at the end of the
chapter extensions to 3-dimensional (and in some cases extensions to n-dimensional)
spaces are given.
3.2 DIRECT CHECKING CONTACT DETECTION ALGORITHM
The direct checking contact detection algorithm is the simplest contact detection algorithm
possible. The algorithm is usually implemented in two steps:
• a bounding object for each discrete element is defined, and
• a simple intersection check for bounding objects is made, and if bounding objects of
any two discrete elements are found to be intersecting each other, it is assumed that
the two discrete elements are in contact.
For bodies of similar size, a few different implementations are possible, depending on the
bounding object selected. Two types of implementation are explained here, namely the
circular bounding object and the rectangular bounding object.
3.2.1 Circular bounding box
It is assumed that all discrete elements are circles of constant diameter d, chosen in such
a way that no point of any discrete element is outside the circle. Thus, the diameter of
the bounding circle is defined by the largest discrete element present (Figure 3.4).
A loop over all bounding circles is performed, and each bounding circle is checked
against all others for intersection:
Loop over discrete elements (i=1; i<N; i++)
{ Loop over remaining discrete elements (j=i+1; j<N; j++)
{ contact check
}
}
Contact check is a simple operation:
2
2
(x i − x j ) + (y i − y j ) <d 2 (3.9)
d
d
d
Figure 3.4 Identical bounding circles for 2D discrete elements.