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,
   106   107   108   109   110   111   112   113   114   115   116