FEMEngine: Finite element method C++ code based on functional and template metaprogramming

Alexey Gurin, Alexey Baykin, Timofey Polyansky, Anton Krivtsov

Research output: Chapter in Book/Report/Conference proceedingConference contributionResearchpeer-review

Abstract

The paper discusses the problems of a finite element method programming. Modern C++ functional programming and template metaprogramming approach to finite element analysis is presented. This approach simplifies the implementation of an effective assembly of the stiffness matrix for a problem defined by a weak form. This method is tested by a solution of the Poisson equation on an unstructured 3D tetrahedral mesh using FEM C++ library FEMEngine developed by authors. The function which calculates the matrix is generated by higher order functions during the compilation stage. The performance of the computation is analyzed by studying of a disassembled code and by comparison with the popular open source FEM software.

Original languageEnglish
Title of host publicationProceedings - 2019 Ivannikov Ispras Open Conference, ISPRAS 2019
EditorsSergei Prokhorov
PublisherInstitute of Electrical and Electronics Engineers Inc.
Pages92-96
Number of pages5
ISBN (Electronic)9781728160559
DOIs
Publication statusPublished - Dec 2019
Event2019 Ivannikov Ispras Open Conference, ISPRAS 2019 - Moscow, Russian Federation
Duration: 5 Dec 20196 Dec 2019

Publication series

NameProceedings - 2019 Ivannikov Ispras Open Conference, ISPRAS 2019

Conference

Conference2019 Ivannikov Ispras Open Conference, ISPRAS 2019
Country/TerritoryRussian Federation
CityMoscow
Period05.12.201906.12.2019

Keywords

  • C++
  • FEM
  • Functional programming
  • Template meta programming

Fingerprint

Dive into the research topics of 'FEMEngine: Finite element method C++ code based on functional and template metaprogramming'. Together they form a unique fingerprint.

Cite this