Optimizing the evaluation of finite element matrices. (English) Zbl 1091.65114
Summary: Assembling stiffness matrices represents a significant cost in many finite element computations. We address the question of optimizing the evaluation of these matrices. By finding redundant computations, we are able to significantly reduce the cost of building local stiffness matrices for the Laplace operator and for the trilinear form for Navier-Stokes operators. For the Laplace operator in two space dimensions, we have developed a heuristic graph algorithm that searches for such redundancies and generates code for computing the local stiffness matrices. Up to cubics, we are able to build the stiffness matrix on any triangle in less than one multiply-add pair per entry. Up to sixth degree, we can do it in less than about two pairs. Preliminary low-degree results for Poisson and Navier-Stokes operators in three dimensions are also promising.
MSC:
65N30 | Finite element, Rayleigh-Ritz and Galerkin methods for boundary value problems involving PDEs |
65N15 | Error bounds for boundary value problems involving PDEs |
35J05 | Laplace operator, Helmholtz equation (reduced wave equation), Poisson equation |
35Q30 | Navier-Stokes equations |