Abstract
Elastoplasticity is observed in a wide range of materials like metals that have real-world applications. The design and optimization process of such materials depends strongly on elastoplastic analysis for the prediction of displacement and stress. However, elastoplastic simulation is computationally expensive and often requires the use of parallel computers in real-world applications like crashworthiness and metal forming. This paper presents a novel parallel framework for finite element analysis of elastoplastic problems on massively parallel Graphics Processing Units (GPUs) architecture. We propose GPU-based parallel algorithms for all expensive steps in elastoplastic analysis, namely the computation of elemental matrices and their assembly, the computation of stress using the well-known radial-return method and the computation of internal force vectors and their assembly. Since GPUs have limited memory, assembly is done directly into a sparse storage format that can be seamlessly integrated with a GPU-based linear solver. The proposed algorithms are optimized for efficient memory access and fine-grain parallelism and prefer computation over data storage and reuse. In the proposed framework, all the computations are performed on the GPU and expensive data transfers to the CPU are avoided to achieve the best performance. Numerical experiments are conducted over three benchmark examples in three dimensions (3D) considering 8-noded hexahedral elements to demonstrate the performance of the proposed framework. The comparison of execution timings with sequential CPU implementation reveals speedups in the range 20.4\(\times \)–69.7\(\times \) for computation of elemental matrices and assembly, 47.2\(\times \)–66.1\(\times \) for computation of stress using radial-return method, 53.7\(\times \)–67.3\(\times \) for computation of internal force vectors and their assembly. A comparison of wall-clock timings shows 1.4\(\times \) to 7.2\(\times \) speedup by the proposed GPU implementation. The proposed framework is able to solve up to 5.1 million degrees of freedom (DOFs) elastoplasticity problem on a single GPU.
Similar content being viewed by others
References
Valberg HS (2010) Applied Metal Forming: Including FEM Analysis. Cambridge University Press, New York
Xia L, Shih CF, Hutchinson JW (1995) A computational approach to ductile crack growth under large scale yielding conditions. J Mech Phys Solids 43(3):389–413. https://doi.org/10.1016/0022-5096(94)00069-H
Gautam SS, Dixit PM (2012) Numerical simulation of ductile fracture in cylindrical tube impacted against a rigid surface. Int J Damage Mech 21(3):341–371. https://doi.org/10.1177/1056789511398883
Deng D, Murakawa H, Liang W (2007) Numerical simulation of welding distortion in large structures. Comput Method Appl Mech Eng 196(45):4613–4627. https://doi.org/10.1016/j.cma.2007.05.023
Jones N (2011) Structural Impact, 2nd edn. Cambridge University Press, New York
Hong Y, Wang L, Zhang J, Gao Z (2020) 3D elastoplastic model for fine-grained gassy soil considering the gas-dependent yield surface shape and stress-dilatancy. J Eng Mech 146(5):04020037. https://doi.org/10.1061/(ASCE)EM.1943-7889.0001760
de Souza Neto EA, Perić D, Owen DRJ (2008) Computational methods for plasticity: theory and applications. John Wiley & Sons Ltd
Simo JC, Hughes TJR (1998) Computational inelasticity. Springer, New York
Dunne F, Petrinic N (2005) Introduction to computational plasticity. Oxford University Press, Oxford
Kim N-H (2015) Introduction to nonlinear finite element analysis. Springer, New York
Vi F, Mocellin K, Digonnet H, Perchat E, Fourment L (2018) Hybrid parallel multigrid preconditioner based on automatic mesh coarsening for 3D metal forming simulations. Int J Numer Method Eng 114(6):598–618. https://doi.org/10.1002/nme.5756
Bhardwaj M, Pierson K, Reese G, Walsh T, Day D, Alvin K, Peery J, Farhat C, Lesoinne M (2002) Salinas: A scalable software for high-performance structural and solid mechanics simulations. In: SC’02: Proceedings of the 2002 ACM/IEEE Conference on Supercomputing, pp. 35–35. https://doi.org/10.1109/SC.2002.10028. IEEE
Yusa Y, Okada H, Yamada T, Yoshimura S (2018) Scalable parallel elastic - plastic finite element analysis using a quasi-Newton method with a balancing domain decomposition preconditioner. Comput Mech 62(6):1563–1581. https://doi.org/10.1007/s00466-018-1579-4
Balay S, Abhyankar S, Adams MF, Benson S, Brown J, Brune P, Buschelman K, Constantinescu EM, Dalcin L, Dener A, Eijkhout V, Gropp WD, Hapla V, Isaac T, Jolivet P, Karpeev D, Kaushik D, Knepley MG, Kong F, Kruger S, May DA, McInnes LC, Mills RT, Mitchell L, Munson T, Roman JE, Rupp K, Sanan P, Sarich J, Smith BF, Zampini S, Zhang H, Zhang H, Zhang J (2021) PETSc Web page. https://petsc.org/
Saad Y (2003) Iterative methods for sparse linear systems, 2nd edn. Society for Industrial and Applied Mathematics, Philadelphia, USA
Czarnul P, Proficz J, Drypczewski K (2020) Survey of methodologies, approaches, and challenges in parallel programming using high-performance computing systems. Sci Program. https://doi.org/10.1155/2020/4176794
Ding K, Qin Q-H, Cardew-Hall M, Kalyanasundaram S (2008) Efficient parallel algorithms for elastic-plastic finite element analysis. Comput Mech 41(4):563–578. https://doi.org/10.1007/s00466-007-0215-5
Markopoulos A, Hapla V, Cermak M, Fusek M (2015) Massively parallel solution of elastoplasticity problems with tens of millions of unknowns using Permoncube and FLLOP packages. Appl Math Comput 267:698–710. https://doi.org/10.1016/j.amc.2014.12.097
Irina D, Matsuoka S, Toshio E (2011) GPU-based approach for elastic-plastic deformation simulations. Technical Report 12, Information Processing Society of Japan (IPSJ)
Khalevitsky YV, Burmasheva NV, Konovalov AV, Partin AS (2016) Comparative study of Krylov subspace method implementations for a GPU cluster in elastoplastic problems. AIP Conf Proc 1785(1):040024. https://doi.org/10.1063/1.4967081
He G, Wang H, Huang G, Liu H, Li G (2017) A parallel elastoplastic reanalysis based on GPU platform. Int J Comput Method 14(05):1750051. https://doi.org/10.1142/S0219876217500517
Prabhune BC, Suresh K (2020) A fast matrix-free elasto-plastic solver for predicting residual stresses in additive manufacturing. Comput-Aided Des 123:102829. https://doi.org/10.1016/j.cad.2020.102829
Wyser E, Alkhimenkov Y, Jaboyedoff M, Podladchikov YY (2021) An explicit GPU-based material point method solver for elastoplastic problems (ep2-3de v1.0). Geosci Model Dev 14(12):7749–7774. https://doi.org/10.5194/gmd-14-7749-2021
Macioł P, Płaszewski P, Banaś K (2010) 3D finite element numerical integration on GPUs. Procedia Comput Sci 1(1):1093–1100. https://doi.org/10.1016/j.procs.2010.04.121
Sanfui S, Sharma D (2017) A two-kernel based strategy for performing assembly in FEA on the graphics processing unit. In: Advances in Mechanical, Industrial, Automation and Management Systems (AMIAMS), 2017 International Conference On, pp. 1–9. IEEE
Kiran U, Sharma D, Gautam SS (2018) GPU-warp based finite element matrices generation and assembly using coloring method. J Comput Des Eng 6(4):705–718. https://doi.org/10.1016/j.jcde.2018.11.001
Sanfui S, Sharma D (2020) A three-stage graphics processing unit-based finite element analyses matrix generation strategy for unstructured meshes. Int J Numer Method Eng 121(17):3824–3848. https://doi.org/10.1002/nme.6383
Cecka C, Lew AJ, Darve E (2011) Assembly of finite element methods on graphics processors. Int J Numer Methods Eng 85(5):640–669. https://doi.org/10.1002/nme.2989
Sanfui S, Sharma D (2021) Symbolic and numeric kernel division for graphics processing unit-based finite element analysis assembly of regular meshes with modified sparse storage formats. J Comput Inform Sci Eng. https://doi.org/10.1115/1.4051123
Li R, Saad Y (2013) GPU-accelerated preconditioned iterative linear solvers. J Supercomput 63(2):443–466. https://doi.org/10.1007/s11227-012-0825-3
Anzt H, Gates M, Dongarra J, Kreutzer M, Wellein G, Köhler M (2017) Preconditioned krylov solvers on GPUs. Parall Comput 68:32–44. https://doi.org/10.1016/j.parco.2017.05.006
Kiran U, Gautam SS, Sharma D (2020) GPU-based matrix-free finite element solver exploiting symmetry of elemental matrices. Computing 102(9):1941–1965. https://doi.org/10.1007/s00607-020-00827-4
Ratnakar SK, Sanfui S, Sharma D (2021) Graphics processing unit-based element-by-element strategies for accelerating topology optimization of three-dimensional continuum structures using unstructured all-hexahedral mesh. J Comput Inform Sci Eng. https://doi.org/10.1115/1.4052892
Dixit PM, Dixit US (2015) Plasticity: fundamentals and applications. CRC Press, Boca Raton, Florida
Dalton S, Bell N, Olson L, Garland M (2014) Cusp: Generic Parallel Algorithms for Sparse Matrix and Graph Computations. Version 0.5.0. http://cusplibrary.github.io/
Anzt H, Cojean T, Flegar G, Göbel F, Grützmacher T, Nayak P, Ribizel T, Tsai YM, Quintana-Ortí ES (2022) Ginkgo: a modern linear operator algebra framework for high performance computing. ACM Trans Math Softw. https://doi.org/10.1145/3480935
Bell N, Hoberock J (2012) Thrust: A productivity-oriented library for CUDA. In: Hwu, W.-m.W. (ed.) GPU Computing Gems Jade Edition. Applications of GPU Computing Series, pp. 359–371. Morgan Kaufmann, Boston. https://doi.org/10.1016/B978-0-12-385963-1.00026-5
Georgescu S, Chow P, Okuda H (2013) GPU acceleration for fem-based structural analysis. Arch Comput Method Eng 20(2):111–121. https://doi.org/10.1007/s11831-013-9082-8
Corporation N (2022) NVIDIA CUDA C++ Programming Guide. Version 12.0. https://docs.nvidia.com/cuda/pdf/CUDA_C_Programming_Guide.pdf
Systèmes D (2017) ABAQUS 2017. Documentation. Dassault Systèmes, Rhode Island, Rhode Island
Acknowledgements
The third author gratefully acknowledges the support from SERB, DST, under projects SB/FTP/ ETA-0008/2014 and IMP/2019/000276.
Author information
Authors and Affiliations
Corresponding author
Ethics declarations
Conflict of Interest
The authors confirm that they do not have known competing interests of any kind that could influence the work reported in this paper.
Additional information
Publisher's Note
Springer Nature remains neutral with regard to jurisdictional claims in published maps and institutional affiliations.
Supplementary Information
Below is the link to the electronic supplementary material.
Rights and permissions
Springer Nature or its licensor (e.g. a society or other partner) holds exclusive rights to this article under a publishing agreement with the author(s) or other rightsholder(s); author self-archiving of the accepted manuscript version of this article is solely governed by the terms of such publishing agreement and applicable law.
About this article
Cite this article
Kiran, U., Sharma, D. & Gautam, S.S. A GPU-based framework for finite element analysis of elastoplastic problems. Computing 105, 1673–1696 (2023). https://doi.org/10.1007/s00607-023-01169-7
Received:
Accepted:
Published:
Issue Date:
DOI: https://doi.org/10.1007/s00607-023-01169-7