Abstract. Efficient use of the Finite Element method requires that the discrete spaces for the computation be carefully selected to match properties of the continuous problem. From a developer's standpoint this means that we should attempt to provide as many tools for constructing a wide variety of spaces as possible. We present our recent work in the PETSc code base which allows users to construct function spaces by applying operations to other function spaces which have been previously implemented. This work focuses on the implementation of the Koszul differential operator which makes possible full parametric construction of the $\mathcal{P}_{r}^{-}$ family of finite elements --- including elements such as the Raviart-Thomas and N\'ed\'elec elements as well as some more recent constructions --- which are useful for constructing $\mathcal{H}(\mathrm{div})$ or $\mathcal{H}(\mathrm{curl})$ conforming discretizations. In this work, we describe the computational implementation of the Koszul differential operator. Since the null space of the Koszul differential is not necessarily empty we have developed a procedure for identifying the null space via random sampling of the dual basis. This new procedure is also described and we provide estimates of time complexity and proofs of correctness and reliability of the algorithm.
| PP22 Home 2022 | Program | Speaker Index |