tIGAr

tIGAr: Automating isogeometric analysis with FEniCS. This paper introduces tIGAr, a library for using the open-source finite element (FE) automation software FEniCS to perform isogeometric analysis (IGA). The library uses a global variant of Bézier extraction to avoid modifying the finite element assembly procedures of FEniCS. This makes much of the convenient functionality of FEniCS directly available for IGA. General rational splines are implemented through an abstraction that sees only an extracted representation of the IGA function space. Through this abstraction, an enormous variety of spline spaces can be used for analysis, so long as a corresponding preprocessor is developed for each one, implementing a simple interface. As examples, we discuss preprocessors for B-splines specified analytically, non-uniform rational B-splines (NURBS) designed using the open-source software igakit, and T-splines designed using commercial software. We then demonstrate the implementation of solvers for several non-trivial partial differential equations that benefit from IGA. We also evaluate the parallel performance of tIGAr on a distributed-memory supercomputer. Finally, we outline possibilities for further development of IGA in FEniCS. Source code for tIGAr is continuously updated online at https://github.com/david-kamensky/tIGAr.