Abstract
The Matlab code presented in the previous chapter is best suited for people new to the MPM who want to learn the method. This code is flexible, but slow. So for long term research, a better code is needed. This chapter presents the design and implementation of Karamelo—our open source multi-CPU/GPU parallel C++ package for the material point method. Karamelo has been designed to retain the flexibility of small codes while being extremely fast and powerful (specially with the recently added support of GPUs).
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
References
Assadi, H., Gärtner, F., Stoltenhoff, T., Kreye, H.: Bonding mechanism in cold gas spraying. Acta Mater. 51(15), 4379–4394 (2003)
Carter Edwards, H., Trott, C.R., Sunderland, D.: Kokkos: enabling manycore performance portability through polymorphic memory access patterns. J. Parallel Distrib. Comput. 74(12), 3202–3216 (2014). ISSN 0743-7315. https://doi.org/10.1016/j.jpdc.2014.07.003. http://www.sciencedirect.com/science/article/pii/S0743731514001257. Domain-Specific Languages and High-Level Frameworks for High-Performance Computing
de Vaucorbeil, A., Nguyen, V.-P., Hutchinson, C.R.: A total-Lagrangian material point method for solid mechanics problems involving large deformations. Comput. Methods Appl. Mech. Eng. 360, 112783 (2020). https://doi.org/10.1016/j.cma.2019.112783
de Vaucorbeil, A., Nguyen, V.P.: Karamelo: an open source parallel C++ package for the material point method. Comput. Particle Mech. 8, 767–789 (2021a)
Dong, Y., Grabe, J.: Large scale parallelisation of the material point method with multiple gpus. Comput. Geotech. 101, 149–158 (2018)
Geuzaine, C., Remacle, J.F.: Gmsh: a three-dimensional finite element mesh generator with built-in pre- and post-processing facilities. Int. J. Numer. Meth. Eng. 79(11), 1309–1331 (2009)
Gnanasekaran, B., Liu, G.-R., Yao, F., Wang, G., Niu, W., Lin, T.: A smoothed particle hydrodynamics (sph) procedure for simulating cold spray process-a study using particles. Surface Coatings Technol. 377, 124812 (2019)
Gracia, F., Villard, P., Richefeu, V.: Comparison of two numerical approaches (DEM and MPM) applied to unsteady flow. Comput. Particle Mech. 1–19 (2019)
Huang, P., Zhang, X., Ma, S., Wang, H.K.: Shared memory OpenMP parallelization of explicit MPM and its application to hypervelocity impact. Comput. Model. Eng. Sci. 38(2), 119–147 (2008)
Johnson, G.R., Cook, W.H.: Fracture characteristics of three metals subjected to various strains, strain rates, temperatures and pressures. Eng. Fract. Mech. 21(1), 31–48 (1985)
Johnson, G.R., Holmquist, T.J.: Evaluation of cylinder? impact test data for constitutive model constants. J. Appl. Phys. 64(8), 3901–3910 (1988)
Li, X., Sulsky, D.: A parallel material-point method with application to solid mechanics. In: Brebbia, C.A., Ingber, M., Power, H. (eds.), Computational Science–ICCS 2002. Applications of High-Performance Computing in Engineering VI, vol. 2331. WIT Press, Southampton (2000)
Li, B., Habbal, F., Ortiz, M.: Optimal transportation meshfree approximation schemes for fluid and plastic flows. Int. J. Numer. Meth. Eng. 83(12), 1541–1579 (2010)
Li, W.Y., Yang, K., Yin, S., Guo, X.P.: Numerical analysis of cold spray particles impacting behavior by the Eulerian method: a review. J. Therm. Spray Technol. 25(8), 1441–1460 (2016)
Liang, Y., Zhang, X., Liu, Y.: An efficient staggered grid material point method. Comput. Methods Appl. Mech. Eng. 352, 85–109 (2019)
Ma, S., Zhang, X., Lian, Y., Zhou, X.: Simulation of high explosive explosion using adaptive material point method. Comput. Modeling Eng. Sci. (CMES) 39(2), 101 (2009)
Ma, Z.T., Zhang, X., Huang, P.: An object-oriented MPM framework for simulation of large deformation and contact of numerous grains. Comput. Model. Eng. Sci. 55(1), 61–87 (2010)
Mason, L.S.: Modelling cold spray splat morphologies using smoothed particle hydrodynamics. PhD thesis, Heriot-Watt University (2015)
Parker, S.G.: A component-based architecture for parallel multi-physics pde simulation. In: Sloot, P.M.A., Hoekstra, A.G., Kenneth Tan, C.J., Dongarra, J.J. (eds.), Computational Science – ICCS 2002. Lecture Notes in Computer Science, vol. 2331, pp. 719–734. Springer, Berlin (2002)
Parker, S.G., Guilkey, J., Harman, T.: A component-based parallel infrastructure for the simulation of fluid-structure interaction. Eng. Comput. 22(3–4), 277–292 (2006)
Plimpton, S.: Fast parallel algorithms for short-range molecular dynamics. J. Comput. Phys. 117(1), 1–19 (1995)
Predebon, W.W., Anderson, C.E., Walker, J.D.: Inclusion of evolutionary damage measures in Eulerian wavecodes. Comput. Mech. 7(4), 221–236 (1991)
Ruggirello, K.P., Schumacher, S.C.: A comparison of parallelization strategies for the material point method. In: 11th World Congress on Computational Mechanics, pp. 20–25 (2014)
Sinaie, S., Nguyen, V.P., Nguyen, C.T., Bordas, S.: Programming the material point method in Julia. Adv. Eng. Softw. 105, 17–29 (2017)
Stukowski, Alexander: Visualization and analysis of atomistic simulation data with ovito-the open visualization tool. Model. Simul. Mater. Sci. Eng. 18(1), 015012 (2009)
Sulsky, D., Kaul, A.: Implicit dynamics in the material-point method. Comput. Methods Appl. Mech. Eng. 193(12–14), 1137–1170 (2004)
Sulsky, D., Schreyer, H.L.: Axisymmetric form of the material point method with applications to upsetting and Taylor impact problems. Comput. Methods Appl. Mech. Eng. 139, 409–429 (1996)
Wang, X., Qiu, Y., Slattery, S.R., Fang, Y., Li, M., Zhu, S.-C., Zhu, Y., Tang, M., Manocha, D., Jiang, C.: A massively parallel and scalable multi-gpu material point method. ACM Trans. Graph. 39(4) (2020)
Wilkins, M.L., Guinan, M.W.: Impact of cylinders on a rigid boundary. J. Appl. Phys. 44(3), 1200–1206 (1973)
Wyser, E., Alkhimenkov, Y., Jaboyedoff, M., Podladchikov, Y.Y.: An explicit gpu-based material point method solver for elastoplastic problems (ep2-3de v1.0) (2021)
Yin, S., Wang, X., Bao-peng, X., Li, W.: Examination on the calculation method for modeling the multi-particle impact process in cold spraying. J. Therm. Spray Technol. 19(5), 1032–1041 (2010)
Author information
Authors and Affiliations
Corresponding author
Rights and permissions
Copyright information
© 2023 The Author(s), under exclusive license to Springer Nature Switzerland AG
About this chapter
Cite this chapter
Nguyen, V.P., Vaucorbeil, A.d., Bordas, S. (2023). Karamelo: A Multi-CPU/GPU C++ Parallel MPM Code. In: The Material Point Method. Scientific Computation. Springer, Cham. https://doi.org/10.1007/978-3-031-24070-6_7
Download citation
DOI: https://doi.org/10.1007/978-3-031-24070-6_7
Published:
Publisher Name: Springer, Cham
Print ISBN: 978-3-031-24069-0
Online ISBN: 978-3-031-24070-6
eBook Packages: Mathematics and StatisticsMathematics and Statistics (R0)