English

Implementing a Restricted Function Space Class in Firedrake

Mathematical Software 2024-08-13 v1 Numerical Analysis Numerical Analysis

Abstract

The implementation process of a RestrictedFunctionSpace\texttt{RestrictedFunctionSpace} class in Firedrake, a Python library which numerically solves partial differential equations through the use of the finite element method, is documented. This includes an introduction to the current FunctionSpace\texttt{FunctionSpace} class in Firedrake, and the key features that it has. With the current FunctionSpace\texttt{FunctionSpace} class, the limitations of the capabilities of the solvers in Firedrake when imposing Dirichlet boundary conditions are explored, as well as what the RestrictedFunctionSpace\texttt{RestrictedFunctionSpace} class does differently to remove these issues. These will be considered in both a mathematical way, and in the code as an abstraction of the mathematical ideas presented. Finally, the benefits to the user of the RestrictedFunctionSpace\texttt{RestrictedFunctionSpace} class are considered, and demonstrated through tests and comparisons. This leads to the conclusion that in particular, the eigensolver in Firedrake is improved through the use of the RestrictedFunctionSpace\texttt{RestrictedFunctionSpace}, through the removal of eigenvalues associated with the Dirichlet boundary conditions for a system.

Cite

@article{arxiv.2408.05217,
  title  = {Implementing a Restricted Function Space Class in Firedrake},
  author = {Emma Rothwell},
  journal= {arXiv preprint arXiv:2408.05217},
  year   = {2024}
}

Comments

MSci Research Project, 51 pages, 19 figures

R2 v1 2026-06-28T18:08:52.891Z