A particle packing parallel geometric method using GPU


The purpose of this paper is to present a methodology for obtaining granular models from a GPU parallel implementation of the geometric separation particle packing strategy. This methodology is suitable for the generation of large-scale granular models used in discontinuous media simulations. The proposed approach uses disk-shaped particles (two-dimensional approach) and parallelization mechanisms that consider different computational environments, with a focus on GPUs. The methodology is divided into three macro-steps: (a) definition of an input set of particles; (b) geometric separation; and (c) removal of spurious particles. The set of input particles uses data related to the particle size distribution and the domain filling rate, defining arbitrary positions for the particles. The other steps are used to eliminate overlaps between particles. Parallel computing is performed using the OpenCL programming API on compatible devices. Examples are presented to show the effectiveness of the proposed methodology. They show good time improvement and better memory efficiency in comparison with the original serial version of the strategy. The method is also validated by comparing the results with experimental and numerical data from the literature. The proposed methodology allows generating granular models with a parallel GPU particle packing method. It turns possible the achievement of bigger models in a smaller amount of time, without compromising the strategy efficiency and accuracy. It also presents mechanisms to avoid information exchange between GPU and CPU.

This is a preview of subscription content, log in to check access.

Fig. 1
Fig. 2
Fig. 3
Fig. 4
Fig. 5
Fig. 6
Fig. 7
Fig. 8
Fig. 9
Fig. 10


  1. 1.

    Cundall PA, Strack ODL (1979) Discrete numerical-model for granular assemblies. Geotechnique 29(1):47–65

    Article  Google Scholar 

  2. 2.

    Campbell CS, Cleary PW, Hopkins M (1995) Large-scale landslide simulations—global deformation, velocities and basal friction. J Geophys Res-Solid Earth 100(B5):8267–8283 May 10

    Article  Google Scholar 

  3. 3.

    Brown K, Attaway S, Plimpton S, Hendrickson B (2000) Parallel strategies for crash and impact simulations. Comput Methods Appl Mech Eng 184(2–4):375–390

    Article  Google Scholar 

  4. 4.

    Onate E, Rojek J (2004) Combination of discrete element and finite element methods for dynamic analysis of geomechanics problems. Comput Methods Appl Mech Eng 193(27–29):3087–3128

    Article  Google Scholar 

  5. 5.

    Chang KJ, Taboada A (2009) Discrete element simulation of the Jiufengershan rock-and-soil avalanche triggered by the 1999 Chi-Chi earthquake, Taiwan. J Geophys Res-Earth Surf 114:5–12 JUL 22

    Google Scholar 

  6. 6.

    Mechtcherine V, Gram A, Krenzer K, Schwabe JH, Bellman C, Shyshko S (2014) Simulation of fresh concrete flow, vol 15, 1st edn. Springer, Berlin

    Google Scholar 

  7. 7.

    Frery AC, Duarte LR, Ramos VL, Soares AR Jr, Lira WWM (2012) Stochastic particle packing with specified granulometry and porosity. Granul Matter 14:27–36

    Article  Google Scholar 

  8. 8.

    Labra C, Onate E (July 2009) High-density sphere packing for discrete element method simulations. Commun Numer Methods Eng 25(7):837–849

  9. 9.

    Levenberg K (1944) A method for the solution of certain problems in least squares. Q Appl Math 2:164–168

    MathSciNet  Article  Google Scholar 

  10. 10.

    Marquardt DW (1963) An algorithm for least-squares estimation of nonlinear parameters. SIAM J Appl Math 11(2):431–441

    MathSciNet  Article  Google Scholar 

  11. 11.

    Lopes LGO, Gouveia LP, Cintra DT, Lira WWM (2020) A particle packing method for non-uniform sizes and prescribed filling ratio. Eng Comput. https://doi.org/10.1007/s00366-020-00990-4

    Article  Google Scholar 

  12. 12.

    Reacrey C, Perez I, Rosello R, Muniz M, Hernandez E, Giraldo R, Oñate O, E, (2019) Advances in particle packing algorithms for generating the medium in the discrete element method. Comput Methods Appl Mech Eng 345:336–372

  13. 13.

    Baugh Konduri RKS (2001) Discrete element modelling on a cluster of workstations. Eng Comput 17:1–5

    Article  Google Scholar 

  14. 14.

    Cintra DT, Willmersdorf RB, Lyra PRM, Lira WWM (2016) A hybrid parallel DEM approach with workload balancing based on HSFC. Eng Comput 33(1):2264–2287

    Article  Google Scholar 

  15. 15.

    Jens W, Ivo S (2009) Large-scale parallel discrete element simulations of granular flow. Eng Comput 26(1):688–697

    Google Scholar 

  16. 16.

    Cintra DT, Willmersdorf RB, Lyra PRM, Lira WWMA (2016) parallel dem approach with memory access optimization using HSFC. Eng Comput 33(11):2463–2488

    Article  Google Scholar 

  17. 17.

    Benedict G, Lee H, David K, Perhaad M, Schaa D (2013) Heterogeneous Computing with OpenCL. 01

  18. 18.

    Govender N, Wilke D, Kok S (2016) Blaze-demgpu: modular high performance dem framework for the GPU architecture. SoftwareX 5:05

    Article  Google Scholar 

  19. 19.

    Govender N, Rajamani RK, Kok S, Wilke DN (2015) Discrete element simulation of mill charge in 3d using the blaze-DEM GPU framework. Miner Eng 79:152–168

    Article  Google Scholar 

  20. 20.

    Pizette P, Govender N, Wilke D, Nor-Edine A (2017) Dem GPU studies of industrial scale particle simulations for granular flow civil engineering applications. EPJ Web of Conf 140(01):03071

  21. 21.

    Cintra DT (2016) Metodologia de paralelização híbrida do DEM com controle de balanço de carga baseado em curva de Hilbert. PhD thesis, Universidade Federal de Pernambuco, 01

  22. 22.

    Lopes LGO, Cintra DT, Lira WWMA (2020) Geometric separation method for non-uniform disk packing with prescribed filling ratio and size distribution. Comput Particle Mech. https://doi.org/10.1007/s40571-020-00320-x

    Article  Google Scholar 

  23. 23.

    Munjiza A, Andrews KRF (1998) Nbs contact detection algorithm for bodies of similar size. Int J Numer Methods Eng 43(1):131–149

    Article  Google Scholar 

  24. 24.

    Williams JR, Perkins E, Cook B (2004) A contact algorithm for partitioning arbitrary sized objects. Eng Comput Int J Comput Aided Eng 21:235–248

    MATH  Google Scholar 

  25. 25.

    Oommen A, Pal C (2014) Binary search algorithm. Int J Innov Res Technol

  26. 26.

    Rankovic V, Kos A, Milutinovic V (2013) Bitonic merge sort implementation on the maxeler dataflow supercomputing system. The IPSI BgD Trans Internet Res 9:07

    Google Scholar 

  27. 27.

    Kein J (2019) GPU Sorting Algorithms in OpenCL

Download references


The authors thank FAPEAL for their support and funding in research, and PETROBRAS for the development of projects that have resulted in this work.


This study was funded by Fundacão de Amparo a Pesquisa do Estado de Alagoas (FAPEAL).

Author information



Corresponding author

Correspondence to Lucas G. O. Lopes.

Ethics declarations

Conflict of interest

Author Lucas G. O. Lopes has received research grants from Fundacão de Amparo a Pesquisa do Estado de Alagoas (FAPEAL).

Additional information

Publisher's Note

Springer Nature remains neutral with regard to jurisdictional claims in published maps and institutional affiliations.

Rights and permissions

Reprints and Permissions

About this article

Verify currency and authenticity via CrossMark

Cite this article

Lopes, L.G.O., Cintra, D.T. & Lira, W.W.M. A particle packing parallel geometric method using GPU. Comp. Part. Mech. (2020). https://doi.org/10.1007/s40571-020-00378-7

Download citation


  • Particle packing
  • Granular modeling
  • Discrete element method
  • GPUs