TY - JOUR AU - Choporov, S. V. AU - Ihnatchenko, M. S. AU - Kudin, O. V. AU - Kryvokhata, A. G. AU - Homeniuk, S. I. PY - 2021/07/10 Y2 - 2024/03/28 TI - IMPLEMENTATION OF A FINITE ELEMENT CLASS LIBRARY USING GENERALIZED PROGRAMMING JF - Radio Electronics, Computer Science, Control JA - RIC VL - IS - 2 SE - Progressive information technologies DO - 10.15588/1607-3274-2021-2-17 UR - http://ric.zntu.edu.ua/article/view/237050 SP - 164 - 173 AB - <p>Context. For computer modeling of complex objects and phenomena of various nature, in practice, the numerical finite element method is often used. Its software implementation (especially for the study of new classes of problems) is a rather laborious process. The high cost of software development makes the development of new approaches to improving the efficiency of programming and maintenance (including the addition of new functions) urgent.</p><p>Objective. The aim of the work is to create a new effective architecture of programs for finite element analysis of problems in mathematical physics, which makes it easy to expand their functionality to solve new classes of problems.</p><p>Method. A method for developing programs for finite element analysis using generalized programming is proposed, which makes it possible to significantly simplify the architecture of the software and make it more convenient for maintenance and modification by separating algorithms and data structures.</p><p>A new architecture of classes that implement finite element calculation is proposed, which makes it possible to easily expand the functionality of programs by adding new types of finite elements, methods for solving systems of linear algebraic equations, parallel computations, etc.</p><p>Results. The proposed approach was implemented in software as a class library in C ++. A number of computational experiments have been carried out, which have confirmed its efficiency in solving practical problems.</p><p>Conclusions. The developed approach can be used both to create general-purpose finite element analysis systems with an open architecture, and to implement specialized software packages focused on solving specific classes of problems (fracture mechanics, elastomers, contact interaction, etc.).</p> ER -