Hp-FEM
hp-FEM is a general version of the finite element method, a numerical method for solving partial differential equations based on piecewise-polynomial approximations that employs elements of variable size
' and polynomial degree '. The origins of hp-FEM date back to the pioneering work of Ivo Babuška et al.
who discovered that the finite element method converges exponentially fast when
the mesh is refined using a suitable combination of h-refinements
and p-refinements. The exponential convergence makes the method
a very attractive choice compared to most other finite element methods
which only converge with an algebraic rate. The exponential convergence
of the hp-FEM was not only predicted theoretically but also observed
by numerous independent researchers.
Differences from standard FEM
The hp-FEM differs from the standard FEM in many aspects.- Choice of higher-order shape functions: To begin with, the higher-degree polynomials in elements can be generated using different sets of shape functions. The choice of such set can influence dramatically the conditioning of the stiffness matrix, and in turn the entire solution process. This problem was first documented by Babuska et al.
- Automatic hp-adaptivity: In the hp-FEM, an element can be hp-refined in many different ways. One way is to just increase its polynomial degree without subdividing it in space. Or, the element can be subdivided geometrically, and various polynomial degrees can be applied to the subelements. The number of element refinement candidates easily reaches 100 in 2D and 1000 in 3D. Therefore, clearly, one number indicating the size of error in an element is not enough to guide automatic hp-adaptivity. Other techniques such as reference solutions or analyticity considerations must be employed to obtain more information about the shape of error in every element.
- Ratio of assembling and solution CPU times: In standard FEM, the stiffness matrix usually is assembled quickly but it is quite large. Therefore, typically, the solution of the discrete problem consumes the largest part of the overall computing time. By contrast, the stiffness matrices in the hp-FEM typically are much smaller, but their assembly takes more time than in standard FEM. Mostly, this is due to the computational cost of numerical quadrature, which must have higher precision, and therefore be of higher order, compared to standard FEM to take advantage of the faster convergence rates.
- Analytical challenges: The hp-FEM is more difficult to understand from the analytical point of view than standard FEM. This concerns numerous techniques, such as the discrete maximum principles for elliptic problems. These results state that, usually with some limiting assumptions on the mesh, the piecewise-polynomial FEM approximation obeys analogous maximum principles as the underlying elliptic PDE. Such results are very important since they guarantee that the approximation remain physically admissible, leaving no possibility of computing a negative density, negative concentration, or negative absolute temperature. The DMP are quite well understood for lowest-order FEM but completely unknown for the hp-FEM in two or more dimensions. The first DMP in one spatial dimension were formulated recently.
- Programming challenges: It is much harder to implement a hp-FEM solver than standard FEM code. The multiple issues that need to be overcome include : higher-order quadrature formulas, higher-order shape functions, connectivity and orientation information relating shape functions on the reference domain with basis functions in the physical domain, etc.
Example: the Fichera problem
The convergence graphs show the approximation error as a function of the number of degrees of freedom. By DOF we mean parameters that are needed to define the approximation. The number of DOF equals the size of the stiffness matrix. The reader can see in the graphs that the convergence of the hp-FEM is much faster than the convergence of both other methods. Actually, the performance gap is so huge that the linear FEM might not converge at all in reasonable time and the quadratic FEM would need hundreds of thousands or perhaps millions of DOF to reach the accuracy that the hp-FEM attained with approximately 17,000 DOF. Obtaining very accurate results using relatively few DOF is the main strength of the hp-FEM.
Why is hp-FEM so efficient?
Smooth functions can be approximated much more efficiently using large high-order elements than small piecewise-linear ones. This is illustrated in the figure below, where a 1D Poisson equation with zero Dirichlet boundary conditions is solved on two different meshes. The exact solution is the sine function.- Left: mesh consisting of two linear elements.
- Right: mesh consisting of one quadratic element.
On the contrary, small low-order elements can capture small-scale features such as singularities much better than large high-order ones. The hp-FEM is based on an optimal combination of these two approaches which leads to exponential convergence. Note, that this exponential convergence is expressed in axis of error vs degrees of freedom. For real-life applications we usually consider computational time needed to reach the same level of accuracy. For this performance indicator h- and hp-refinement can provide similar results, e.g. see the final figure at . As soon as it is harder to program and parallelize hp-FEM compared to h-FEM the convergence excellence of hp-refinement may turn to be unpractical.
What is hp-adaptivity?
Some FEM sites describe hp-adaptivity as a combination of h-adaptivity and p-adaptivity. This is not entirely accurate. The hp-adaptivity is significantly different from both h- and p-adaptivity since the hp-refinement of an element can be done in many different ways. Besides a p-refinement, the element can be subdivided in space, but there are many combinations for the polynomial degrees on the subelements. This is illustrated in the figure on the right. For example, if a triangular or quadrilateral element is subdivided into four subelements where the polynomial degrees are allowed to vary by at most two, then this yields 3^4 = 81 refinement candidates. Analogously, splitting a hexahedron into eight subelements and varying their polynomial degrees by at most two yields 3^8 = 6,561 refinement candidates. Clearly, standard FEM error estimates providing one constant number per element are not enough to guide automatic hp-adaptivity.Higher-order shape functions
In standard FEM one only works with shape functions associated with gridvertices. In contrast to that,
in the hp-FEM one moreover regards edge functions, face functions,
and bubble functions. The following images show these functions
:
Note: all these functions are defined in the entire element interior!
Open source hp-FEM codes
- Deal.II: deal.II is a free, open source library to solve partial differential equations using the finite element method.
- : C/C++ hp-FEM/DGFEM/BEM library for elliptic equations developed at SAM, ETH Zurich and in the group of K. Schmidt at TU Berlin.
- 2dhp90, 3dhp90: Fortran codes for elliptic problems and Maxwell's equations developed by L. Demkowicz at ICES, UT Austin.
- PHAML: The Parallel Hierarchical Adaptive MultiLevel Project. Finite element software developed at the National Institute for Standards and Technology, USA, for numerical solution of 2D elliptic partial differential equations on distributed memory parallel computers and multicore computers using adaptive mesh refinement and multigrid solution techniques.
- Hermes Project: C/C++/Python library for rapid prototyping of space- and space-time adaptive hp-FEM solvers for a large variety of PDEs and multiphysics PDE systems, developed by the hp-FEM group at the University of Nevada, Reno, Institute of Thermomechanics, Prague, and the University of West Bohemia in Pilsen – with the Agros2D engineering software built on top of the Hermes library.
- : PHG is a toolbox for developing parallel adaptive finite element programs. It's suitable for h-, p- and hp-fem. PHG is currently under active development at State Key Laboratory of Scientific and Engineering Computing, Institute of Computational Mathematics and Scientific/Engineering Computing of Chinese Academy of Sciences. PHG deals with conforming tetrahedral meshes and uses bisection for adaptive local mesh refinement and MPI for message passing. PHG has an object oriented design which hides parallelization details and provides common operations on meshes and finite element functions in an abstract way, allowing the users to concentrate on their numerical algorithms.
- is a finite element analysis code tailored for the solution of multi-physics problems with arbitrary levels of approximation, different levels of mesh refinement and optimised for high-performance computing. It is designed to be able to manage complexities related to a heterogeneous order of approximations for L2,H1,H-div and H-curl spaces