epSFEM: A Julia-Based Software Package of Parallel Incremental Smoothed Finite Element Method (S-FEM) for Elastic-Plastic Problems
Abstract
:1. Introduction
2. Background
2.1. Smoothed Finite Element Method (S-FEM)
2.1.1. Overview of the S-FEM
2.1.2. Workflow of the ES-FEM
2.2. The Julia Language
3. The Implementation of Package epSFEM
3.1. Overview
3.2. Preprocessing
3.2.1. Mesh Generation
3.2.2. Construction of the Smoothing Domain
3.3. Solver
3.3.1. Assembly of Elastic Stiffness Matrix
Algorithm 1 Parallel calculation and assembly of the elastic stiffness matrix |
|
3.3.2. Assembly of the Tangent Stiffness Matrix
Algorithm 2 Parallel implementation of implicit Von Mises constitutive integral algorithm |
|
3.3.3. Solution of System of Equations
Algorithm 3 Newton iteration terminates judgment |
|
3.3.4. Update of Hardening Variable and Plastic Strain
3.4. Postprocessing
4. Validation and Evaluation of epSFEM
4.1. Validation of the Accuracy of epSFEM
4.2. Evaluation of the Efficiency of epSFEM
5. Discussion
5.1. Comprehensive Evaluation of epSFEM
5.1.1. Computational Accuracy
5.1.2. Computational Efficiency
5.2. Comparison with Other S-FEM Programs
5.3. Outlook and Future Work
6. Conclusions
Author Contributions
Funding
Institutional Review Board Statement
Informed Consent Statement
Data Availability Statement
Acknowledgments
Conflicts of Interest
Abbreviations
COO | COOrdinate |
CPU | Central Processing Unit |
CSC | Compressed Sparse Column |
CS-FEM | Cell-based Smoothed Finite Element Method |
CSR | Compressed Sparse Row |
EFG | Element Free Galerkin |
ES-FEM | Edge-based Smoothed Finite Element Method |
FEM | Finite Element Method |
FS-FEM | Face-based Smoothed Finite Element Method |
GPU | Graphics Processing Unit |
MLPG | Meshless Local Petrov-Galerkin |
MPM | Material Point Method |
NS-FEM | Node-based Smoothed Finite Element Method |
PDEs | Partial Differential Equations |
RPIM | Radial Point Interpolation Method |
S-FEM | Smoothed Finite Element Method |
References
- Xiao, L.; Mei, G.; Xi, N.; Piccialli, F. Julia Language in Computational Mechanics: A New Competitor. Arch. Comput. Methods Eng. 2021, 29, 1713–1726. [Google Scholar] [CrossRef]
- Xu, N.; Mei, G.; Qin, J.; Li, Y.; Xu, L. GeoMFree3D: A package of meshfree local Radial Point Interpolation Method (RPIM) for geomechanics. Comput. Math. Appl. 2021, 81, 113–132. [Google Scholar] [CrossRef]
- Vizjak, J.; Bekovic, M.; Jesenik, M.; Hamler, A. Development of a Magnetic Fluid Heating FEM Simulation Model with Coupled Steady State Magnetic and Transient Thermal Calculation. Mathematics 2021, 9, 2561. [Google Scholar] [CrossRef]
- Li, Y.C.; Dang, S.N.; Li, W.; Chai, Y.B. Free and Forced Vibration Analysis of Two-Dimensional Linear Elastic Solids Using the Finite Element Methods Enriched by Interpolation Cover Functions. Mathematics 2022, 10, 456. [Google Scholar] [CrossRef]
- Liu, G.R. Meshfree Methods: Moving Beyond the Finite Element Method, 2nd ed.; CRC Press: Boca Raton, FL, USA, 2009. [Google Scholar]
- Liu, G.R. An Overview on Meshfree Methods: For Computational Solid Mechanics. Int. J. Comput. Methods 2016, 13, 1630001. [Google Scholar] [CrossRef]
- Zeng, W.; Liu, G.R. Smoothed Finite Element Methods (S-FEM): An Overview and Recent Developments. Arch. Comput. Methods Eng. 2018, 25, 397–435. [Google Scholar] [CrossRef]
- Liu, G.R.; Zhang, G.Y. Smoothed Point Interpolation Methods: G Space Theory and Weakened Weak Forms; World Scientific: Singapore, 2013. [Google Scholar]
- Ding, R.; Shen, Q.; Yao, Y. The element-free Galerkin method for the dynamic Signorini contact problems with friction in elastic materials. Appl. Math. Comput. 2022, 415, 126696. [Google Scholar] [CrossRef]
- Liu, Z.; Wei, G.; Qin, S.; Wang, Z. The elastoplastic analysis of functionally graded materials using a meshfree RRKPM. Appl. Math. Comput. 2022, 413, 126651. [Google Scholar] [CrossRef]
- Liu, G.R.; Trung, N.T. Smoothed Finite Element Methods; CRC Press: Boca Raton, FL, USA, 2016. [Google Scholar]
- Cui, X.Y.; Liu, G.R.; Li, G.Y.; Zhang, G.Y.; Sun, G.Y. Analysis of elastic-plastic problems using edge-based smoothed finite element method. Int. J. Press. Vessel. Pip. 2009, 86, 711–718. [Google Scholar] [CrossRef]
- Cazes, F.; Meschke, G. An edge-based smoothed finite element method for 3D analysis ofsolid mechanics problems. Int. J. Numer. Methods Eng. 2013, 94, 715–739. [Google Scholar] [CrossRef]
- Liu, G.R.; Nguyen-Thoi, T.; Lam, K.Y. An edge-based smoothed finite element method (ES-FEM) for static, free and forced vibration analyses of solids. J. Sound Vib. 2009, 320, 1100–1130. [Google Scholar] [CrossRef]
- Nguyen-Thoi, T.; Phung-Van, P.; Rabczuk, T.; Nguyen-Xuan, H.; Le-Van, C. Free and forced vibration analysis using the n-sided polygonal cell-based smoothed finite element method (nCS-FEM). Int. J. Comput. Methods 2013, 10, 1340008. [Google Scholar] [CrossRef]
- Tian, F.; Tang, X.; Xu, T.; Li, L. An adaptive edge-based smoothed finite element method (ES-FEM) for phase-field modeling of fractures at large deformations. Comput. Methods Appl. Mech. Eng. 2020, 372, 113376. [Google Scholar] [CrossRef]
- Cui, X.Y.; Liu, G.R.; Li, G.Y.; Zhao, X.; Nguyen, T.T.; Sun, G.Y. A smoothed finite element method (SFEM) for linear and geometrically nonlinear analysis of plates and shells. Comput. Model. Eng. Sci. 2008, 28, 109–125. [Google Scholar]
- Zhang, Z.Q.; Liu, G.R.; Khoo, B.C. Immersed smoothed finite element method for two dimensional fluid–structure interaction problems. Int. J. Numer. Methods Eng. 2012, 90, 1292–1320. [Google Scholar] [CrossRef]
- He, Z.C.; Liu, G.R.; Zhong, Z.H.; Zhang, G.Y.; Cheng, A.G. Coupled analysis of 3D structural-acoustic problems using the edge-based smoothed finite element method/finite element method. Finite Elem. Anal. Des. 2010, 46, 1114–1121. [Google Scholar] [CrossRef]
- Li, E.; Zhang, Z.; He, Z.C.; Xu, X.; Liu, G.R.; Li, Q. Smoothed finite element method with exact solutions in heat transfer problems. Int. J. Heat Mass Transf. 2014, 78, 1219–1231. [Google Scholar] [CrossRef]
- Jiang, C.; Zhang, Z.Q.; Liu, G.R.; Han, X.; Zeng, W. An edge-based/node-based selective smoothed finite element method using tetrahedrons for cardiovascular tissues. Eng. Anal. Bound. Elem. 2015, 59, 62–77. [Google Scholar] [CrossRef]
- Lee, K.; Lim, J.H.; Sohn, D.; Im, S. A three-dimensional cell-based smoothed finite element method for elasto-plasticity. J. Mech. Sci. Technol. 2015, 29, 611–623. [Google Scholar] [CrossRef]
- Liu, G.R.; Nguyen-Thoi, T.; Nguyen-Xuan, H.; Lam, K.Y. A node-based smoothed finite element method (NS-FEM) for upper bound solutions to solid mechanics problems. Comput. Struct. 2009, 87, 14–26. [Google Scholar] [CrossRef]
- Li, Y.; Liu, G. A novel node-based smoothed finite element method with linear strain fields for static, free and forced vibration analyses of solids. Appl. Math. Comput. 2019, 352, 30–58. [Google Scholar] [CrossRef]
- Nguyen-Thoi, T.; Liu, G.R.; Lam, K.Y.; Zhang, G.Y. A face-based smoothed finite element method (FS-FEM) for 3D linear and geometrically non-linear solid mechanics problems using 4-node tetrahedral elements. Int. J. Numer. Methods Eng. 2009, 78, 324–353. [Google Scholar] [CrossRef]
- Chen, L.; Rabczuk, T.; Bordas, S.P.A.; Liu, G.R.; Zeng, K.Y.; Kerfriden, P. Extended finite element method with edge-based strain smoothing (ESm-XFEM) for linear elastic crack growth. Comput. Methods Appl. Mech. Eng. 2012, 209, 250–265. [Google Scholar] [CrossRef]
- Nguyen-Xuan, H.; Liu, G.R. An edge-based smoothed finite element method softened with a bubble function (bES-FEM) for solid mechanics problems. Comput. Struct. 2013, 128, 14–30. [Google Scholar] [CrossRef]
- Xu, X.; Gu, Y.; Liu, G. A Hybrid smoothed finite element method (H-SFEM) to solid mechanics problems. Int. J. Comput. Methods 2013, 10, 1340011. [Google Scholar] [CrossRef]
- Zeng, W.; Liu, G.R.; Li, D.; Dong, X.W. A smoothing technique based beta finite element method (beta FEM) for crystal plasticity modeling. Comput. Struct. 2016, 162, 48–67. [Google Scholar] [CrossRef]
- Dudzinski, M.; Rozgić, M.; Stiemer, M. oFEM: An object oriented finite element package for Matlab. Appl. Math. Comput. 2018, 334, 117–140. [Google Scholar] [CrossRef]
- Gao, K.; Mei, G.; Piccialli, F.; Cuomo, S.; Tu, J.; Huo, Z. Julia language in machine learning: Algorithms, applications, and open issues. Comput. Sci. Rev. 2020, 37, 100254. [Google Scholar] [CrossRef]
- Bezanson, J.; Edelman, A.; Karpinski, S.; Shah, V.B. Julia: A Fresh Approach to Numerical Computing. SIAM Rev. 2017, 59, 65–98. [Google Scholar] [CrossRef]
- Frondelius, T.; Aho, J. JuliaFEM-open source solver for both industrial and academia usage. Raken. Mek. 2017, 50, 229–233. [Google Scholar] [CrossRef]
- Sinaie, S.; Nguyen, V.P.; Nguyen, C.T.; Bordas, S. Programming the material point method in Julia. Adv. Eng. Softw. 2017, 105, 17–29. [Google Scholar] [CrossRef]
- Huo, Z.; Mei, G.; Xu, N. juSFEM: A Julia-based open-source package of parallel Smoothed Finite Element Method (S-FEM) for elastic problems. Comput. Math. Appl. 2021, 81, 459–477. [Google Scholar] [CrossRef]
- Pawar, S.; San, O. CFD Julia: A Learning Module Structuring an Introductory Course on Computational Fluid Dynamics. Fluids 2019, 4, 159. [Google Scholar] [CrossRef]
- Heitzinger, C.; Tulzer, G. Julia and the numerical homogenization of PDEs. In Proceedings of the 1st Workshop on High Performance Technical Computing Dynamic Languages, New Orleans, LA, USA, 17 November 2014; pp. 36–40. [Google Scholar] [CrossRef]
- Kemmer, T.; Rjasanow, S.; Hildebrandt, A. NESSie.jl–Efficient and intuitive finite element and boundary element methods for nonlocal protein electrostatics in the Julia language. J. Comput. Sci. 2018, 28, 193–203. [Google Scholar] [CrossRef]
- Fairbrother, J.; Nemeth, C.; Rischard, M.; Brea, J.; Pinder, T. GaussianProcesses.jl: A Nonparametric Bayes Package for the Julia Language. J. Stat. Softw. 2022, 102, 1–36. [Google Scholar] [CrossRef]
- Pardiso.jl. 2021. Available online: https://github.com/JuliaSparse/Pardiso.jl (accessed on 10 February 2021).
- The Julia Programming Language. 2021. Available online: https://julialang.org/ (accessed on 5 January 2021).
- Huo, Z.; Mei, G.; Casolla, G.; Giampaolo, F. Designing an efficient parallel spectral clustering algorithm on multi-core processors in Julia. J. Parallel Distrib. Comput. 2020, 138, 211–221. [Google Scholar] [CrossRef]
- Julia 1.6 Documentation. 2021. Available online: https://docs.julialang.org/en/v1/ (accessed on 10 May 2021).
- Paraview. 2019. Available online: https://www.paraview.org/ (accessed on 28 May 2021).
- Li, Y.; Yue, J.H.; Niu, R.P.; Liu, G.R. Automatic mesh generation for 3D smoothed finite element method (S-FEM) based on the weaken-weak formulation. Adv. Eng. Softw. 2016, 99, 111–120. [Google Scholar] [CrossRef]
- Dodds, R.H., Jr. Numerical techniques for plasticity computations in finite element analysis. Comput. Struct. 1987, 26, 767–779. [Google Scholar] [CrossRef]
- Blaheta, R. Convergence of Newton-type methods in incremental return mapping analysis of elasto-plastic problems. Comput. Methods Appl. Mech. Eng. 1997, 147, 167–185. [Google Scholar] [CrossRef]
- De Souza Neto, E.A.; Peri, D.; Owen, D.R.J. Computational Methods for Plasticity; Wiley: Hoboken, NJ, USA, 2008. [Google Scholar]
- Čermák, M.; Sysala, S.; Valdman, J. Efficient and flexible MATLAB implementation of 2D and 3D elastoplastic problems. Appl. Math. Comput. 2019, 355, 595–614. [Google Scholar] [CrossRef]
- Carstensen, C.; Klose, R. Elastoviscoplastic finite element analysis in 100 lines of Matlab. J. Numer. Math. 2002, 10, 157–192. [Google Scholar] [CrossRef]
- Sysala, S. Properties and simplifications of constitutive time-discretized elastoplastic operators. ZAMM-J. Appl. Math. Mech./Z. für Angew. Math. Und Mech. 2014, 94, 233–255. [Google Scholar] [CrossRef]
- WriteVTK.jl. 2021. Available online: https://github.com/jipolanco/WriteVTK.jl (accessed on 10 June 2021).
- TimerOutputs.jl. 2021. Available online: https://github.com/KristofferC/TimerOutputs.jl (accessed on 10 August 2021).
- Ma, Z.; Mei, G. Deep learning for geological hazards analysis: Data, models, applications, and opportunities. Earth-Sci. Rev. 2021, 223, 103858. [Google Scholar] [CrossRef]
- Mei, G.; Xu, N.; Qin, J.; Wang, B.; Qi, P. A Survey of Internet of Things (IoT) for Geohazard Prevention: Applications, Technologies, and Challenges. IEEE Internet Things J. 2020, 7, 4371–4386. [Google Scholar] [CrossRef]
- Rudy, S.; Alla, A.; Brunton, S.; Kutz, J. Data-driven identification of parametric partial differential equations. SIAM J. Appl. Dyn. Syst. 2019, 18, 643–660. [Google Scholar] [CrossRef]
- Raissi, M.; Perdikaris, P.; Karniadakis, G. Physics-informed neural networks: A deep learning framework for solving forward and inverse problems involving nonlinear partial differential equations. J. Comput. Phys. 2019, 378, 686–707. [Google Scholar] [CrossRef]
- Haghighat, E.; Raissi, M.; Moure, A.; Gomez, H.; Juanes, R. A physics-informed deep learning framework for inversion and surrogate modeling in solid mechanics. Comput. Methods Appl. Mech. Eng. 2021, 379, 113741. [Google Scholar] [CrossRef]
- Jacobs, B.; Celik, T. Unsupervised document image binarization using a system of nonlinear partial differential equations. Appl. Math. Comput. 2022, 418, 126806. [Google Scholar] [CrossRef]
Node Number | 1 | 2 | 3 | Node Attributes |
---|---|---|---|---|
1 | 1.0 | 0.0 | 0.0 | Field node |
2 | 0.0 | 1.0 | 0.0 | Field node |
3 | 0.0 | 0.0 | 1.0 | Field node |
A | 1/3 | 1/3 | 1/3 | Centroid of element |
g1 | 1/2 | 1/2 | 0.0 | Gauss point |
g2 | 1/6 | 4/6 | 1/6 | Gauss point |
g3 | 4/6 | 1/6 | 1/6 | Gauss point |
Node Number | 3 | 4 | 5 | 6 | Node Attributes |
---|---|---|---|---|---|
3 | 1.0 | 0.0 | 0.0 | 0.0 | Field node |
4 | 0.0 | 1.0 | 0.0 | 0.0 | Field node |
5 | 0.0 | 0.0 | 1.0 | 0.0 | Field node |
6 | 0.0 | 0.0 | 0.0 | 1.0 | Field node |
B | 1/3 | 1/3 | 1/3 | 0.0 | Centroid of element |
C | 1/3 | 0.0 | 1/3 | 1/3 | Centroid of element |
g4 | 4/6 | 1/6 | 1/6 | 0.0 | Gauss point |
g5 | 1/6 | 1/6 | 4/6 | 0.0 | Gauss point |
g6 | 1/6 | 0.0 | 4/6 | 1/6 | Gauss point |
g7 | 4/6 | 0.0 | 1/6 | 1/6 | Gauss point |
Specifications | Details |
---|---|
CPU | Intel Xeon Gold 5118 CPU |
CPU Cores | 24 |
CPU Frequency | 2.30 GHz |
CPU RAM | 128 GB |
OS | Windows 10 professional |
IDE | Visual studio Code |
Julia | Version 1.5.2 |
Mesh Models (T3) | Number of Nodes | Number of Elements |
---|---|---|
1 | 173,761 | 345,600 |
2 | 308,481 | 614,400 |
3 | 609,301 | 1,215,000 |
4 | 909,701 | 1,815,000 |
5 | 1,231,361 | 2,457,600 |
Position | Method | Relative Error | |||
---|---|---|---|---|---|
FEM-T3 | epSFEM-T3 | FEM-Q8 | FEM-T3 | epSFEM-T3 | |
0.0 m | 0.02223 m | 0.02704 m | 0.02784 m | 25.24% | 2.96% |
2.0 m | 0.02095 m | 0.02583 m | 0.02680 m | 27.92% | 3.76% |
4.0 m | 0.01787 m | 0.02217 m | 0.02423 m | 35.59% | 9.29% |
6.0 m | 0.01267 m | 0.01572 m | 0.01640 m | 29.44% | 4.33% |
8.0 m | 0.00744 m | 0.00896 m | 0.00924 m | 24.19% | 3.13% |
10.0 m | 0.00626 m | 0.00788 m | 0.00819 m | 30.83% | 3.93% |
Number of Nodes | Number of Elements | Computing Time (s) | ||
---|---|---|---|---|
Single-Core | Multi-Core (24-Core) | Parallel Speedup | ||
19,521 | 38,400 | 69.7 | 6.83 | 10.2 |
77,441 | 153,600 | 283.3 | 23.5 | 12.05 |
173,761 | 345,600 | 772.2 | 56.5 | 13.7 |
308,481 | 614,400 | 1297.6 | 87.7 | 14.8 |
609,301 | 1,215,000 | 1728.6 | 172.9 | 10.0 |
909,701 | 1,815,000 | 2546 | 251.9 | 10.1 |
1,231,361 | 2,457,600 | 3537.6 | 335 | 10.6 |
Tot /% Measured | Time | Allocation | |||||
---|---|---|---|---|---|---|---|
1256.9 s/100% | 337.83 GiB/100% | ||||||
Section | ncalls | Time | %tot | avg | alloc | %tot | avg |
solver | 1 | 1256.9 s | 100% | 1256.9 s | 337.83 GiB | 100% | 337.83 GiB |
elastic | 1 | 0.9 s | 0.07% | 0.9 s | 1.83 GiB | 0.54% | 1.83 GiB |
plastic | 1 | 1256 s | 99.93% | 1256 s | 336 GiB | 99.46% | 336 GiB |
solving | 132 | 946 s | 75.3% | 7.16 s | 62.6 GiB | 18.53% | 486 MiB |
assembly | 132 | 246 s | 19.6% | 1.86 s | 256 GiB | 75.78% | 1.94 GiB |
constitutive | 132 | 87.7 s | 6.98% | 664 ms | 62.0 MiB | 0.02% | 481 KiB |
K_tangent | 132 | 150.1 s | 11.95% | 1.14 s | 252 GiB | 74.6% | 1.91 GiB |
hardening and strain | 40 | 33.0 s | 2.62% | 824 ms | 1.03 GiB | 0.3% | 26.3 MiB |
Publisher’s Note: MDPI stays neutral with regard to jurisdictional claims in published maps and institutional affiliations. |
© 2022 by the authors. Licensee MDPI, Basel, Switzerland. This article is an open access article distributed under the terms and conditions of the Creative Commons Attribution (CC BY) license (https://creativecommons.org/licenses/by/4.0/).
Share and Cite
Zhou, M.; Qin, J.; Huo, Z.; Giampaolo, F.; Mei, G. epSFEM: A Julia-Based Software Package of Parallel Incremental Smoothed Finite Element Method (S-FEM) for Elastic-Plastic Problems. Mathematics 2022, 10, 2024. https://doi.org/10.3390/math10122024
Zhou M, Qin J, Huo Z, Giampaolo F, Mei G. epSFEM: A Julia-Based Software Package of Parallel Incremental Smoothed Finite Element Method (S-FEM) for Elastic-Plastic Problems. Mathematics. 2022; 10(12):2024. https://doi.org/10.3390/math10122024
Chicago/Turabian StyleZhou, Meijun, Jiayu Qin, Zenan Huo, Fabio Giampaolo, and Gang Mei. 2022. "epSFEM: A Julia-Based Software Package of Parallel Incremental Smoothed Finite Element Method (S-FEM) for Elastic-Plastic Problems" Mathematics 10, no. 12: 2024. https://doi.org/10.3390/math10122024
APA StyleZhou, M., Qin, J., Huo, Z., Giampaolo, F., & Mei, G. (2022). epSFEM: A Julia-Based Software Package of Parallel Incremental Smoothed Finite Element Method (S-FEM) for Elastic-Plastic Problems. Mathematics, 10(12), 2024. https://doi.org/10.3390/math10122024