Page 124 - The Combined Finite-Discrete Element Method
P. 124
MUNJIZA-NBS CONTACT DETECTION ALGORITHM IN 2D 107
STAGE 2: Mapping of discrete elements to individual cells: For each row of cells, discrete
elements are now ready to be mapped onto the individual cells. For each row of cells,
the discrete elements mapped onto that row are all listed in singly connected lists, as
explained in Stage 1. The head of the list is represented by the corresponding number
B[i y ]for the y iy list (the list containing discrete elements mapped onto the row i y ).
It would be very inefficient to consider all of the lists. Only non-empty lists are thus
considered. This is achieved by looping over all discrete elements, instead of looping over
rows of cells:
Loop over all discrete elements (i=1; i≤N;i++)
{ calculate integerised coordinate
y − y min
i y = Int (3.61)
d
if the y iy list is marked as “new”:
{ mark it as “old”
map discrete elements from the corresponding y-list
onto the cells and use these for detection of contacts
}
}
As a so-called ‘new’ y-list is detected, it is first marked as a so-called ‘old’ list, so that
no other discrete element will be considering this row of cells again.
Each discrete element from the current y iy -list is mapped onto the cells by performing
a loop over all discrete elements from the y iy list:
Loop over all discrete elements from the list y iy
(j=B[i y ] and j=Y[j] until the end of the list is reached, i.e. until j=-1)
{ calculate integerised coordinate for the discrete element j
x − x min
i x = Int (3.62)
d
add the discrete element j onto x ix,iy list,
i.e. onto the list of discrete elements mapped onto the cell (ix,iy)
consider all x ix,iy list as “new list”
}
A particular x ix,iy list contains all discrete elements with integerised coordinates i x
and i y . In addition, all singly connected lists x ix,iy (where i x = 1, 2, 3,...n x ) contain all
discrete elements from the y iy -list, and are represented by two arrays of integer numbers.
The first array is a 1D array A of size n x ,where n x is the total number of cells in the
x-direction, i.e. the total number of columns of cells. The second array is a 1D array X
of size N,where N is the total number of discrete elements comprising the combined
finite-discrete element system.
Singly connected lists x ix,iy (where i x = 0, 1, 2 ...n x ), for example from Figure 3.42,
are shown in Figure 3.43. Numerical representation of those lists by arrays of integer
numbers is shown in Figure 3.44, where the list x 4,7 is highlighted.