FIAT: improving performance and accuracy for high-order finite elements

Fuente: arXiv
Gespeichert in:
Bibliographische Detailangaben
Hauptverfasser: Brubeck, Pablo D., Kirby, Robert C., Laakmann, Fabian, Mitchell, Lawrence
Format: Preprint
Veröffentlicht: 2024
Schlagworte:
Online-Zugang:
Tags: Tag hinzufügen
Keine Tags, Fügen Sie den ersten Tag hinzu!
_version_ 1866909935331180544
author Brubeck, Pablo D.
Kirby, Robert C.
Laakmann, Fabian
Mitchell, Lawrence
author_facet Brubeck, Pablo D.
Kirby, Robert C.
Laakmann, Fabian
Mitchell, Lawrence
contents FIAT (the FInite element Automatic Tabulator) provides a powerful Python library for the generation and evaluation of finite element basis functions on a reference element. This release paper describes recent improvements to FIAT aimed at improving its run time and the accuracy and efficiency of code generated using FIAT-provided information. In the first category, we have greatly streamlined the implementation of orthogonal polynomials out of which finite element bases are built. The second category comprises several more advances. For one, we have built an interface to the $\texttt{recursivenodes}$ package to enable more accurate Lagrange bases at high order. We have also implemented integral-type degrees of freedom for $H(\mathrm{div})$ and $H(\mathrm{curl})$ elements, which match the mathematical definitions of the elements more closely and also avoid loss of accuracy in interpolation. More fundamentally, we have included families of simplicial quadrature rules that require many fewer quadrature points than the Stroud rules previously used in FIAT. Finally, FIAT now provides support for fast diagonalization methods, which enable fast solution algorithms at very high order. In each case, we describe the new features in FIAT and illustrate some of the gains obtained through simple numerical tests.
format Preprint
id arxiv_https___arxiv_org_abs_2408_03565
institution arXiv
publishDate 2024
record_format arxiv
spellingShingle FIAT: improving performance and accuracy for high-order finite elements
Brubeck, Pablo D.
Kirby, Robert C.
Laakmann, Fabian
Mitchell, Lawrence
Numerical Analysis
65N30, 65D05, 65D32
FIAT (the FInite element Automatic Tabulator) provides a powerful Python library for the generation and evaluation of finite element basis functions on a reference element. This release paper describes recent improvements to FIAT aimed at improving its run time and the accuracy and efficiency of code generated using FIAT-provided information. In the first category, we have greatly streamlined the implementation of orthogonal polynomials out of which finite element bases are built. The second category comprises several more advances. For one, we have built an interface to the $\texttt{recursivenodes}$ package to enable more accurate Lagrange bases at high order. We have also implemented integral-type degrees of freedom for $H(\mathrm{div})$ and $H(\mathrm{curl})$ elements, which match the mathematical definitions of the elements more closely and also avoid loss of accuracy in interpolation. More fundamentally, we have included families of simplicial quadrature rules that require many fewer quadrature points than the Stroud rules previously used in FIAT. Finally, FIAT now provides support for fast diagonalization methods, which enable fast solution algorithms at very high order. In each case, we describe the new features in FIAT and illustrate some of the gains obtained through simple numerical tests.
title FIAT: improving performance and accuracy for high-order finite elements
topic Numerical Analysis
65N30, 65D05, 65D32
url https://arxiv.org/abs/2408.03565