Page 111 - The Combined Finite-Discrete Element Method
P. 111
94 CONTACT DETECTION
In summary, the screening contact detection algorithm has the following characteristics:
• It has CPU time proportional to the total number of discrete elements.
• It is relatively simple to implement.
• Extension to 3D is straightforward.
• It can be very demanding in terms of RAM space, and is therefore suitable only for
simulations involving very densely packed discrete elements in either static or transient
dynamic problems.
3.7 SORTING CONTACT DETECTION ALGORITHM FOR DISCRETE
ELEMENTS OF A SIMILAR SIZE
The screening algorithm works well for discrete element systems with large spatial density
of discrete elements. However, if discrete elements are spaced at relatively large distances
from each other, the size of the screening array may be very large, and may result in
either large systems not fitting into the available RAM space or CPU overheads (virtual
memory, paging, etc.) being too large. Thus, there is a need to either reduce the size of
the screening array or eliminate it all together.
One way of eliminating the screening array is by using sorting arrays instead of a
screening array. One array for each coordinate axis is used together with one array for a
discrete element identifier. Thus, for cells in the x-direction, the X array is used, while
for cells in the y-direction, a Y array is used. Both X and Y arrays are of size N,where
N is the total number of discrete elements comprising the discrete element system. A
third array D indicates the discrete element number, and is also of size N. Extension to
3D would require an additional Z array.
The contact detection is done in three steps:
Step 1: Mapping of discrete elements onto cells: discrete elements are mapped onto cells
through the integerisation of coordinates:
int x − x min
i = x = 1 + Int (3.40)
d
int y − y min
j = y = 1 + Int
d
where i and j indicate a cell to which the discrete element of the current centre coordinates
x and y is mapped, while operation Int simply indicates truncation of a real number.
For the discrete element system shown in Figure 3.21, mapping of discrete elements
onto cells is represented by arrays X, Y and D, as shown in Figure 3.22. Array D indicates
the discrete element, while array X indicates the integerised coordinate x and array Y
indicates the integerised coordinate y of the centre of the bounding box of the discrete
element, i.e. arrays X and Y indicate the cell onto which a particular element is mapped.
For instance, the discrete element 1 is mapped onto cell (4,7), while discrete element
3 is mapped onto cell (4,6) and discrete element 7 is mapped onto cell (3,7). Thus,