Skip to main content
Log in

Karamelo: an open source parallel C++ package for the material point method

  • Published:
Computational Particle Mechanics Aims and scope Submit manuscript

Abstract

A simple and robust C++ code for the material point method (MPM) called Karamelo is presented here. It was designed to provide an open source, fast, light and easy-to-modify framework for both conducting research on the MPM and research using the MPM, instead of a finite element package. This paper presents the overall philosophy, the main design choices and some of the original algorithms implemented in Karamelo. Simulations of solids and fluids involving extreme deformation are provided to illustrate the capabilities of the code.

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

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Fig. 1
Fig. 2
Fig. 3
Fig. 4
Fig. 5
Fig. 6
Fig. 7
Fig. 8
Fig. 9
Fig. 10
Fig. 11
Fig. 12
Fig. 13
Fig. 14
Fig. 15
Fig. 16
Fig. 17
Fig. 18
Fig. 19
Fig. 20
Fig. 21

Similar content being viewed by others

References

  1. Anderson CE Jr (1987) An overview of the theory of hydrocodes. Int J Impact Eng 5(1–4):33–59

    Google Scholar 

  2. Assadi H, Gärtner F, Stoltenhoff T, Kreye H (2003) Bonding mechanism in cold gas spraying. Acta Mater 51(15):4379–4394

    Google Scholar 

  3. Banerjee A, Dhar S, Acharyya S, Datta D, Nayak N (2015) Determination of Johnson Cook material and failure model constants and numerical modelling of Charpy impact test of armour steel. Mater Sci Eng A 640:200–209. https://doi.org/10.1016/j.msea.2015.05.073

    Article  Google Scholar 

  4. Bardenhagen S, Kober E (2004) The generalized interpolation material point method. Comput Model Eng Sci 5(6):477–495

    Google Scholar 

  5. Bardenhagen S, Brackbill J, Sulsky D (2000) The material-point method for granular materials. Comput Methods Appl Mech Eng 187(3–4):529–541

    MATH  Google Scholar 

  6. Bardenhagen S, Guilkey J, Roessig K, Brackbill J, Witzel W, Foster J (2001) Improved contact algorithm for the material point method and application to stress propagation in granular material. Comput Model Eng Sci 2(4):509–522

    MATH  Google Scholar 

  7. Belytschko T, Krongauz Y, Organ D, Fleming M, Krysl P (1996) Meshless methods: an overview and recent developments. Comput Methods Appl Mech Eng 139:3–47

    MATH  Google Scholar 

  8. Belytschko T, Liu WK, Moran B (2000) Nonlinear finite elements for continua and structures. Wiley, Chichester

    MATH  Google Scholar 

  9. Brackbill J, Ruppel H (1986) FLIP: a method for adaptively zoned, particle-in-cell calculations of fluid flows in two dimensions. J Comput Phys 65(2):314–343

    MathSciNet  MATH  Google Scholar 

  10. Cueto-Felgueroso L, Colominas I, Mosqueira G, Navarrina F, Casteleiro M (2004) On the Galerkin formulation of the smoothed particle hydrodynamics method. Int J Numer Methods Eng 60(9):1475–1512

    MathSciNet  MATH  Google Scholar 

  11. de Vaucorbeil A, Nguyen VP (2020) A modelling contacts with a total Lagrangian material point method. Comput Methods Appl Mech Eng (under review)

  12. de Vaucorbeil A, Nguyen VP, Hutchinson CR (2020) A total-Lagrangian material point method for solid mechanics problems involving large deformations. Comput Methods Appl Mech Eng 360:112783

    MathSciNet  MATH  Google Scholar 

  13. de Vaucorbeil A, Nguyen VP, Sinaie S, Wu JY (2020) Material point method after 25 years: theory, implementation and applications. In: Balint D, Bordas S (eds) Advances in applied mechanics, vol 53. Elsevier, Amsterdam

    Google Scholar 

  14. Dong Y, Grabe J (2018) Large scale parallelisation of the material point method with multiple GPUs. Comput Geotech 101:149–158

    Google Scholar 

  15. Fern J, Rohe A, Soga K, Alonso E (2019) The material point method for geotechnical engineering: a practical guide. CRC Press, Boca Raton

    Google Scholar 

  16. Ganzenmüller GC (2014) Smooth-Mach-dynamics package for LAMMPS. Fraunhofer Ernst-Mach Institute for High-Speed Dynamics, Freiburg im Breisgau

    Google Scholar 

  17. Geuzaine C, Remacle JF (2009) GMSH: a three-dimensional finite element mesh generator with built-in pre- and post-processing facilities. Int J Numer Methods Eng 79(11):1309–1331

    MATH  Google Scholar 

  18. Gnanasekaran B, Liu G-R, Fu Y, Wang G, Niu W, Lin T (2019) A smoothed particle hydrodynamics (SPH) procedure for simulating cold spray process—a study using particles. Surf Coat Technol 377:124812

    Google Scholar 

  19. Harlow F (1964) The particle-in-cell computing method for fluid dynamics. Methods Comput Phys 3:319–343

    Google Scholar 

  20. Huang P, Zhang X, Ma S, Wang H (2008) Shared memory OpenMP parallelization of explicit MPM and its application to hypervelocity impact. Comput Model Eng Sci 38(2):119–147

    MATH  Google Scholar 

  21. Jiang C, Schroeder C, Teran J, Stomakhin A, Selle A (2016) The material point method for simulating continuum materials. In ACM SIGGRAPH 2016 courses. ACM, p 24

  22. Johnson GR, Cook WH (1985) Fracture characteristics of three metals subjected to various strains, strain rates, temperatures and pressures. Eng Fract Mech 21(1):31–48

    Google Scholar 

  23. Johnso SG (2012) PyPlot module for Julia. https://github.com/stevengj/PyPlot.jl

  24. Lemaitre J (1985) A continuous damage mechanics model for ductile fracture. J Eng Mater Technol 107(1):83–89. https://doi.org/10.1115/1.3225775

    Article  Google Scholar 

  25. Lemiale V, Nairn J, Hurmane A (2010) Material point method simulation of equal channel angular pressing involving large plastic strain and contact through sharp corners. Comput Model Eng Sci 70(1):41–66

    Google Scholar 

  26. Leroch S, Eder SJ, Ganzenmüller G, Murillo L, Ripoll MR (2018) Development and validation of a meshless 3D material point method for simulating the micro-milling process. J Mater Process Technol 262:449–458

    Google Scholar 

  27. Li W, Yang K, Yin S, Guo X (2016) Numerical analysis of cold spray particles impacting behavior by the Eulerian method: a review. J Therm Spray Technol 25(8):1441–1460

    Google Scholar 

  28. Li X, Sulsky D (2000) A parallel material-point method with application to solid mechanics. In: Ingber CBM, Power H (eds) Cmputational science-ICCS 2002, volume 2331 of applications of high-performance computing in engineering VI. WIT Press, Southampton

    Google Scholar 

  29. Lobovskỳ L, Botia-Vera E, Castellana F, Mas-Soler J, Souto-Iglesias A (2014) Experimental investigation of dynamic pressure loads during dam break. J Fluids Struct 48:407–434

    Google Scholar 

  30. Ma ZT, Zhang X, Huang P (2010) An object-oriented MPM framework for simulation of large deformation and contact of numerous grains. Comput Model Eng Sci 55(1):61–87

    Google Scholar 

  31. Mason LS (2015) Modelling cold spray splat morphologies using smoothed particle hydrodynamics. PhD thesis, Heriot-Watt University

  32. Mast C, Mackenzie-Helnwein P, Arduino P, Miller G, Shin W (2012) Mitigating kinematic locking in the material point method. J Comput Phys 231(16):5351–5373

    MathSciNet  Google Scholar 

  33. Monaghan JJ (1994) Simulating free surface flows with SPH. J Comput Phys 110(2):399–406

    MATH  Google Scholar 

  34. Nairn JA (2003) Material point method calculations with explicit cracks. Comput Model Eng Sci 4(6):649–663

    MATH  Google Scholar 

  35. Nguyen VP, Nguyen CT, Rabczuk T, Natarajan S (2017) On a family of convected particle domain interpolations in the material point method. Finite Elem Anal Des 126:50–64

    MathSciNet  Google Scholar 

  36. Nguyen VP, de Vaucorbeil A, Nguyen-Thanh C, Mandal TK (2020) A generalized particle in cell method for explicit solid dynamics. Comput Methods Appl Mech Eng 371:113308

    MathSciNet  MATH  Google Scholar 

  37. Parker S (2002) A component-based architecture for parallel multi-physics PDE simulation. In: Sloot P, Hoekstra A, Tan C, Dongarra J (eds) Computational science—ICCS 2002, volume 2331 of lecture notes in computer science. Springer, Berlin, pp 719–734

    Google Scholar 

  38. Parker S, Guilkey J, Harman T (2006) A component-based parallel infrastructure for the simulation of fluid–structure interaction. Eng Comput 22(3–4):277–292

    Google Scholar 

  39. Plimpton S (1995) Fast parallel algorithms for short-range molecular dynamics. J Comput Phys 117(1):1–19

    MATH  Google Scholar 

  40. Rabczuk T, Belytschko T (2004) Cracking particles: a simplified meshfree method for arbitrary evolving cracks. Int J Numer Methods Eng 61(13):2316–2343

    MATH  Google Scholar 

  41. Ruggirello KP, Schumacher SC (2014) A comparison of parallelization strategies for the material point method. In: 11th world congress on computational mechanics, pp 20–25

  42. Sadeghirad A, Brannon RM, Burghardt J (2011) A convected particle domain interpolation technique to extend applicability of the material point method for problems involving massive deformations. Int J Numer Methods Eng 86(12):1435–1456

    MathSciNet  MATH  Google Scholar 

  43. Sadeghirad A, Brannon R, Guilkey J (2013) Second-order convected particle domain interpolation (CPDI2) with enrichment for weak discontinuities at material interfaces. Int J Numer Methods Eng 95(11):928–952

    MathSciNet  MATH  Google Scholar 

  44. Silling SA (2000) Reformulation of elasticity theory for discontinuities and long-range forces. J Mech Phys Solids 48(1):175–209

    MathSciNet  MATH  Google Scholar 

  45. Sinaie S, Nguyen VP, Nguyen CT, Bordas S (2017) Programming the material point method in Julia. Adv Eng Softw 105:17–29

    Google Scholar 

  46. Sinaie S, Ngo TD, Nguyen VP, Rabczuk T (2018) Validation of the material point method for the simulation of thin-walled tubes under lateral compression. Thin-Walled Struct 130:32–46

    Google Scholar 

  47. Sinaie S, Ngo TD, Kashani A, Whittaker AS (2019) Simulation of cellular structures under large deformations using the material point method. Int J Impact Eng 134:103385

    Google Scholar 

  48. Stomakhin A, Schroeder C, Chai L, Teran J, Selle A (2013) A material point method for snow simulation. ACM Trans Graph 32(4):1

    MATH  Google Scholar 

  49. Stukowski A (2009) Visualization and analysis of atomistic simulation data with ovito-the open visualization tool. Model Simul Mater Sci Eng 18(1):015012

    MathSciNet  Google Scholar 

  50. Sulsky D, Gong M (2016) Improving the material-point method. In: Pandolfi A, Weinberg K (eds) Innovative numerical approaches for multi-field and multi-scale problems. Springer, Berlin, pp 217–240

    Google Scholar 

  51. Sulsky D, Kaul A (2004) Implicit dynamics in the material-point method. Comput Methods Appl Mech Eng 193(12–14):1137–1170

    MathSciNet  MATH  Google Scholar 

  52. Sulsky D, Schreyer H (1996) Axisymmetric form of the material point method with applications to upsetting and Taylor impact problems. Comput Methods Appl Mech Eng 139:409–429

    MATH  Google Scholar 

  53. Sulsky D, Schreyer HL (1996) Axisymmetric form of the material point method with applications to upsetting and Taylor impact problems. Comput Methods Appl Mech Eng 139(1–4):409–429. https://doi.org/10.1016/s0045-7825(96)01091-2

    Article  MATH  Google Scholar 

  54. Sulsky D, Chen Z, Schreyer H (1994) A particle method for history-dependent materials. Comput Methods Appl Mech Eng 5:179–196

    MathSciNet  MATH  Google Scholar 

  55. Sulsky D, Zhou S, Schreyer HL (1995) Application of a particle-in-cell method to solid mechanics. Comput Phys Commun 87(1–2):236–252

    MATH  Google Scholar 

  56. Sun Z, Li H, Gan Y, Liu H, Huang Z, He L (2018) Material point method and smoothed particle hydrodynamics simulations of fluid flow problems: a comparative study. Progr Comput Fluid Dyn Int J (PCFD) 18(1):1–18

    MathSciNet  Google Scholar 

  57. Wilkins ML (1999) Computer simulation of dynamic phenomena. Springer, Berlin

    MATH  Google Scholar 

  58. Wobbes E, Möller M, Galavi V, Vuik C (2019) Conservative Taylor least squares reconstruction with application to material point methods. Int J Numer Methods Eng 117(3):271–290

    MathSciNet  Google Scholar 

  59. Yin S, Wang X-F, Xu B-P, Li W-Y (2010) Examination on the calculation method for modeling the multi-particle impact process in cold spraying. J Therm Spray Technol 19(5):1032–1041

    Google Scholar 

Download references

Acknowledgements

The first author gratefully acknowledges the financial support of the Australian Research Council (ARC) Training Centre in Alloy Innovation for Mining Efficiency (IC160100036). The second author (V.P. Nguyen) thanks the funding support from the Australian Research Council via DECRA Project DE160100577.

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Alban de Vaucorbeil.

Ethics declarations

Conflict of interest

On behalf of all authors, the corresponding author states that there is no conflict of interest.

Additional information

Publisher's Note

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

A Input file for the two-disk collision problem

A Input file for the two-disk collision problem

The input file used to simulate the two-disk collision problem is given in Listing 2.

figure nfigure n

Rights and permissions

Reprints and permissions

About this article

Check for updates. Verify currency and authenticity via CrossMark

Cite this article

de Vaucorbeil, A., Nguyen, V.P. & Nguyen-Thanh, C. Karamelo: an open source parallel C++ package for the material point method. Comp. Part. Mech. 8, 767–789 (2021). https://doi.org/10.1007/s40571-020-00369-8

Download citation

  • Received:

  • Revised:

  • Accepted:

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s40571-020-00369-8

Keywords

Navigation