Publikace: Improved and vectorised matlab-based algorithms for serial and parallel implementation of finite element method in linear elasticity
Konferenční objektOmezený přístuppeer-reviewedpostprintNačítá se...
Soubory
Datum
Název časopisu
ISSN časopisu
Název svazku
Nakladatel
Latvia University of Afgriculture
Abstrakt
This paper presents two improved algorithms for efficient sequential and parallel implementation of the Finite element method (FEM) for both linear and nonlinear boundary value problems. The proposed algorithms address some weak points, such as the overuse of for-loops and serial computing caused by dependencies in constructing fundamental expressions (global stiffness matrix, mass matrix, global force vector, etc.) resulting from the finite element method. By taking advantage of the concepts of sparse matrix representation, vectorization, and the physical architecture of modern computing resources, the proposed methods are free from mesh partitioning techniques or similar approaches and enable the use of all available CPU cores/threads without synchronization. Moreover, these algorithms are also adapted to deal with meshes involving elements of any order in both 2D and 3D. Two tests from NAFEMS benchmarks are implemented in MATLAB to verify the accuracy and stability of the proposed algorithms in both serial and parallel processing. According to serial and parallel computing results, the proposed algorithms perform better than the standard sparse assembly strategy and behave linearly with the mesh size but at a smaller rate than the latter. In parallel processing, the algorithms are also demonstrated to be accurate and achieve an efficiency of at least 60% in 2D and 70% with two cores/threads when the mesh size is greater than 10,000. Moreover, the simulations revealed that the performance gap between the proposed algorithm and the classical sparse algorithm is more pronounced in 2D than in 3D due to the increase in degrees of freedom.
Popis
Klíčová slova
vectorization, sparse algorithm, finite element, parallel, MATLAB, vektorizace, prostorový algoritmus, konečný element, paralelní, MATLAB