A domain-specific language for the hybridization and static condensation of finite element methods

02/01/2018
by   Thomas H. Gibson, et al.
0

In this paper, we introduce a domain-specific language (DSL) for concisely expressing localized linear algebra on finite element tensors, and its integration within a code-generation framework. This DSL is general enough to facilitate the automatic generation of cell-local linear algebra kernels necessary for the implementation of static condensation methods and local solvers for a variety of problems. We demonstrate its use for the static condensation of continuous Galerkin problems, and systems arising from hybridizing a finite element discretization. Additionally, we demonstrate how this DSL can be used to implement local post-processing techniques to achieve superconvergent approximation to mixed problems. Finally, we show that these hybridization and static condensation procedures can act as effective preconditioners for mixed problems. We use the DSL in this paper to implement high-level preconditioning interfaces for the hybridization of mixed problems, as well generic static condensation. Our implementation builds on the solver composability of the PETSc library by providing reduced operators, which are obtained from locally assembled expressions, with the necessary context to specify full solver configurations on the resulting linear systems. We present some examples for model second-order elliptic problems, including a new hybridization preconditioner for the linearized system in a nonlinear method for a simplified atmospheric model.

READ FULL TEXT

Please sign up or login with your details

Forgot password? Click here to reset