doi: 10.17586/2226-1494-2019-19-5-939-946


SOFTWARE FOR DEFORMABLE SOLID MECHANICS

A. A. Popov


Read the full article  ';
Article in Russian

For citation:

Popov A.A. Software for deformable solid mechanics. Scientific and Technical Journal of Information Technologies, Mechanics and Optics, 2019, vol. 19, no. 5, pp. 939–946 (in Russian). doi: 10.17586/2226-1494-2019-19-5-939-946



Abstract

Subject of Research. The paper presents a software building method for the tasks of deformable solid mechanics. This software should guarantee high accuracy and speed of calculations, as well as simple preparation of the initial data and data processing even for an inexperienced user. The software was developed using the open source GMSH mesh generator application programming interface (API) and the Eigen mathematical library. Method. The developed software consists of three modules: GMSH_API, InputFile, FEMSolver and a database. The GMSH_API module, which prepares the finite element model, was written using the GMSH mesh generator API. The InputFile module describes methods for interacting with a previously created database, that provides quick and easy preparation of the input file needed to start the calculation. Numerical calculation by the finite element method is implemented in the FEMSolver module. The Eigen mathematical library was actively used for its implementation, and it can build sparse matrices that do not store zero elements in memory. This possibility obviates the need for additional transformations of the global stiffness matrix used in the finite element method. Main Results. The Kirsch task was solved as an example in a plane-stressed setting: a distributed tensile load was applied to the upper edge of a steel plate, with a round hole in the center, the lower edge of the plate was rigidly fixed. After calculating and obtaining the von Mises stress distribution field in the plate, we observe an error of 1.72% relative to the analytical solution. Such error value is considered low, therefore, the developed software not only facilitates the preparation of data for calculation, but also guarantees high accuracy of the obtained results. Practical Relevance. Commercial software for solving the problems of deformable solid mechanics, such as ANSYS Mechanical APDL, Abaqus, etc., is very expensive. Free software is primarily focused on researchers and, as a rule, is difficult for learning by an ordinary user-engineer, and the compromise version of the PDE Toolbox for MATHLAB is applicable only for tasks in a two-dimensional area and only supports a linear triangular finite element. However, the application of GMSH API and the Eigen library provides for creation of an easy-to-use but powerful tool for solving the problems of deformable solid mechanics.


Keywords: АPI, GMSH, databases, MySQL, Eigen, C++, deformable solids mechanics

Acknowledgements. This work was supported by the Russian Science Foundation (RSF) (project No. 16-19-10264).

References
1. Anufriev I.E. The usage of the PDE Toolbox in the investigation on certain sections of computational mathematics. Proc. 3rd scientific conference “Designing Engineering and Scientific Applications in the MATLAB Environment”, October 23-26, 2007, pp. 42–54. (in Russian)
2. Kurepin M.P., Serbinovskiy M.Yu. Efficient methods of finite-el- ement analysis of energetic machinery complex structures. Modern high technologies, 2017, no. 10, pp. 19–25. (in Russian)
3. Geuzaine С., Remacle J.-F. Gmsh: A 3-D finite element mesh generator with built-in pre- and post-processing facilities. International Journal for Numerical Methods in Engineering, 2009, vol. 79, no. 11, pp. 1309–1331.
doi: 10.1002/nme.2579
4. Geuzaine С., Remacle J. Gmsh Reference Manual, 2001, March, 252 p.
5. Avdis A., Mouradian S.L. A Gmsh tutorial. Imperial College London, Applied Modelling and Computation Group (AMCG), 2012, 29 p.
6. Podgorsky S. Coding the FEM of the calculator in less than 180 lines of code. Habr. Available at: https://habr.com/ru/ post/271723/ (accessed: 03.06.2019). (in Russian)
7. Nikekhin A.A. The basics of C ++ for modeling and calcula- tions. Part 2. Libraries for Scientific Computing. Handbook. St. Petersburg, ITMO University, 2016, pp. 15–23. (in Russian)
8. Mistrik I., Bahsoon R., Eeles P., Roshandel R., Stal M. Relating System Quality and Software Architecture. Morgan Kaufman, 2014, 420 p.
9. Lui G.R., Quek S.S. The Finite Element Method: A Practical Course. Butterworth-Heinemann, 2003, 384 p.
10. Guo J., Ding F., Jia X., Yan D-M. Automatic and high-quality surface mesh generation for CAD models. Computer-Aided Design, 2019, vol. 109, pp. 49–59. doi: 10.1016/j.cad.2018.12.005
11. Lattanzi M., Henry S. Software reuse using C++ classes: The question of inheritance. Journal of Systems and Software, 1998, vol. 41, no. 2, pp. 127–132. doi: 10.1016/S0164-1212(97)10013-9
12. Harrington J.L. Relational Database Design and Implementation. 4th ed. Morgan Kaufman, 2016, 712 p.
13. Fedoruk V.G. Concepts on SQL. Handbook – Bauman MSTU. Available at: http://rk6.bmstu.ru/electronic_book/iosapr/sql/ sql_tutor.html/ (accessed: 03.06.2019). (in Russian)
14. Harrington J.L. SQL Clearly Explained. A volume in The Morgan Kaufmann Series in Data Management Systems. 3rd ed. Morgan Kaufman, 2003, 352 p.
15. Donahoo M.J., Speegle G.D. SQL: Practical Guide for Developers. A volume in The Morgan Kaufmann Practical Guide Series. Morgan Kaufman, 2005, 272 p.
16. Zienkiewiez O.C. The finite element method in engineering science. London, 1971.
17. Rao S.S. The Finite Element Method in Engineering. Butterworth-Heinemann, 2018, 782 p.
18. Kaplun A.B., Morozov E.M., Shamraeva M.A. ANSYS in the hands of an engineer. Moscow, Librocom, 2017, 269 p. (in Russian)
19. Thompson M., Thompson J. ANSYS Mechanical APDL for Finite Element Analysis. Butterworth-Heinemann, 2017, 466 p.
 


Creative Commons License

This work is licensed under a Creative Commons Attribution-NonCommercial 4.0 International License
Copyright 2001-2024 ©
Scientific and Technical Journal
of Information Technologies, Mechanics and Optics.
All rights reserved.

Яндекс.Метрика