Skip to main navigation Skip to search Skip to main content

Parallel implementation of FEM Solver for shared memory using OpenMP

  • Rabia Majeed
  • , Ramisha Farrukh
  • , Omer Riaz
  • , Sikandar Ali*
  • , Ali Samad
  • , Mukhtaj Khan*
  • *Corresponding author for this work

Research output: Contribution to journalArticlepeer-review

Abstract

FEM solver is designed for shared memory architectures using an object-oriented paradigm. The FEM solver is divided into five major sections; these are a collection of mesh data, creating an object for each finite element, application of boundary conditions, assembly of a linear system of equations, and lastly a solver to calculate the solution for the system of linear equations. This work has focused on the study of multiple parallel implementations for each stage of the FEM solver. All the stages are implemented in C++ while each stage parallel regions are implemented using OpenMP. The data structures used in this work are also C++ objects implemented using STL containers, like sparse matrix used is constructed as two-layer nested binary trees where each internal tree represents a sparse row in a global matrix. These structures are used in every stage and have never been converted into more conventional matrix structures like CSR, etc. Finally, this work has shown the contribution of time for each stage and the amount of speedup achieved for them. Using 16 threads, the solver has attained a speedup of 5.21 for mesh having 2099201 unknowns and Poisson’s equation. Two linear solvers Jacobi and CG are used which were consuming 95% of total solver time. The novelty of our work lies in the fact that this work focused on the implementation of Finite Element Application (FEA) using object-oriented programming for a shared memory architecture using OpenMP without considering conventional techniques of application speedup and specialized data structures like CSR, etc.
Original languageEnglish
Article number2375102
Number of pages13
JournalMathematical Problems in Engineering
Volume2022
Issue number1
DOIs
Publication statusPublished - 19 Mar 2022
Externally publishedYes

Fingerprint

Dive into the research topics of 'Parallel implementation of FEM Solver for shared memory using OpenMP'. Together they form a unique fingerprint.

Cite this