Page 144 - The Combined Finite-Discrete Element Method
P. 144
GENERALISATION OF MUNJIZA-NBS CONTACT DETECTION ALGORITHM 127
}
consider all z-lists to be “new” lists
2. Loop over discrete elements (k=0;k≤N;)
{ calculate integerised z coordinates of the centre
if discrete element belongs to a new z list
{ mark the list as an old list and call it the central z list
{ 3. loop over all discrete elements on the central z list
{ integerise y coordinate of the discrete element and place
it onto the corresponding list in y direction
}
4. loop over all discrete elements from list neighbouring
to central z-list according to the contact mask
{ integerise y coordinate of the discrete element and place
it onto the corresponding list in y direction
}
consider all y-lists to be “new” y-lists
5. loop over all discrete elements from the central z-list
{ if the discrete element belongs to a new list (y,z)
{ mark the list (y,z) as old and call it central y-list
6. loop over all discrete elements from central (y,z)-list
{ integerise x coordinate of the discrete element
and place it onto the corresponding x-list
}
7. loop over all discrete elements from neighbouring
(y,z)-lists according to the contact mask
{ integerise x coordinate of the discrete element
and place it onto the corresponding x-list
}
consider all x-lists to be “new” x-lists
8. loop over all discrete elements from central (y,z)-list
{ if the discrete element belongs to a “new” x-list
{ mark the list (x,y,z) as old and call it central x-list
check for contact using contact mask
}
}
9. loop over all discrete elements from central (y,z)-list
{ remove corresponding x-list
}
10. loop over all discrete elements from
neighbouring (y,z)-lists according to contact mask
{ remove corresponding x-list
}
}
}
11. loop over all discrete elements from the central z-list
{ remove corresponding y-lists
}