Advanced Finite Element Methods Eric Sonnendrücker, Ahmed Ratnani Max-Planck-Institut für Plasmaphysik und Zentrum Mathematik, TU München Lecture notes Wintersemester 2015/2016 February 5, 2016 Contents 1 The classical finite element method (FEM) 1.1 Principle of the method . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.2 Basic properties of the Sobolev spaces H m (Ω), H(div, Ω) and H(div, Ω) 1.2.1 The Sobolev space H m . . . . . . . . . . . . . . . . . . . . . . . . 1.2.2 The Sobolev space H(div, Ω) . . . . . . . . . . . . . . . . . . . . 1.2.3 The Sobolev space H(curl, Ω) . . . . . . . . . . . . . . . . . . . . 1.3 The variational (or weak) form of a boundary value problem . . . . . . . 1.3.1 Case of homogeneous Dirichlet boundary conditions . . . . . . . 1.3.2 Case of non homogeneous Dirichlet boundary conditions . . . . . 1.3.3 Case of Neumann boundary conditions . . . . . . . . . . . . . . . 1.4 Solution of the the variational formulation . . . . . . . . . . . . . . . . . 1.5 Description of a Finite Element . . . . . . . . . . . . . . . . . . . . . . . 1.5.1 Formal definition of a Finite Element . . . . . . . . . . . . . . . 1.5.2 C 0 Lagrange Finite Elements . . . . . . . . . . . . . . . . . . . . 1.5.3 C 1 Hermite Finite Elements . . . . . . . . . . . . . . . . . . . . . 1.5.4 H(div, Ω) conforming Finite Elements . . . . . . . . . . . . . . . 1.5.5 H(curl, Ω) conforming Finite Elements . . . . . . . . . . . . . . 1.6 Change of local basis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.7 Construction of the Finite Element approximation space . . . . . . . . . 1.7.1 The mapping . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.7.2 Bases of tangent and cotangent spaces in curvilinear coordinates 1.7.3 H 1 conforming Finite Elements . . . . . . . . . . . . . . . . . . . 1.7.4 H(curl, Ω) conforming Finite Elements . . . . . . . . . . . . . . . 1.7.5 H(div, Ω) conforming Finite Elements . . . . . . . . . . . . . . . 1.8 Convergence of the Finite Element method . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 2 5 6 6 6 6 7 8 8 9 10 10 11 13 15 18 19 21 21 22 23 25 29 33 2 Non conforming and mixed Finite Element methods 2.1 Variational crimes . . . . . . . . . . . . . . . . . . . . 2.2 Non conforming Pk finite elements on triangles . . . . 2.3 Weak enforcement of Dirichlet boundary conditions . . 2.4 Discontinuous Galerkin methods . . . . . . . . . . . . 2.5 Saddle-point problems . . . . . . . . . . . . . . . . . . 2.5.1 The theoretical framework . . . . . . . . . . . . 2.5.2 Mixed formulation of the Poisson problem . . . . . . . . . . 36 36 38 40 42 43 43 44 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Chapter 1 The classical finite element method (FEM) 1.1 Principle of the method For solving a problem on a computer that can only store a finite amount of information a discrete form of the problem is needed. In the Finite Difference method one simply computes an approximation of the solution at a finite number of grid points. In the Finite Element method, which is mathematically more involved, the idea is to look for the solution in a finite dimensional vector space, i.e. for some well chosen vector space Vh , with basis (ϕi )0≤i≤N −1 , the approximate solution has the form uh (x) = N −1 X ui ϕi (x). i=0 The basis being given, the approximate solution uh is fully determined by its coefficients ui in this basis, which need not be values of uh at some points in the computational domain, but can be in some cases. The question now becomes how to choose Vh and determine the coefficients ui such that uh is a good approximation of the solution u of the original problem. Let us consider as a first example the Poisson problem with homogeneous Dirichlet boundary conditions: −∆u = f, in Ω, u = 0, on ∂Ω. (1.1) The first idea, introduced by Ritz in his thesis in Göttingen in 1902, was to transform the boundary problem into an equivalent minimisation problem. Indeed, via the Dirichlet principle (1.1) is equivalent to the minimisation problem Z Z 1 2 min |∇u(x)| dx − f (x)u(x) dx . (1.2) u∈H01 (Ω) 2 Ω Ω We shall need the following Hilbert spaces, defined for a domain Ω ∈ Rd H 1 (Ω) = {u ∈ L2 (Ω), ∇u ∈ (L2 (Ω))d }, H01 (Ω) = {u ∈ H 1 (Ω), u = 0 on ∂Ω}. The scalar product associated to these Hilbert spaces is Z Z (u, v)1 = ∇u(x) · ∇v(x) dx + u(x)v(x) dx. Ω Ω 2 Moreover, we denote by Z Z Z Z 2 2 2 kuk1,Ω = |∇u(x)| dx + u(x) dx, |u|1,Ω = |∇u(x)| dx, kuk0,Ω = u(x)2 dx, Ω Ω Ω Ω the norm in H 1 (Ω), the semi-norm in H 1 (Ω) and the norm in L2 (Ω). Then, the original problem being transformed into a minimisation problem, it becomes quite natural to look for an approximation in a finite dimensional subspace of the function space in which the minimisation problem is posed (in our case H01 (Ω)), which means that the minimisation is performed by considering only minima in a finite dimensional subspace. Then if the form of finite dimensional space is chosen such that any function of the original space can be approximated to any given tolerance, by a function of the approximation space, we should be able to get a good approximation. Ritz who was actually looking at solutions for the bilaplacian equation, chose as basis functions for Vh a finite number of eigenfunctions of his operator. The standard method to solve a minimisation problem with a cost functional J defined on a Hilbert space V , of the form min J[u], u∈V is to solve the associated Euler equation J 0 [u] = 0 obtained by computing the Fréchet derivative of the functional that we want to minimise. Note that the Fréchet derivative gives a rigorous definition of the functional derivative used in physics for functions that are in a Banach (including Hilbert) space. Consider a functional J from a Hilbert space V into R. Its Fréchet derivative J 0 , assuming it exists, is a linear form on V , which means that it maps any function from V to a scalar. It can be computed using the Gâteaux formula: J[u + v] − J[u] J 0 [u](v) = lim . (1.3) ε→0 ε Let us apply this formula to our problem for which Z Z 1 2 |∇u(x)| dx − f (x)u(x) dx. J[u] = 2 Ω Ω We have for any v ∈ V = H01 (Ω) Z Z 1 2 J[u + εv] = |∇u(x) + εv(x)| dx − f (x)(u(x) + εv(x)) dx 2 Ω Ω Z Z Z 1 = |∇u(x)|2 dx + 2ε ∇u(x) · ∇v(x) dx + ε2 |∇u(x)|2 dx 2 Ω ZΩ ZΩ − f (x)u(x) dx − ε f (x)v(x) dx. Ω Ω From which we deduce, using the Gâteaux formula (1.3) that Z Z 0 J [u](v) = ∇u(x) · ∇v(x) dx − f (x)v(x) dx. Ω Ω J 0 [u] Note that being a linear form on V is defined by applying it to some vector v ∈ V . Finally the solution of our minimisation problem (1.2), is a solution of the Euler equation J 0 [u] = 0 or equivalently J 0 [u](v) = 0 for all v ∈ V , which reads Z Z ∇u(x) · ∇v(x) dx = f (x)v(x) dx ∀v ∈ H01 (Ω). (1.4) Ω Ω 3 This is also what is called the variational formulation, or the weak formulation of the original boundary value problem (1.1). Note that this variational formulation expresses in some sense the orthogonality of the residual to the space in which the solution is sought. This is more general than Euler equations of minimisation problems as noticed by Galerkin and has a wide range of applications. One can even extend this concept by making the residual orthogonal to a different function space, than the one in which the solution lives. Such methods are called Petrov-Galerkin methods and are beyond the scope of this lecture. So the principle of the Galerkin (or Ritz-Galerkin) method is to look for a solution in a finite dimensional subspace Vh ⊂ V of the original space and to use the same variational formulation (1.4) as the one defining the exact solution, with test functions also in Vh to characterise the solution. What remains to be done now is to choose Vh with good approximation properties. As we will see later, the stability of the Galerkin method follows directly from the well-posedness of the variational problem (1.4). The finite dimensional space Vh is in general defined by its basis functions. For those, Ritz used eigenfunctions of the problem. But those are in general cumbersome to compute. Galerkin proposed to use general classes of simple functions, trigonometric functions or polynomials, that are know to be able to approximate any continuous function with a finite number of basis functions. Trigonometric polynomials which are linked to Fourier series are very good in periodic domains, with a few simple extensions. Polynomials enjoy more widespread applications, however to get a good conditioning of the linear system that is obtained at the end, care needs to be taken in the choice of the basis functions. The monomial basis (1, x, x2 , . . . ) has very bad properties. Best approximations are provided by the orthogonal Legendre polynomials or by the Chebyshev polynomials which are used in practice. Note that all the basis functions we have mentioned up to now have a global support in the computational domain and thus lead to full matrices in the linear system, which can be computationally expensive. Methods using such bases are actually not known as Finite Element methods but rather as spectral methods. Another ingredient is needed to define what is known as Finite Element methods. This was introduced by Courant in 1943 [4] and consists in using basis functions with a small support in the computational domain, so that its product with other basis functions vanishes for most of the other basis functions leading to a very sparse matrix, i.e. with very few non zero terms, in the linear system, which can be solved very efficiently on a computer. To this aim, the computational domain is decomposed into small elements, in general triangles or quads in 2D and the basis functions are chosen to be relatively low order polynomials, on each of these elements. Convergence being achieved by taking smaller elements like the cells in the Finite Difference method. In 1D a finite element mesh will look like a finite difference mesh. An example of an unstructured Finite Element mesh in 2D is displayed in Figure 1.1, which shows the great flexibility in particular to handle complicated boundaries with finite elements, which finite differences do not provide. This is a key to its very wide usage. The article by Gander and Wanner [7] provides a clear and well documented overview of the historical developments of the Finite Element method. For more technical historical developments of the Finite Difference and Finite Element methods on can also consult [10]. In summary, the finite element method consists in looking for a solution of a variational problem like (1.4), in a finite dimensional subspace Vh of the space V where 4 0.4 0.3 0.2 0.1 0.0 0.00 0.05 0.10 0.15 0.20 0.25 0.30 0.35 Figure 1.1: Example of a 2D finite element mesh consisting of triangles. the exact solution is defined. The space Vh is characterised by a basis (ϕ1 , . . . , ϕN ) so that finding the solution of the variational problem amounts to solving a linear system. Indeed, express the trial function uh and the test function ũh on this basis: uh (x) = N X uj ϕj (x), ũh (x) = j=1 N X ũi ϕi (x), i=1 and plug these expressions in the variational problem (1.4). This yields Z Z N X N N X X uj ũi ∇ϕi (x) · ∇ϕj (x) dx = ũi f (x)ϕi (x) dx. i=1 j=1 Ω i=1 Ω This can be expressed in matrix form, Ũh> Ah Uh = Ũh> bh , which is equivalent to the linear system Ah Uh = bh as the previous equality is true for all Ũh , where Z Z > > Uh = (u1 , . . . , uN ) , Ũh = (ũ1 , . . . , ũN ) , bh = ( f (x)ϕ1 (x) dx, . . . , f (x)ϕN (x) dx)> Ω Ω and the matrix Ah is defined by its entries which are Z ( ∇ϕi (x) · ∇ϕj (x) dx)1≤i,j≤N . Ω 1.2 Basic properties of the Sobolev spaces H m (Ω), H(div, Ω) and H(div, Ω) In the course of the lecture we shall work with the Sobolev spaces H m (Ω), H(div, Ω) and H(div, Ω) and recall here there basic properties without proof. For a more detailed presentation with proofs we refer to Section 2.1. of [3]. 5 1.2.1 The Sobolev space H m For any integer m ≥ 1, one can define H m (Ω) = {v ∈ L2 (Ω) | Dα v ∈ L2 (Ω), |α| ≤ m} (1.5) The most classical second order operator is the Laplace operator, which reads in an arbitrary dimension d (generally d = 1, 2 or 3), ∆u = d X ∂2u i=1 ∂x2d . The classical Green formula for the Laplace operator reads For essential boundary conditions related with this Green formula we shall define the space H01 (Ω) = {v ∈ H 1 (Ω) | v|∂Ω = 0}. And other classical operator which comes from elasticity is the bilaplacian operator ∆2 = ∆∆, which is a fourth order operator. The Green formula needed for variational formulations of PDEs based on the bilaplacian reads Z Z Z ∂∆v ∂∆u ∂v ∂u 2 2 ∆ u v dx = u ∆ v dx + u −v + ∆u − ∆v dσ (1.6) ∂n ∂n ∂n ∂n Ω Ω ∂Ω ∂v = 0}. ∂n ∂Ω H02 (Ω) = {v ∈ H 1 (Ω) | v|∂Ω = 0, 1.2.2 The Sobolev space H(div, Ω) Z Ω 1.2.3 ∇ · u v dx = − Z Ω u · ∇v dx + Z ∂Ω u · ν v dσ (1.7) The Sobolev space H(curl, Ω) The Green’s formula that will be useful for variational problems involving the curl operator reads Z Z Z u·∇×v = ∇×u·v+ (u × n) · v ds. (1.8) Ω 1.3 Ω ∂Ω The variational (or weak) form of a boundary value problem The variational form of a boundary value problem contains all its elements, which are the partial differential equation in the interior of the domain and the boundary conditions. There are two very distinct ways to handle the boundary conditions depending on how they appear when deriving the variational formulation. If they appear on the test function they are called essential boundary conditions and need to be included in the space where the solution is looked for. If they appear on the trial function, which will be the approximate solution, they can be handled in a natural way in the variational formulation. Such boundary conditions are called natural boundary conditions. We will 6 see on the examples of Dirichlet and Neumann boundary conditions how this works in practice. In order to define the variational formulation, we will need the following Green formula: For u ∈ H 2 (Ω) and v ∈ H 1 (Ω) Z Z Z ∂u − ∆u v dx = ∇u · ∇v dx − v dσ. (1.9) Ω Ω ∂Ω ∂n Here H 2 (Ω) denotes the Hilbert space of the functions whose partial derivatives up to ∂u second order are in L2 (Ω) and ∂n = ∇u · ν, where ν is the outbound normal at any point of the boundary. Remark 1 Functions in Sobolev spaces are not necessarily continuous and hence their value on the boundary is not naturally defined. In fact, one can define, what is called a trace on the boundary, by first defining it for sufficiently smooth functions and then extending it by continuity, typically using a Green’s formula like (1.9). So the Green’s formula also tells us what kind of trace can be defined. For a more detailed description one can consult a classical functional analysis or a Finite Element textbook like for example [3]. 1.3.1 Case of homogeneous Dirichlet boundary conditions Let f ∈ L2 (Ω). Consider the boundary value problem −∆u = f u=0 in Ω, (1.10) on ∂Ω. (1.11) Assume that u ∈ H 2 (Ω), multiply (1.10) by v ∈ H 1 (Ω) and integrate using the Green formula (1.9), which yields Z Z Z ∂u ∇u · ∇v dx − v dσ = f v dx. Ω ∂Ω ∂n Ω Here u does not appear in the boundary integral, so we cannot apply the boundary condition directly. But in the end u will be in the same function space as the test function v, which appears directly in the boundary integral. This is the case of an essential boundary condition. So we take test functions v vanishing on the boundary. We then get the following variational formulation: Find u ∈ H01 (Ω) such that Z Z ∇u · ∇v dx = f v dx ∀v ∈ H01 (Ω). (1.12) Ω Ω The solutions of this variational formulation are called weak solutions of the original boundary value problem. The solutions which are also in H 2 (Ω) are called strong solutions. Indeed we can prove that such a solution is also a solution of the initial boundary value problem (1.10)-(1.11). If u ∈ H 2 (Ω), the Green formula (1.9) can be used, and as ϕ vanishes on the boundary it yields Z Z − ∆u ϕ dx = f ϕ dx ∀v ∈ H01 (Ω). Ω H01 (Ω) Ω L2 (Ω), This implies, as is dense in that −∆u = f in L2 (Ω) and so almost 1 everywhere. On the other hand as u ∈ H0 (Ω), u = 0 on ∂Ω. So u is a strong solution of (1.10)-(1.11). 7 1.3.2 Case of non homogeneous Dirichlet boundary conditions Let f ∈ L2 (Ω) and u0 ∈ H 1 (Ω). We consider the problem −∆u = f in Ω, u = u0 (1.13) on ∂Ω. (1.14) As the value of u on the boundary cannot be directly put in the function space if it is not zero, as else the function space would not be stable by linear combinations, we need to bring the problem back to the homogeneous case. To this aim let ũ = u − u0 . We then show as previously that ũ is a solution of the variational problem Find ũ ∈ H01 (Ω) such that Z Z Z ∇ũ · ∇v dx = fv − ∇u0 · ∇v dx ∀v ∈ H01 (Ω). (1.15) Ω Ω Ω This is the variational problem that needs to be solved for non homogeneous Dirichlet boundary conditions. In practice u0 is only known on the boundary and needs to be extended to the whole domain. For standard finite elements one can pick the degrees of freedom on the boundary to be the projection (or finite element interpolation) of u0 on the boundary and let the inner degrees of freedom be zero. 1.3.3 Case of Neumann boundary conditions Let f ∈ L2 (Ω) and g ∈ H 1 (Ω). We consider the problem −∆u + u = f ∂u =g ∂n in Ω, (1.16) on ∂Ω. (1.17) Assuming that u ∈ H 2 (Ω), we multiply by a test function v ∈ H 1 (Ω) and integrate using the Green formula (1.9), which yields Z Z Z Z ∂u ∇u · ∇v dx − v dσ + uv dx = f v dx. Ω ∂Ω ∂n Ω Ω ∂u Replacing ∂n by its value g on the boundary, we obtain the variational formulation Find u ∈ H 1 (Ω) such that Z Z Z Z ∇u · ∇v dx + uv dx = f v dx + gv dσ ∀v ∈ H 1 (Ω). (1.18) Ω Ω Ω ∂Ω Let us now show that u is a strong solution of the boundary value problem, provided it is in H 2 (Ω). As H01 (Ω) ⊂ H 1 (Ω) one can first take only test functions in H01 (Ω). Then as in the case of homogeneous Dirichlet conditions it follows from the Green formula (1.9) that Z Z (−∆u + u) ϕ dx = Ω This implies, as everywhere. H01 (Ω) f ϕ dx Ω is dense in L2 (Ω), ∀ϕ ∈ H01 (Ω). that −∆u + u = f in L2 (Ω) and so almost 8 It now remains to verify that we have the boundary condition ∂u = g on ∂Ω. ∂n For that we start from (1.18) and apply the Green formula (1.9), which yields Z Z Z Z Z ∂u v dσ + uv dx = f v dx + gv dσ ∀v ∈ H 1 (Ω), − ∆u v dx + ∂n Ω Ω ∂Ω Ω ∂Ω and as −∆u + u = f , it remains Z Z ∂u gv dσ v dσ = ∂Ω ∂n ∂Ω which yields that 1.4 ∂u ∂n ∀v ∈ H 1 (Ω), = g on ∂Ω. Solution of the the variational formulation The variational problems we consider in this chapter, as the examples from the previous section, can be written in the following abstract form Find u ∈ V such that a(u, v) = l(v) ∀v ∈ V, (1.19) where V is a Hilbert space, a is a symmetric continuous and coercive bilinear form and l a continuous linear form. The most convenient tool for provient existence and uniqueness of the solution of a variational problem is the Lax-Milgram theorem that we recall here: Theorem 1 (Lax-Milgram) Let V a Hilbert space with the norm k.kV . Let a(., .) be a continuous, symmetric and coercive bilinear form on V × V , i.e. 1. (Continuity): there exists C such that for all u, v ∈ V |a(u, v)| ≤ CkukV kvkV . 2. (Coercivity): there exists a constant α > 0 such that for all u ∈ V a(u, u) > αkuk2V . Let l(.) a continuous linear form on V , i.e. there exists C such that for all v ∈ V |l(v)| ≤ CkvkV . Then there exists a unique u ∈ V such that a(u, v) = l(v) ∀v ∈ V. To illustrate the use of the Lax-Milgram theorem, let us apply it to the examples of the previous section. The case of the problem with homogeneous Dirichlet boundary conditions, yields to the variational formulation (1.12), which fits into the framework of R R 1 the Lax-Milgram theorem with V = H0 (Ω), a(u, v) = Ω ∇u · ∇v dx, l(v) = Ω f v dx. 9 The continuity of the bilinear form a and the linear form l follows from the CauchySchwarz inequality. a is clearly symmetric and the coercivity is a consequence of the Poincaré inequality: (1.20) kuk0,Ω ≤ C|u|1,Ω ∀u ∈ H01 (Ω), which implies that 1 1 1 1 a(u, u) = |u|1,Ω ≥ |u|1,Ω + |u|0,Ω ≥ min( , )kuk1,Ω . 2 2C 2 2C The case of Neumann boundary conditions yields the variational formulation (1.18), in which case V = H 1 (Ω), a is theR H1 scalarR product which is clearly continuous, symmetric and coercive, and l(v) = Ω f v dx + ∂Ω gv dσ, which is a continuous linear form thanks to the Cauchy-Schwarz inequality and the continuity of the trace. 1.5 Description of a Finite Element 1.5.1 Formal definition of a Finite Element Let (K, P, Σ) be a triple such that (i) K is a closed subset of Rn of non empty interior, (ii) P is a finite dimensional vector space of functions defined on K, (iii) Σ is a set of linear forms on P of finite cardinal N , Σ = {σ1 , . . . , σN }. Definition 1 The elements of Σ are called degrees of freedom of the Finite Element. The degrees of freedom characterise the basis of P associated to the Finite Element. Definition 2 Σ is said to be P -unisolvent if for any N -tuple (α1 , . . . , αN ), there exists a unique element p ∈ P such that σi (p) = αi pour i = 1, . . . , N . Definition 3 The triple (K, P, Σ) of Rn is called Finite Element of Rn if it satisfies (i), (ii) and (iii) and if Σ is P -unisolvent. In the definition of a Finite Element, K is the domain on which the Finite Element is defined, P is the finite dimensional approximation space, and Σ uniquely defines a basis of P , which is needed to build the Finite Element matrices associated to the variational formulation applied to functions in the Finite Dimensional approximation space. This basis can be either defined through the degrees of freedom or directly by exhibiting an explicit formula for the basis functions. In this last case the degrees of freedom are not explicitly needed. The unisolvence property is needed to establish that the elements of P characterised by the degrees fo freedom actually form a basis of P . In practice, this is done by first verifying that the dimension is right, i.e. that the number of degrees of freedom is equal to dim P = N and then by checking either the injectivity or the surjectivity, which both imply the bijectivity if the dimension is right, of the mapping P → RN p 7→ (σ1 (p), . . . , σN (p)) This can be formalised in the two following lemmas: 10 Lemma 1 The set Σ is P -unisolvent if and only if the two following properties are satisfied (i) dim P = |Σ| (where |Σ| denotes the number of elements in the set Σ). (ii) σj (p) = 0 for j = 1, . . . , N ⇒ p = 0. Lemma 2 The set Σ is P -unisolvent if and only if the two following properties are satisfied (i) dim P = |Σ| = N . (ii) There exist N linearly independent functions pi ∈ P, i = 1, . . . , N such that σj (pi ) = δij . In addition to its local definition, independent of its neighbours, the degrees of freedom of a Finite Element need to be chosen to allow a natural embedding into the function spaces in which the variational formulation is defined. In practice for Finite Element spaces embedded in L2 no continuity is required, for Finite Element spaces embedded in H 1 C 0 continuity is required, for Finite Element spaces embedded in H 2 C 1 continuity is required, for Finite Element spaces embedded in H(curl, Ω) C 0 continuity of the tangential component is required and for Finite Element spaces embedded in H(div, Ω) C 0 continuity of the normal component is required. We will thus present examples of Finite Elements according to their conformity, i.e. to the space in which they can be naturally embedded. Note that the continuity requirement is enforced by sharing the degrees of freedom on the interface between two elements and by making sure that these define uniquely the trace of P on the interface. Remark 2 Note that not all degrees of freedom on the interface need to be shared between the elements sharing the interface. This needs to be decided when constructing the global Finite Element space from the reference element. 1.5.2 C 0 Lagrange Finite Elements These are continuous Finite Elements, and the continuity will be enforced by sharing the degrees of freedom on the interface. Thanks to this continuity property the Finite Element constructed from those will be included in H 1 . These elements are called H 1 conforming. 1D Lagrange Pk Element Let a, b ∈ R, a < b. Let K = [a, b], P = Pk the set of polynomials of degree k on [a, b], Σ = {σ0 , . . . , σk }, where a = x0 < x1 < · · · < xk = b are distinct points and σk : P → R, p 7→ p(xi ). Moreover Σ is P -unisolvant, using Lemma 2. Indeed the Lagrange polynomials at the interpolation points x0 , x1 , . . . , xk which read Y (x − xj ) 0≤j≤k j6=i lk,i (x) = Y 0≤j≤k j6=i 11 (xi − xj ) (1.21) satisfy lk,i (xj ) = δi,j , 0 ≤ i, j ≤ k. The fact that the points are all distinct makes the Lagrange interpolation problem well posed. The first and last point being on the boundary, will correspond to shared degrees of freedom. The corresponding basis function will be shared with the neighbouring element. For low degree polynomials, typically up to three, the degrees of freedom can be chosen uniformly space. For higher degree, the resulting matrices have better properties in particular conditioning if Gauss-Lobatto points are chosen. Note that high order Lagrange Finite Elements based on Gauss-Lobatto points are often called spectral elements. The extension from one to multiple dimensions is generally done in two ways. Either one builds finite elements based on simplices, or on tensor products of 1D elements. There are other possibilities but they are less classical. Simplex based Pk Finite Elements. A simplex in n dimensions is the convex hull of n + 1 affine independent points. In 2D this is a non degenerate triangle in 3D a tetrahedron. In simplices basis functions are most easily expressed using the barycentric coordinates associated to the vertices of the simplex, that we shall denote by a0 , . . . , an ∈ Rn . The barycentric coordinate, classically denoted by (λi )0≤i≤n , associated to the vertex ai is the affine function with value 1 at ai and 0 at the n other vertices. More precisely, for any point x = (x1 , . . . , xn )> ∈ Rn , λi (x) = αi,0 + n X αi,l xl , i = 0, . . . , n. (1.22) l=1 The coefficients (αi,l )0≤l≤n being determined by the relations λi (aj ) = δij . Example: Pk in 2D. For 3 non aligned points a1 , a2 , and a3 in R2 let K be the triangle defined by a1 , a2 and a3 . Let P = Pk be the vector space of polynomials of degree k in 2D Pk = {Span(xα y β ), (α, β) ∈ N2 , 0 ≤ α + β ≤ k}. The dimension of Pk is (k+1)(k+2) . Putting the Lagrange interpolation points on a lattice 2 with k + 1 points on the edges and then one point less at each level starting from one edge, we get (k + 1) + k + (k − 1) + · · · + 1 = (k + 1)(k + 2)/2 interpolation points and so also degrees of freedom, which is the same as the dimension of the space (see Figure 1.2 for an example with k = 3). The basis functions can be expressed using the barycentric coordinates. In our example with k = 3. The three basis functions associated to the three vertices are (9/2)λi (λi − 1/3)(λi − 2/3), the basis function associated associated to the point closest to ai on the edge [ai , aj ] is (27/2)λi λj (λi − 1/3). There are six basis functions of this form. Finally the basis function associated to the center point is 27λ1 λ2 λ3 . We thus find 10 basis functions for P3 , whose dimension is 10. 12 Again this has the form so we can easily determine the coefficients of all 6 basis functions in the quadratic case by inverting the matrix M. Each column of the inverted matrix is a set of coefficients for a basis function. P3 Cubic Elements Figure 1.2: (Left) P3 Finite Element, (Right) Q2 Finite Element In the case of cubic finite elements, the basis functions are cubic polynomials of degree 3 with the designation P3 Hypercube based Qk Finite Element. Let K be the hypercube of dimension n Q K = 1≤i≤nWe [ainow , bi ].haveLet P = Qkso be the avector of polynomials of degree k intheeach 10 unknowns we need total of 10space node points on the triangle element to determine Similarly, here are the interpolation functions of the nine-node Lagrange element. The nod direction: coefficients of the basis functions in the same manner as the P2 case. = Experiment 1 α1 while the the nodes in the y-direction are at y = , y = 0, and y = . αn 0 ≤using α1 ,Finite . . . , Elements αn ≤ k}. (α1 ,equation . . . , αover Nn , region . .will . xsolve Qk In =this {Span(x n) ∈ experiment a square with linear, n ), Poisson’s 1 we In[28]:=Transpose[HermiteElement1D[{-L1,0,L1},0,x]].HermiteElem quadratic and cubic elements and compare the results. We will solve The degrees of freedom for this element is obtained by choosing k + 1 distinct points ai = xi,0 < · · · < xi,k = bi in each direction. The corresponding basis functions are the products in all directions of all the 1D Lagrange basis functions. The Lagrange basis for Qk is (lk,i1 (x1 ) . . . lk,in (xn ))0≤i1 ,...,in ≤k , where the lk,ij (xj ) denote the 1D Lagrange basis functions at the interpolation points xOut[28]= j,0 , . . . , xj,k . The dimension of Qk in n dimensions n is (k + 1) , which is also the number of the basis functions. An example with k = 2 in 2D is given in Figure 1.2. Here the dimension of Q2 is nine and the nine basis functions are lk,i (x)lk,j (y), 0 ≤ i, j ≤ 2. 1.5.3 However, the situation becomes more complicated when you consider the elements whose C 1 Hermite Finite Elements you cannot generate the shape functions for triangular elements or the rectangular elements Such elements are H 2 conforming and are needed when second order derivatives appear tensor product approach. Here are two examples in which the interpolation functions canno in the variational formulation. In[29]:=p1=ElementPlot[{{{1,-1},{-1,-1},{0,3/2}},{0,0}}, AspectRatio->1, 1D Hermite P2k+1 Finite Element. Hermite interpolation on an interval [a, b] conAxes->True, sists in finding a polynomial p of degree 2k + 1 for k ≥ 1, such that pl (a) and pl (b) are PlotRange->{{-2,2},{-2,2}}, given for 0 ≤ l ≤ k. This will enforce C l continuity if all the interface degrees of freedom NodeColor->RGBColor[0,0,1], are shared. To get C 1 continuity k = 1 is DisplayFunction->Identity]; enough: Example P3 Hermite element in 1D. This is the simplest possible Hermite Finite In[30]:= Element. Let a, b ∈ R, a < b. Let K p2=ElementPlot[{{{1,1},{1,-1},{-1,-1},{-1,1}},{0,0}}, = [a, b], P = P3 the linear space of cubic AspectRatio->1, polynomials on [a, b], Σ = {σ1 , σ2 , σ3 , σ4 }, with σ1 : P → R, p 7→ p(a), σ2 : P → p 7→ Axes->True, R, PlotRange->{{-2,2},{-2,2}}, σ3 : P → R, σ4 : P NodeColor->RGBColor[0,0,1], 0 p(b),DisplayFunction->Identity]; p 7→ p (a), p → R, 7 → p0 (b). C 1 Finite Elements are much moreIn[31]:= involved in higher dimensions at least for triangles and higher dimensional simplices than C 0 finite elements. Tensor product constructions can be obtained from 1D Hermite Finite Elements, however they often have the constraint that the mapping also needs to be C 1 , which is not the case for general affine mappings as are standardly used for C 0 Lagrange Finite Elements. Let us introduce the simplex examples on simplest triangle based and quad based C 1 finite elements. 13 5.3.2 Triangular Elements Triangle P3 Hermite element. K is a non degenerate triangle of vertices (a1 , a2 , a3 ), P = P3 . So dim P = 10 and so ten degrees of freedom are needed. To enforce C 1 continuity, the value and the two components of the gradient need to be fixed on each of the three vertices. This amounts to nine degrees of freedom, the tenth can be taken to be the value at ✏⇣ the9✏ barycenter This is represented on the left of Figure ⌅ ⌅✏ ⌘ $ ✏ ⌃ of % ⌃the ⌃✏ triangle. ⌘ 1.3. ) ⇧ ⇥ ⌫⌦◆ ⌃⌘ ⌦ ↵ The Bogner-Fox-Schmitt rectangle Q3 Finite element. Taking the tensor product of two 1D P3 Hermite Finite element. One obtains the Bogner-Fox-Schmitt element, ⌫⌃ A⌃⌥ ⌃ ⌃ ⌃ ⌃✏ , 34/ ◆⌃✏⌃⌥ <⌃⌘ ⌫⌃ ⇠ ⌘⌘ ⇠ ⇠ ⇧ ⇠ A⌃⌥ ⌃ ✏ ⌃⌥⇡⌅ ✏◆ which in addition to the point and two derivative values at each of the four vertices has ⇡⌅ ⇥✏⌅ ⌘ ⌅✏ ⌫⌃ ✏⌃ ⌘⌃◆ ⌃✏ ⌦ :✏ ⌫⌃ ⌥ ✏◆ ⌃ ⌫⌃ ⌘⇡⇠⌃ ⌅⌧ ⇠ ⇧ ⇠ ⇡⌅ ⇥✏⌅ ⌘ ⌘ 2 ∂ p also ✏⇣ the ⌫⌃ cross derivative as ⇡⌅ a degree freedom. The⌃ corresponding basis consists of ⌃✏"⇣ ⌃✏⌘ ⌅✏ ⌃✏ ⇣⌃◆⌥⌃⌃⌘ ⌅⌧ ⌧⌥⌃⌃⇣⌅ ✏ ⌃⇢ of ⌅✏ ⌫⌃ ⌥ ✏◆ ∂x∂y ⌥⌃ ⇢⌃⌥ ⇠⌃⌘ ✏⇣the ⇧⌥⇥⇠⌃✏ ⌃⌥ ⌅◆⌃of ⌫⌃⌥ ⌫ ⌫⌃ ⇠⌅ 1D ⇡⌅✏⌃✏ ⌘ ⌅⌧ Hermite ⌫⌃ ◆⌥⇣ ⌃✏basis ⌃⇢ functions. ⌃⇣ products all possible cubic Its dimension is 4×4 = 16. ⌫⌃ ⇢⌃⌥ ⇠⌃⌘⌦ ⌫⌃ ◆⌃✏⌃⌥ < ⌅✏ ⌅ ⌃ ⌥⌫⌃⇣⌥ ⌘ ✏ ◆⌅ ⌘⌦ This is represented on the right of Figure 1.3. . ⌫⇥◆ ↵ ↵⌃ $ ◆ ⌥⌃ 0⌦.= ⌫⌃ ⇠ ⇧ ⇠ A⌃⌥ ⌃ ⌥ ✏◆ ⌃⌦ Figure 1.3: C 1 Finite Elements: (Left) P3 Hermite Finite Element, (Right) Bogner-FoxSchmitt Finite Element Abbildung 5: Bogner Fox Schmitt - Rechteck 9✏ )⌃ ⌫⌃ ⇠ ⇧ ⇠ A⌃⌥ ⌃ ⌧ ✏⇠ ⌅✏⌘ ⌅✏ ✏⌃ ⌘⌃◆ ⌃✏ ✏⇣ ⌃ ⌥⌫⌃⇣⌥⌅✏ ⇠✏✏⌅ ⇧⌃ ⇡ ⇠⌫⌃⇣ ⌅◆⌃ ⌫⌃⌥ ✏ ⌧ ⇥ .⇠ ⌫⌃ ⇠ ⇧ ⇠ A⌃⌥ ⌧⌘⌫ ⌅✏⌦ ⌃ ⌥ ✏◆ ⌃ finite elements ⇡↵⇧Discontinuous ⌃⌅↵✓✏⇣ ⌃ ⇥⇧ A⌃⌥ ⌃" ⇥⇡⌃ ⌃ ⌃ ⌃✏ ⌘ ⇡⇡⌃⌥ ✏ ⌫⌃ ⌃✏ be ⌃⌥ ⌥⌃ piecewise ⌅⌘ ⌧⌥⌅ ⌫⌃on ⇧⌃"each cell without any continuity Functions that are only✏ in⌃ ⌃L⌃2 can defined ◆ ✏✏ ✏◆ ⇡⇡⌃⌥ ✏◆ ⌃⌘ ⌘ ⌃⌥ ⇥ ⌘ ⌫⌃ ⇠ ⌘⌘ ⇠ ⇡⇡⌃⌥ ⌅⌧ ⌥ ⌃ ✏⇣ ⇤⇢ ⌥ , ⇤-4/⌦ requirements. Then there is no restriction on the degrees of freedom. ⌫⌃⇥ ⌫⇢⌃ ⌅✏◆ ⇧⌃⌃✏ )✏⌅ ✏ ⌘ ⌘⌃⌧ "✏⌅✏⇠⌅✏⌧⌅⌥ ✏◆ ⌃ ⌃ ⌃✏ ⌘ , ⌥334/⌦ Classical discontinuous Elements are↵⌃ nodal Lagrange elements based on Gauss 9✏⇣⌃⌥ ⌧ ✏⌃ ⇡⇡ ✏◆ ⌫⌃ A⌃⌥ ⌃ ⌃ ⌃ ⌃✏ ⌘Finite ⌧⌅⌥ ✏⌥◆ ⇥ ↵ ⇥⌅⌦⌃⇣✏ ⇥/⌘↵ ✏⇣⇥ ⌧ ⌃⌘⌦ , &32/⌦ points as the quadrature points. Even though their approximation order is lower for the same number of points it is sometimes convenient to place the degrees of freedom at Gauss-Lobatto points, where one point on each side is on the edge. This makes easier the computation of edge integrals. However in this case, as the Finite Element is discontinuous, degrees of freedom on the interface are not shared by neighbouring elements. Another class of classical discontinuous Finite Elements are modal elements where the basis functions are generally taken to be the orthonormal Legendre polynomials (Li )0≤i≤k , which have 04the advantage of yielding the identity as a mass matrix. The R corresponding degrees of freedom are σi (p) = p(x)Li (x) dx. Such constructions, where Abbildung 6: Argyris Dreieck each element of the basis has a deferent degree, are called hierarchical finite elements and facilitate what is called the p refinement consisting in obtaining a more accurate approximation by taking a higher order polynomial rather that refining the grid. Indeed in this case when refining only one basis function needs to be added to the existing one 9 rather than replacing all the basis functions as would be necessary for the previously seem Finite Elements where all basis functions have the same degree. 14 1.5.4 H(div, Ω) conforming Finite Elements The H(div, Ω) space consists of vector fields. Each element as n components in n dimensions. Moreover, as we have seen before H(div, Ω) vector fields have a continuous normal component and a discontinuous tangential component. Let us explain how such elements can be constructed in two dimensions. This can be generalised to higher dimensions. Tensor product construction. Due to the given continuity requirements a H(div, Ω) conforming Finite Element can be constructed, by defining separately an approximation of the tangential component and of the normal component. In this case K = [−1, 1] × [−1, 1], P = {p = (px , py )> | px ∈ Qk−1,k , py ∈ Qk,k−1 }, where Qm,n = Span(xα y β , 0 ≤ α ≤ m, 0 ≤ β ≤ n). For px the degrees of freedom are the Gauss points in x and the Gauss-Lobatto points in y, such that px is discontinuous in x and continuous in y. It is the other way for py . This enables arbitrarily high order H(div, Ω) conforming elements. The Raviart-Thomas (RT) Finite Element. K is a non degenerate triangle of vertices (a1 , a2 , a3 ). For the element of order k + 1, k ≥ 0, denoting by P̄k the space of homogeneous polynomials of degree k (i.e. all the monomials are exactly of degree k) x 2 P̄k . P = RTk = (Pk ) + y In two dimensions dim Pk = (k + 1)(k + 2)/2 and dim P̄k = k + 1, so that dim RTk = (k + 1)(k + 3). This yields in particular dim RT0 = 3, dim RT1 = 8, dim RT2 = 15. The degrees of freedom are constructed starting from the edges in order to enforce the continuity requirements. This is our first example of moment based degrees of freedom, defined by 1D moments along the edges to enforce continuity and then 2D moments in the triangle to complete the missing degrees of freedom. Z Z Σ = p 7→ p · νsl ds, 0 ≤ l ≤ k, p 7→ p(x1 , x2 ) · xli dxi , 0 ≤ l ≤ k − 1, i = 1, 2 . ei K We count here k + 1 degrees of freedom for each of the three edges, and 2k inner degrees of freedom, which are in total 3(k + 1) + 2k(k + 1)/2 = (k + 1)(k + 3) which is precisely the dimension of RTk . To prove the unisolvence it is thus enough to prove that a polynomial which vanishes on all degrees of freedom is necessarily zero. Note that because the monomials in our degrees of freedom are a basis of the polynomial spaces Pk (ei ), i = 1, 2, 3 and Pk−1 (K) respectively this is given by the following lemma: Lemma 3 Let k ≥ 0, and p ∈ RTk (K) then Z p · ν r ds = 0, ∀r ∈ Pk (ei ), ei Z p · q dx = 0 ∀q ∈ (Pk−1 )2 K implies that p = 0. 15 (1.23) (1.24) Remark 3 Note that instead of the monomials one can use (1.23) and (1.24) applied to arbitrary bases of Pk (ei ) and (Pk−1 )2 respectively. x Proof. Let p ∈ RTk . Then p = q + ψ with q ∈ (Pk )2 and ψ ∈ P̄k . Let us first y observe that on any of the three edges ei we have p · ν ∈ Pk (ei ), this is obvioulsy the case for p · ν. On the other hand if (x(s), y(s)) defines a parametrisation of ei , then by definition of the normal nx (x(s) − x(s0 )) + ny (y(s) − y(s0 )) = 0 so that nx x(s) + ny y(s) is constant on ei . It follows that on the edge ei x ν ψ = (nx x + ny y)ψ. y Then as (nx x + ny y) is a constant, nx x + ny y)ψ is a polynomial of degree k like ψ. Now computing the divergence of p we find x ∇ · p = ∇ · q + 2ψ + · ∇ψ = ∇ · q + (k + 2)ψ. y Hence ∇ · p is a polynomial of degree k orthogonal to all polynomials of degree k. Thus it is 0. Then because ∇ · q ∈ Pk−1 it also follows that ψ = 0 and hence p ∈ (Pk )2 . Let us take ϕ ∈ Pk . Then ∇ϕ ∈ (Pk−1 )2 and hence using (1.24) we get using a Green’s formula Z Z Z p · ∇ϕ dx = 0 = p · νϕ ds + ∇ · p ϕ dx. K ∂K K R As the boundary term vanishes due to (1.23), it follows that K ∇ · p ϕ dx = 0. This for all ϕ ∈ Pk . Now in order to conclude we assume that the reference triangle has one edge on x = 0 and one edge on y = 0 and is in the positive quarter plane. The the condition p · ν = 0 yields that px = 0 for x = 0, hence px = xψ1 with ψ1 ∈ Pk−1 and py = 0 for y = 0, hence py = yψ2 with ψ2 ∈ Pk−1 . Then taking q = (ψ1 , ψ2 )> in (1.24), we obtain Z (xψ12 + yψ22 ) dx = 0 K from which it follows as both terms are positive that they are both zero. So p = 0 which was what we needed to prove. Remark 4 Obviously, the procedure used here to construct the Finite Element, by first setting the boundary degrees of freedom to ensure the required continuity and then complete with the needed inner degrees of freedom can also be applied to quads. The Brezzi-Douglas-Marini (BDM) Finite Element. K is a non degenerate triangle of vertices (a1 , a2 , a3 ). Here P is the full polynomial space in each direction P = BDMk = (Pk )2 . As continuity of the normal component is needed on each of the three faces, these requires at least three degrees of freedom. So and H(div, Ω) conforming BDMk element can only be constructed for k ≥ 1 as dim BDM0 = 2. In order to define the degrees of freedom, we need the following space y Nk = (Pk )2 + P̄k , −x 16 This space has obviously the same dimension as the corresponding RTk : dim Nk = dim RTk = (k + 1)(k + 3). We can now define the degrees of freedom for the BDMk element: introducing (ψj )0 ≤ j ≤ k a basis of Pk on each edge (this could be the monomials sj as we used for Raviart-Thomas or any other basis), and (ϕj )0≤(k−1)(k+1) a basis of Nk−2 Σ= Z p 7→ ei p · νψj ds, 0 ≤ j ≤ k, i = 1, 2, 3, Z p · ϕj dx, 0 ≤ j ≤ (k − 1)(k + 1) . p 7→ K We first notice, that the number of degrees of freedom is 3(k + 1) + (k − 1)(k + 1) = (k + 1)(k + 2) = dim P . So that proving that p ∈ P must vanish if all these degrees of freedom are zero is enough to prove unisolvence. Similarly as for the Raviart-Thomas element this follows from the following: Lemma 4 Let k ≥ 1, and p ∈ Pk (K)2 then Z p · ν ψ ds = 0, ∀ψ ∈ Pk (ei ), ei Z p · q dx = 0 ∀q ∈ Nk−2 (1.25) (1.26) K implies that p = 0. Proof. Let p ∈ Pk (K)2 verifying (1.25) and (1.26). For any ϕ ∈ Pk−1 , we have that ∇ϕ ∈ (Pk−2 )2 ⊂ Nk−2 , hence from (1.26) it follows that Z Z Z p · ∇ϕ dx = 0 = − ∇ · p ϕ dx + p · ν ϕ ds. K K ∂K The last term is zero because of (1.25). Then ∇ · p is a polynomial of degree k − 1 orthogonal to all polynomials of degree k − 1. Hence it is zero. Thus p = (∂y ψ, −∂x ψ) for a ψ ∈ Pk+1 . Moreover due to (1.25), p · ν = 0 on each edge, this implies that the tangential derivative of ψ on each edge, and so ψ is constant on all the edges. As it is defined up to a constant, on can choose ψ such that it vanishes on the three edges. Then introducing the barycentric coordinates λ1 , λ2 , λ3 of the triangle, it follows that each λi divides ψ, so that ψ = λ1λ2 λ3 ψ̃ with ψ̃ ∈ Pk−2 . y Let us now take q = ψ̃ ∈ Nk−2 . Then from (1.26) it follows that −x Z K p · q dx = Z K Z ∂y ψ y ψ̃ dx = · kλ1 λ2 λ3 ψ̃ 2 dx = 0 −∂x ψ −x K which implies that ψ̃ = 0 and thus p = 0, which is the desired result. Remark 5 The extension to 3D is straightforward, the degrees of freedom stay the same, the triangles being replaced by tetrahedra and the edges being replaced by faces. 17 ⇢ ⌫⌃ ⌧⌅⌥ ⌘ ⌦⇥ ⇤ ✓ ◆⌦⇥ ⌥⌃<< EB⌅ ◆ ⌘E#⌥ ✏ ⌫⌃⌥⌃ ✓ ⌘ ⇢⌃⇠ ⌅⌥"⇢ ⌃⇣ ⇠⌅✏⌘ ✏ ✏⇣ ◆ ⌘ ⌘⇠ ⌥ ⇠⌅✏⌘ ✏ ⌦ :✏ ⌥ ✏◆ ⌃⌘ ⌫⌃ ⇣⌃◆⌥⌃⌃⌘ ⌅⌧ ⌧⌥⌃⌃⇣⌅ ⌥⌃ ⌫⌃ ⌅ ⌃✏ ⌘ ⌅⌧ ⌫⌃ ✏⌅⌥ ⇠⌅ ⇡⌅✏⌃✏ ⇡ ⌅ ⇣⌃◆⌥⌃⌃ ✏ ⌅⌥ ⌃⌥✏ ⇢⌃ ⇥ ⌫⌃ ✏⌅⌥ ⇠⌅ ⇡⌅✏⌃✏ ✏ ↵ ⇡⌅ ✏ ⌘ ⇡⌃⌥ ⌃⇣◆⌃⌦ $⌅⌥ ⌫ ◆⌫⌃⌥ ⌅⌥⇣⌃⌥ ⌘⇡⇠⌃⌘ ⌫⌃⌘⌃ ⇣⌃◆⌥⌃⌃⌘ ⌅⌧ ⌧⌥⌃⌃⇣⌅ ⌥⌃ ⌘ ⇡⇡ ⌃ ⌃✏ ⌃⇣ ⌫ ✏ ⌃◆⌥ ⌘ ◆ ✏⌘ ⇧⌘ ⌘ ⌧⌅⌥ ⇧⇥ ⇥ ⇥⌦ ⌥⌃<< EB⌅ ◆ ⌘E#⌥ ✏ � ⇥ � � ↵ $ ◆ ⌥⌃ 0⌦04=Figure ⌫⌃ <⌃⌥⌅ ✏⇣Elements: 7 ⇣⌥ ⇠ ⇤⇢ ⌥ E ⌘ ⌥ ✏◆ ⌃⌘⌦ 1.4:⌫ ⌅⌥⇣⌃⌥ H(div)✏⌃⌥ Finite (Left) RT⌫⌅ 1 Raviart-Thomas Element, (Right) BDM2 Brezzi-Douglas-Marini Element ⇠ ⇤ ⇡↵⇧ ⌃⌅↵✓✏⇣ ⌃ ⇥⇧ 1.5.5 H(curl, Ω) conforming Finite Elements ⌥⌃<< EB⌅ ◆ ⌘E#⌥ ✏ ⌫⌃ ⇤⇢ ⌥ E ⌫⌅ ⌘ ⌃ ⌃ ⌃✏ ⌘ ✏ ⌥⌅⇣ ⇠⌃⇣ ✏ ,⇤ --/ ✏ ⌫⌃ ⌃ 01-3I⌘ ⌫⌃ ⌥⌘ Recall<⌃that a 3D⌧⌅⌥ vector u = (u1⌅⌥⇣⌃⌥ , u2 , u3⌃)> ,⇡ the curl is⌅✏⌘⌦ defined by ⇥the relation ⌃ ⌃ ⌃✏ ⌅ ⇣ ⌘⇠⌥⌃ ⌫⌃ for 6⌃⇣ ⌅⌧ ⌘⌃⇠⌅✏⇣ ⇠ ⌃7 &⌫⌅⌥ ⌃⇣23/ ✏⇣ ⌘⌅ ⌫⌃⌥⌃⌧ ⌃⌥ ⌘ ⌃6 ⌃✏⇣⌃⇣ ⌅ ⌃ ⌥⌫⌃⇣⌥ ✏⇣ ⇧⌅6⌃⌘ ⇧⇥ >H⌃⇣H⌃ ⌃⇠ ,>H ∂ u − ∂ u 2 3 3 2 ⌘ ⌘⌅ ⌃ ⌃⌘ ⌥⌃⌧⌃⌥⌥⌃⇣ ⌅ ⌘ ⌫⌃ ⇤⇢ ⌥ E ⌫⌅ ⌘E>H⌃⇣H⌃ ⌃⇠ ⌃ ⌃ ⌃✏ ⌅⌥ ⌥⌘ ) ✏⇣ ∇ × u = ∂3 u1 − ∂1 u3 . ⌃⌥ ⇥ ⌃ ⌃ ⌃✏ ⌦ ∂2 u1⌫⌃ ⌅ ⌃⌘ ⌅⌥⇣⌃⌥ 1 u2 − :✏ ⌥⌃⇠ ✏◆ ⌃⌘ ✏⇣ ⇧⌅6⌃⌘ ⌫⌃⌥⌃ ⌘ ✏ ⌥ ⌥⌃ ⌅✏∂⇧⌃ ⌃⌃✏ ⇤⇢ ⌥ E ⌫⌅ ⌘ ⌃ ⌃ ⌃✏ ✏⇣ ⇠⌃ "⇠⌃✏ ⌃⌥⌃⇣ ✏ ⌃ ⇣ ⌧⌧⌃⌥⌃✏⇠⌃⌘⌦ ⌫ ⌘ ⌘ ⌃6⇡ ⌅⌥⌃⇣ � ⇠ In 2D, there is no dependency on the third coordinate and the curl degenerates into the vector curl of a scalar, for40 the first two components and the scalar curl of a vector for the last component: curl u3 ∂2 u3 u1 ∇×u= with curl u3 = , u= , curl u = ∂1 u2 − ∂2 u1 . curl u −∂1 u3 u2 ⌦ ⌥⌅ <⌃ 6E⇤⇢ ⌥ H(curl, Ω) conforming elements have a continuous tangential component. They can thus be simply obtained in 2D by exchanging the two components of the vector in the tensor product case. For triangles, the natural finite element space, built as the Raviart-Thomas element is the Nédélec Element defined by K = (a1 , a2 , a3 ), a non degenerate triangle, y P̄k , P = Nk = (Pk )2 + −x ⇧ and the degrees of freedom are obtained from the Raviart-Thomas degrees of freedom by replacing the normal ν = (ν1 , ν2 )> by the tangent τ = (ν2 , −ν1 ). Unisolvence is also easily adapted from the Raviart-Thomas case and is based on the following A⌃⌥ ↵⇠ ⌃ Lemma 5 Let k ≥ 0, and p ∈ RTk (K) then Z p · τ r ds = 0, ∀r ∈ Pk (ei ), ei Z p · q dx = 0 ∀q ∈ (Pk−1 )2 K implies that p = 0. 18 4F (1.27) (1.28) ⇥ >H⌃⇣H⌃ ⌃⇠ ⌘ ⌦ >H⌃⇣H⌃ ⌃⇠ ⌦ + � Figure 1.5: H(curl) Finite Elements: (Left) Nédélec Element N0 of order 1, (Right) Brezzi-Nédélec Element N1 of order 2 Remark 6 The extension to 3D for tensor product element is also quite natural by considering the components separetely and noticing that in 3D there are two tangential components and three normal components. Simplex based H(curl, Ω) Finite Elements, which are constructed on tetrahedra in 3D are fundamentally different from their H(div, Ω) counterpart, unlike in 2D where one could go from one to the other by a simple rotation of the components. There are also two classes of finite elements, like Raviart-Thomas and Brezzi-Douglas-Marini in 2D, which are called respectively Nédélec elements of first type and of second type. The 3D Nédélec space in which the elements of first type live and which is used to define the degrees of freedom of the Nédélec elements of second type reads (1.29) Nk = (Pk )3 ⊕ x × (Pk )3 + � 4D and the degrees of freedom are defined by the following unisolvence lemma Lemma 6 Let K be a non degenerate tetrahedron, with faces (fi )0≤i≤4 , and edges (ei )0≤i≤6 k ≥ 0, and p ∈ Nk (K) then Z p · τ i r ds = 0, ∀r ∈ Pk (ei ), (1.30) ei Z (p × ν i ) · s ds = 0, ∀s ∈ (Pk−1 (fi ))2 , (1.31) fi Z p · q dx = 0 ∀q ∈ (Pk−2 )2 (1.32) 4D K implies that p = 0. We denote here by τ i the unit vector along the edge ei and by ν i the outward unit normal on face fi . 1.6 Change of local basis The local degrees of freedom Σ of a Finite Element defined by (K, P, Σ) can also be used to compute the element matrices with respect to the matrices corresponding to a simpler or easily computable basis of the same space P of dimension N . This could for example 19 be an orthonormal basis. This allows to compute the matrices once for all in some basis and then to get the matrices in any other basis by just computing the corresponding generalised Vandermode matrix as follows. Let us denote by (φl )0≤l≤N the reference basis in which the element matrices are known. Let now (p̂j )0≤j≤N be another basis of the same linear space P associated to the degrees of freedom (σi )0≤i≤N . Then p̂j can be expressed in the basis (φl )0≤l≤N : p̂j (x) = N X αj,l φl (x). (1.33) l=1 Denoting by p̂ = (p̂1 , . . . , p̂N )> , φ = (φ1 , . . . , φN )> and A = ((αj,l ))1≤j,l≤N , this relation can be written in matrix form p̂(x) = Aφ(x). Applying the linear forms σi to relation (1.33) for 1 ≤ i ≤ N , we get IN = V A > , (1.34) where IN is the identity matrix and V = ((σi (φj )))1≤i,j≤N . The matrix V is called generalised Vandermonde matrix, as in the case when ((φj ))1≤j≤N is the monomial basis (1, x, . . . , xN −1 ) of Pk in 1D and for a Lagrange Finite Element where σi (p̂j ) = p̂j (xi ), the matrix V is the classical Vandermonde matrix V = ((xj−1 ))1≤i,j≤N . i The generalised Vandermonde matrix V is explicitly computable when the basis (φj )j and the degrees of freedom (σi )i are explicitly known. From relation (1.34), it follows immediately that A = V −> , where we denote by V −> the inverse of the transpose of V . One can also take the derivative of formula (1.33). Thus ∂x p̂j (x) = N X αj,l ∂x φl (x), l=1 and the same for the other variables if needed. Applying again the linear form σi to this equation for 1 ≤ i ≤ N , we find Dx p̂ = Dx φA> = Dx φV −1 , where the matrices Dx p̂ and Dx φ are defined respectively by their generic element ((σi (∂x p̂j )))1≤i,j≤N and ((σi (∂x φj )))1≤i,j≤Nk . Note that if (φj )j has been chosen such Dx φ is explicitly computable, we can, thanks to this relation explicitly compute the matrix Dx p̂ and similarly the derivative matrices with respect to other variables. We can express M̂ the mass matrix on the reference element K̂ using the Vandermonde matrix V . Using formula (1.33), p̂j (x) = N X αj,l φl (x). l=1 Hence Z p̂i (x)p̂j (x) dx = K̂ N X N X Z φl (x)φm (x) dx = αi,l αj,m K̂ l=1 m=1 20 N X l=1 αi,l αj,m , if the basis functions (φj )j are orthonormal on K̂. It follows that M̂ = AA> = V −> V −1 . If the space P is stable by derivation, as is the case for the polynomial space Pk , we can also express the derivative ∂x Gh or other derivatives in the basis (pi )i and this derivative can also be characterised by the degrees of freedom (σi (∂x Gh ))1≤i≤Nk . We denote by Dx G the vector containing these degrees of freedom, which can be expressed using G as follows. We have ∂x Gh (x) = Nk X σj (Gh )∂x pj (x), j=1 and so for 1 ≤ i ≤ N , σi (∂x Gh ) = Nk X σj (Gh )σi (∂x pj ). j=1 This can also be written Dx G = (Dx p)G, denoting by Dx p the matrix with generic term ((σi (∂x pj )))1≤i,j≤N . 1.7 1.7.1 Construction of the Finite Element approximation space The mapping A conforming Finite Element space Vh , is constructed from a reference element, by mapping the reference Finite Element defined previously to a collection of physical elements that define an admissible mesh of the computational domain and ensuring that Vh ⊂ V by equating degrees of freedom on the interface. The coefficients of Finite Element matrices are defined as integrals involving the basis functions. The standard practice as well for convergence theory as for practical implementation is to make a change of variables from one unique reference element to each of the other elements. For Lagrange Finite Elements affine transformation can be used for simplices and multi-linear transformation for tensor product elements. For higher order elements, when one wants to get a corresponding high order approximation of the boundary, a polynomial transformation of the same order as the Finite Element approximation of the elements touching the boundary is used. This is called isoparametric Finite Elements. Let us call K̂ ⊂ Rd the reference element and K ⊂ Rd any element of the physical mesh. We then define the mapping F : K̂ → K, x̂ = (x̂1 , . . . , x̂d )> 7→ x = F(x̂) = (F1 (x̂)), . . . , Fd (x̂)))> . As differential operators are involved we will need the Jacobian matrix of the mapping, denoted by ∂Fi DF (x̂) = . ∂ x̂j 1≤i,j≤d Let us denote by J(x̂) = det(DF (x̂)), for any scalar function v(x), v̂(x̂) = v(F(x̂)), by ˆ = ( ∂ , . . . , ∂ )> . We then find, using the chain ∇ = ( ∂x∂ 1 , . . . , ∂x∂ d )> and finally by ∇ ∂ x̂1 ∂ x̂d rule that d X ∂v̂ ∂Fi ∂v = . ∂ x̂j ∂ x̂j ∂xi i=1 21 a2 a2 t2 t2 a1 n2 a1 t1 t1 a0 a0 n1 Figure 1.6: Left: Tangent basis, Right: Tangent and cotangent basis vectors So that ˆ ˆ ∇v̂(x̂) = (DF )> ∇v(x) ⇒ ∇v(x) = (DF )−> ∇v̂(x̂). (1.35) An important special case is when F is an affine map. This is typically used for simplicial Finite Elements (except on the boundary for high order elements as it brings back the method to second order). The classical Finite Element theory is also based on affine mappings. In this case F(x̂) = Ax̂ + b, where A is a d × d matrix and b a d−component column vector. For a simplicial mesh, the affine transformation, that is the components of A and b, is completely determined by the imposing that F(âi ) = ai 0 ≤ i ≤ d, i.e. that all vertices of the reference element K̂ are mapped to the vertices of the current element K. We then have, for â0 = (0, . . . , 0) and the components of ai,j (1 ≤ j ≤ d) of âi are all 0 except the ith component which is 1, a1,1 − a0,1 a2,1 − a0,1 . . . ad,1 − a0,1 a1,2 − a0,2 a2,2 − a0,2 . . . ad,2 − a0,2 A= , b = a0 . .. .. .. . . ... . a1,d − a0,d a2,d − a0,d . . . ad,d − a0,d The jacobian matrix of the affine transformation is then the matrix A. 1.7.2 Bases of tangent and cotangent spaces in curvilinear coordinates A mapping from F : Rd → Rd defines a curvilinear coordinate system, which induces a natural vector space called tangent space a each point. The column vectors of the ∂F jacobian matrix DF(x̂), ti = ∂x 1 ≤ i ≤ d define a basis of the tangent space, which i is the image of the canonical basis under the tangent map defined by the Jacobian matrix DF(x̂). In the case of an affine map F(x̂) = Ax̂ + b, mapping the reference ddimensional simplex into the simplex (a0 , . . . ad ), we have DF(x̂) = A, independently of x̂ and then ti = ai − a0 , so that the tangent basis consists of the vectors going from a0 to each of the other vertices of the simplex. See Figure 1.6 for a sketch in a triangle. Note that the direction and length of the tangent basis vectors ti are completely determined by the mapping F. They form a basis of Rd provided DF(x̂) is invertible at all points, in other words, provided the mapping F is a C 1 diffeomorphism. However this basis is in general neither orthogonal nor normed. In an orthonormal basis the coefficients of any vector in this basis v = v1 e1 + · · · + vd ed can be expressed in the euclidian space Rd , i.e. endowed with a scalar product, by vi = v · ei . This does not work anymore in a non-orthogonal basis. This is why in this case it is useful to use the 22 dual basis, which consists of elements of L(Rd ), that is linear forms on Rd , which map any vector to a real number. The dual basis is by definition the unique basis of the dual space such that di (tj ) = δi,j . Thanks to the scalar product, in a euclidian space, each element di of the dual basis can be uniquely associated to a vector ni of Rd by defining ni as the unique vector verifying ni · v = di (v) ∀v ∈ Rd . Considering now the basis (t1 , . . . , td ), the dual basis n1 , . . . , nd ∈ Rd is defined by ni · tj = δi,j , which means that ni is locally orthogonal to the hyperplane defined by (tj )j6=i and normed by ni · ti = 1. For an affine mapping defined by a simplex, as introduced above, ni is normal to the face defined by all the vertices but ai . See Figure 1.6 for a drawing in R2 . An orthonormal basis is a special case: if the primal basis (t1 , . . . , td ) is orthonormal, then we have, following the definition of the dual basis, that ni = ti for i = 1, . . . , d. Lemma 7 The matrix N (x̂) = [n1 , . . . , nd ], whose columns are the elements of the dual basis of (t1 , . . . , td ) verifies N (x̂) = (DF(x̂))−> . (1.36) Proof. Let us denote DF(x̂) = [t1 , . . . , td ] to highlight that the tangent vectors are the columns of the Jacobian matrix. Then, due to the definition of the dual basis, we notice that N > DF = ((ni · tj ))1≤i,j≤d = ((δi,j ))1≤i,j≤d = Id . This shows that N > = (DF)−1 , which is equivalent to the result we are looking for. Proposition 1 In a three dimensional space (d = 3), the normal vectors are obtained from the tangent vector through the following relation: n1 = 1 t2 × t3 , J n2 = 1 t3 × t1 , J n3 = 1 t1 × t2 . J Proof. As n1 is by definition orthogonal to t2 and t3 is is colinear to t2 × t3 and can be written n1 = αt2 × t3 for some scalar α. Now as t1 · n1 = 1 and t1 · t2 × t3 = J, we find α = 1/J. The same reasoning applies to the two other components. Remark 7 In the physics literature, the tangent basis is generally called covariant basis and the basis of the dual cotangent space is called contravariant basis. 1.7.3 H 1 conforming Finite Elements Let us build the conforming Finite Element space Vh0 based on the reference element S (K̂, P̂ , Σ̂) as a subspace of H 1 (Ω). For this we need a mesh denoted by T = 1≤e≤Nel Ki consisting of Nel disjoint conforming elements denoted each by Ki . On this mesh we can then define Vh0 ⊂ H 1 (Ω) by Vh0 = {vh ∈ C 0 (Ω) | vh|Ke = v̂e ◦ Fe−1 ∈ P̂ , 1 ≤ e ≤ Nel }. This means that the space Vh0 is defined element by element and that the finite dimensional space on each element is defined as composition of the reference element space P̂ 23 and the local element mapping Fe . In the case when Fe is an affine mapping and P̂ is a polynomial space, the mapped space is still a polynomial space of the same degree, but not in the general case. Let us denote by N = dim Vh0 the dimension of the full Finite Element approximation space, and N̂ = dim P̂ the dimension of the local approximation space on each Element. If there are degrees of freedom shared between several elements we have N < Nel N̂ , and in all cases N ≤ Nel N̂ . The Finite Element space Vh0 being defined, the next step is to restrict the variational formulation of the problem being considered to functions in Vh0 . For the Poisson problem with Neumann boundary conditions (1.18) this leads to the following discrete variational formulation: Find uh ∈ Vh0 such that Z Z Z Z gvh dσ ∀vh ∈ Vh0 . (1.37) f vh dx + uh vh dx = ∇uh · ∇vh dx + ∂Ω Ω Ω Ω This discrete variational formulation now this to be transformed to a linear system for practical implementation on a computer. To this aim, the integrals need to be decomposed on single elements and then mapped back to the reference elements so that the basis functions of the reference Finite Element space P̂ can be plugged in. First splitting the integrals over the elements (1.37) becomes Nel Z X e=1 Ke ∇uh · ∇vh dx + Nel Z X uh vh dx = Ke e=1 Nel Z X e=1 f vh dx + Ke N bel Z X e=1 gvh dσ Γe ∀vh ∈ Vh0 . The last sum is on the element touching the boundary of Ω. The next step is to make the change of variables x = Fe (x̂) in the integral over Ki . Then dx = J(x̂) dx̂, where as introduced above, J = det DF . In the integrals not involving derivatives we then simply get Z Z Z Z uh vh dx = Ke ûe v̂e J dx̂, K̂ f vh dx = Ke f v̂e J dx̂. K̂ The boundary integral is dealt with the same way, using the restriction of the element mappings to the boundary and the appropriate Jacobian in the change of variables. For the integral involving the gradients, we need to make use of the chain rule (1.35) Z Z ˆ e · (DF )−> ∇v̂ ˆ e J dx̂. ∇uh · ∇vh dx = (DF )−> ∇û K̂ Ke Finally, we can express ûe , v̂e ∈ P̂ , on the basis of P̂ corresponding to the degrees of freedom Σ̂. Let us denote by (ϕ̂i )1≤i≤N̂ this basis. Then ûe (x̂) = N̂ X uj ϕ̂j (x̂), v̂e (x̂) = j=1 N̂ X vi ϕ̂i (x̂). i=1 By plugging these expressions in the element integrals defining the variational formulation we obtain a linear system. First Z Z Z X > ûe v̂e J dx̂ = uj vi ϕ̂i ϕ̂j J dx̂ = V M̂e U, with M̂e = (( ϕ̂i ϕ̂j J dx̂))1≤i,j≤N̂ K̂ 1≤i,j≤N̂ K̂ K̂ 24 where M̂e is called the element mass matrix, V = (v1 , . . . , vN̂ )> , U = (u1 , . . . , uN̂ )> . In the same way Z Z > −> ˆ −> ˆ ˆ ϕ̂j J dx̂. ˆ ϕ̂i ·(DF )−> ∇ (DF )−> ∇ (DF ) ∇ûe ·(DF ) ∇v̂e J dx̂ = V Âe U, with Âe = K̂ K̂ Âe is called the element stiffness matrix. Assuming for simplicity that the boundary term g vanishes, it remains to assemble the right-hand-side depending on f . The contribution on the element Ke is obtained by Z f v̂e J dx̂ = K̂ N̂ X i=1 Z > f ϕ̂i J dx̂ = V̂ b, vi K̂ Z with b = (( f ϕ̂i J dx̂))1≤i≤N̂ . K̂ From local to global. To go from the element matrices to the global matrices, the sum over the elements need to be performed and contributions of degrees of freedom shared between different elements need to be added. For this a data structure associating a global number for each degree of freedom from the local number in each element needs to be created. This can define by a function Ψ which to a couple, (element, local degree of freedom) (e, i) associates the global number of the degree of freedom I (1 ≤ I ≤ dim(Vh0 )) of the basis function ϕi of Vh0 such that (ϕI )|Ke = ϕ̂i . Then the global matrix A is obtained by the algorithm: A=0; for e = 1, Nel do for i, j = 1, N̂ do A(Ψ(e, i), Ψ(e, j)) = A(Ψ(e, i), Ψ(e, j)) + Âe (i, j), end end where Âe is the element stiffness matrix on Ke . The same procedure applies to all matrices involved in the variational formulation and also to the right-hand-side. 1.7.4 H(curl, Ω) conforming Finite Elements Let us consider here the 3D case in which the curl operator is naturally defined. The 2D case can be obtained as a special case. The H(curl, Ω) function space and its conforming approximation consists of vectors. Hence on a change of basis, one needs to decide how the components of the vectors are transformed. In order to have a natural map of the tangents to a face used in the definition of the degrees of freedom and that guarantee conformity, the vectors defining the edges of the reference element needed to be mapped to either the covariant or the contravariant basis associated to the mapping. In the H(curl, Ω) case it turns out that the right basis is the contrariant basis (n1 , n2 , n3 ). A vector v on the image element is defined from a vector v̂ on the reference element by the transformation v(x) = (DF(x̂))−> v̂(x̂), with x = F(x̂). (1.38) This transformation is called the covariant Piola transform. In the context of differential forms it is the natural pullback transformation of a 1-form (in a 3D space). 25 As the columns of (DF (x̂))−> are (n1 , n2 , n3 ) as observed in (1.36), we see with this transformation formula that v(x) = v̂1 (x̂)n1 (x̂) + v̂2 (x̂)n2 (x̂) + v̂3 (x̂)n3 (x̂), (1.39) and in particular that the canonical basis (ê1 , ê2 , ê3 ) on the reference element is mapped into (n1 , n2 , n3 ). We will also need the images of the outward normals to the faces of the reference elements by this mapping. Lemma 8 The image of any outward normal ν̂ of the reference element by the mapping (1.38) is λν, with λ = kni k in case the face of the referece element is orthogonal to êi √ and for the face opposite to the origin in the case of a tetrahedron λ = kn1 + n2 + n3 )k/ 3. Proof. The unit outward normal is constant on each face of the reference element. For a tetrahedral reference element the unit normal to the face opposite to a1 is ν̂ 1 = ê1 = (1, 0, 0)> , to the face opposite to a2 is ν̂ 2 = ê2 = (0, 1, 0)> and to the face opposite to a3 is ν̂ 3 = ê3 = (0, 0, 1)> . Hence ν̂ i is mapped into ni the corresponding vector of the contravariant basis. Because the outward unit vector on each face is orthogonal to the face, ni and ν are aligned and in the same direction. So the scaling factor with respect to the unit normal τ , whose norm is one, is given by kni k. On the face opposite to â0 , the outward unit normal is ν̂ = √13 (ê1 + ê2 + ê3 ), which is mapped by the transformation to n = √13 (n1 + n2 + n3 ). On the other hand, this n is orthogonal to the face (a1 , a2 , a3 ) of the element as n · (t2 − t1 ) = n · (t3 − t1 ) = 0. Here the scaling factor compared to the unit normal is knk. In the case of a cubic reference element, all the normals are parallel to one of the vector êi and the first part of the tetrahedron case applies. In order to get an expression of a variational formulation defined in H(curl, Ω), we now need to compute the curl of a vector in this basis. Proposition 2 We have the following properties: 1. For any vector field v, defining Dv the Jacobian matrix of v, we have (∇ × v) × w = (Dv)T − Dv w ∀w ∈ Rd . 2. The transformation rule of the Jacobian matrix under the transformation (1.38) reads Dv(x) = S(x̂) + (DF(x̂))−> D̂v̂(x̂)(DF(x̂))−1 where S is a symmetric matrix. 3. The transformation rule for the curl under the transformation (1.38) reads ∇ × v(x) = 1 ˆ × v̂(x̂). DF(x̂)∇ J(x̂) (1.40) Proof. 1. Can be checked by comparing the expressions on the left and right hand sides. 2. We can express(1.38) as v̂(x̂) = (DF)> (x̂)v(F(x̂)), 26 so that v̂i (x̂) = 3 X ∂Fk (x̂) k=1 ∂ x̂i vk (F(x̂)). Let us now compute the coefficient on line i and column j of Dv̂(x̂). 3 X ∂v̂i = ∂ x̂j k=1 X 3 ∂ 2 Fk (x̂) vk (F(x̂)) + ∂ x̂i ∂ x̂j k=1 3 ∂Fk (x̂) X ∂Fl ∂vk ∂ x̂i ∂ x̂j ∂xl ! , l=1 so that we recognise that D̂v̂ = S̃ + (DF)> (Dv(x))(DF), 2 P where S̃ = 3k=1 ∂∂ x̂Fik∂(x̂) v (F(x̂)) is obviously symmetric. Multiplying this expression x̂j k by (DF)−> on the left and by (DF)−1 on the right yields the result. 3. Using 1. and 2. we get, for an arbitrary vector w ∈ R3 we find ˆ × v̂) × (DF)−1 w . (∇ × v) × w = (DF)−> (D̂v̂)> − D̂v̂ (DF)−1 w = (DF)−> (∇ (1.41) Not denoting by c1 , c2 , c3 the columns of the matrix (DF)−1 and taking w = e1 = (1, 0, 0)> so that (DF)−1 w = c1 , we notice that ˆ × v̂) × c1 0 c1 · (∇ 0 ˆ × v̂) . ˆ × v̂) × c1 = c1 × c2 · (∇ (∇ × v) × e1 = (∇ × v)3 = c2 · (∇ ˆ × v̂) ˆ −(∇ × v)2 −c3 × c1 · (∇ c3 · (∇ × v̂) × c1 And in the same way taking w = e2 the second vector of the canonical basis ˆ × v̂) × c2 −c1 × c2 · (∇ ˆ × v̂) c1 · (∇ −(∇ × v)3 ˆ × v̂) × c2 = = c2 · (∇ . 0 0 (∇ × v) × e2 = ˆ ˆ × v̂) × c2 (∇ × v)1 c2 × c3 · (∇ × v̂) c3 · (∇ It now remains to ckeck that the inverse DF of (DF)−1 is defined by its three lines (c2 × c3 )/J, (c3 × c1 )/J, (c1 × c2 )/J to realise that the three components of the curl indeed satisfy (1.40). Now using transformation (1.38) one can check by direct computation that all terms appearing in the curl Green’s formula (1.8) including the normal component are exactly preserved. Proposition 3 We have the following properties: (i) Z K ∇ × u · v dx = Z K̂ ˆ × û · v̂ dx̂ ∇ (1.42) (ii) For any face fi on the boundary of K image of the face fˆi of the reference element Z Z u × ν · v dσ = û × ν̂ · v̂ dσ̂ (1.43) fˆi fi 27 We observe in particular, that the term involving the curl is completely independent of the metric and has the same expression under any mapping. This is true also for the boundary term. Proof. (i) Let us observe, as the columns of DF are the vectors t1 , t2 , t3 that due to (1.40) 1 ∇ × u(x) = (c1 t1 + c2 t2 + c3 t3 ) , J(x̂) where c1 = ∂x̂2 û3 − ∂x̂3 û2 , c2 = ∂x̂3 û1 − ∂x̂1 û3 , c3 = ∂x̂1 û2 − ∂x̂2 û1 . Then, making the change of variables x = F(x̂), dx = J(x̂) dx̂ and plugging this expression into (1.42), we find Z Z 1 ∇ × u · v dx = (c1 t1 + c2 t2 + c3 t3 ) · (v̂1 n1 + v̂2 n2 + v̂3 n3 )J(x̂) dx̂ K̂ J(x̂) K Z Z ˆ × û · v̂ dx̂. (c1 v̂1 + c2 v̂2 + c3 v̂3 ) dx̂ = ∇ = K̂ K̂ (ii) Lemma 8 gives us the image of the reference unit normal by the mapping. Let us first consider the case of a face of the reference element parallel to a coordinate plane. Let us express u and v in the contravariant basis using formula (1.39) and plug it into the expression of the left-hand side of (1.43), considering the face orthogonal to n1 , the others being dealt with in the same way. Note also that the boundary is defined as a parametric surface for which the area measure is defined by dσ = kt2 × t3 k dσ̂, where dσ̂ = dx̂2 dx̂3 . We use also that by definition of n1 we have kt2 × t3 k = Jkn1 k. We introduce the parameter s to indicate whether n1 and ν are in the same direction or not. Z fi u × ν · v dσ = Z fˆi (û1 (x̂)n1 (x̂) + û2 (x̂)n2 (x̂) + û3 (x̂)n3 (x̂)) × (sn1 /kn1 k) · (v̂1 (x̂)n1 (x̂) + v̂2 (x̂)n2 (x̂) + v̂3 (x̂)n3 (x̂))Jkn1 k dx̂2 dx̂3 Z = s (û3 v̂2 − û2 v̂3 )(n3 × n1 · n2 )J dx̂2 dx̂3 = s (û3 v̂2 − û2 v̂3 ) dx̂2 dx̂3 fˆi fˆi Z û × ν̂ 1 · v̂ dσ̂ = Z fˆi as n3 × n1 · n2 = 1/J We can now assemble the matrices involved in a variational formulation posed on H(curl, Ω). Let us consider for example the variational formulation Find u ∈ H(curl, Ω) such that Z Z Z u · v dx + ∇ × u · ∇ × v dx = f · v dx ∀v ∈ H(curl, Ω). (1.44) Ω Ω Ω Let us build the conforming Finite Element space Vh1 ⊂ H(curl, Ω) based on the reference S element (K̂, P̂ 1 , Σ̂1 ). For this we need a mesh denoted by T = 1≤e≤Nel Ki consisting of Nel disjoint conforming elements denoted each by Ki . On this mesh we can then define Vh1 ⊂ H(curl, Ω) by Vh1 = {vh ∈ H(curl, Ω) | vh|Ke = (DF)−> v̂e ◦ Fe−1 ∈ P̂ 1 , 1 ≤ e ≤ Nel }. 28 Now we can in the variational formulation (1.44) replace H(curl, Ω) by Vh1 and u and v by their discrete counterparts uh (x) = N1 X uj ϕ1j (x), vh (x) = j=1 N1 X vi ϕ1i (x), i=1 where (ϕ1i )1≤i≤N1 stands for the basis of Vh1 associated to the Finite Element. As for the H 1 (Ω) conforming case, plugging these expressions into the variational formulation leads to the matrix expression: V > M1 U + V > A1 U = V > b, R R where M1 = (( Ω ϕ1i · ϕ1j dx))i,j is the mass matrix in Vh1 , A1 = (( Ω ∇ × ϕ1i · ∇ × R ϕ1j dx))i,j , and b = ( f · ϕ1i )i . There now only remains to compute these integrals. Let us start with the mass matrix M1 . Z Ω ϕ1i · ϕ1j dx = Nel Z X e=1 Ke ϕ1i · ϕ1j dx. Then on each element Ke we make the change of variables x = Fe (x̂), dx = Je (x̂) dx̂ to get Z Z ϕ1i · ϕ1j dx = (DFe )−> ϕ̂1i · (DFe )−> ϕ̂1j Je dx̂, Ke ZK̂ = (ϕ̂1i,1 n1 + ϕ̂1i,2 n2 + ϕ̂1i,3 n3 ) · (ϕ̂1j,1 n1 + ϕ̂1j,2 n2 + ϕ̂1j,3 n3 )Je dx̂, K̂ Z = (ϕ̂1i )> Gen ϕ̂1j Je dx̂, K̂ where Gen = ((ni · nj ))1≤i,j≤3 is the contravariant metric tensor. This is the element mass matrix on the element Ke as for the H 1 (Ω), the full mass matrix is obtained by summing up the contributions from the different elements. The procedure is the same for the A1 matrix. Let us here simply compute the expression of the element matrix, using the expression of the curl given in (1.40): Z Z 1 1 1 ˆ × ϕ̂1 · 1 (DFe )∇ ˆ × ϕ̂1 Je dx̂, ∇ × ϕi · ∇ × ϕj dx = (DFe )∇ i j J J e e Ke ZK̂ 1 = (ci,1 t1 + ci,2 t2 + ci,3 t3 ) · (cj,1 t1 + cj,2 t2 + cj,3 t3 ) dx̂, Je ZK̂ 1 ˆ × ϕ̂1 )> Ge ∇ ˆ × ϕ̂1 dx̂, = (∇ i t j Je K̂ ˆ ϕ̂i = (ci,1 , ci,2 , ci,3 )> and Get = ((ti ·tj ))1≤i,j≤3 is the covariant where we have denoted ∇× metric tensor. 1.7.5 H(div, Ω) conforming Finite Elements The H(div, Ω) function space and its conforming approximation also consist of vectors. Hence on a change of basis, one needs to decide how the components of the vectors 29 are transformed. In order to have a natural map of the normal to a face used in the definition of the degrees of freedom and that guarantee conformity, the vectors defining the edges of the reference element needed to be mapped to either the covariant or the contravariant basis associated to the mapping. In the H(div, Ω) case it turns out that the right basis is the covariant basis (t1 , t2 , t3 ). From the expression of the transformation rule for the curl (1.40) we see that components are exactly conserved if in addition we scale the length by 1/J(x̂). This then leads to the following transformation rule v(x) = 1 DF(x̂)v̂(x̂), J(x̂) with x = F (x̂). (1.45) This transformation is called the contravariant Piola transform. In the context of differential forms it is the natural pullback transformation of a 2-form (in a 3D space). In order to get an expression of a variational formulation defined in H(div, Ω), we now need to compute the curl of a vector in this basis. Proposition 4 We have the following properties (i) The jacobian matrix of a vector field transforms in the following way Dv = T + 1 (DF(x̂))−1 D̂v̂(x̂)(DF(x̂)), J(x̂) (1.46) where T is a matrix with vanishing trace. (ii) The divergence transforms under the transformation rule (1.45) ∇ · v(x̂) = 1 ˆ ∇ · v̂(x̂). J(x̂) (1.47) Proof. (i) The vector field v given by transform (1.45) can also be expressed on the covariant basis by 1 v = (v̂1 t1 + v̂2 t2 + v̂3 t3 ). J Taking the dot product with ni yields v̂i = Jni · v, so that the derivative becomes 3 3 X X ∂ x̂i ∂vk ∂xl ∂v̂i ∂Jni ∂v ∂Jni = · v + Jni · = ·v+J , ∂ x̂j ∂ x̂j ∂ x̂j ∂ x̂j ∂xk ∂xl ∂ x̂j k=1 l=1 as ni = ∂ x̂i ∂ x̂i ∂ x̂i ∂x1 , ∂x2 , ∂x3 > i . Now denoting by T̃ = (( ∂Jn ∂ x̂j · v))1≤i,j≤3 , this implies that D̂v̂ = T̃ + J(DF)Dv(DF)−1 . Let us not verify that the trace of T̃ vanishes. To this aim let us first recall that Jn1 = t2 × t3 , Jn2 = t3 × t1 , Jn3 = t1 × t2 . ∂t Moreover from the expression of tj we find that ∂∂tx̂ij = ∂ x̂ji , so that ∂t3 ∂t3 ∂t1 ∂t1 ∂t2 tr T̃ = × t3 + t2 × + × t1 + t3 × + × t2 + t1 × ∂ x̂1 ∂ x̂1 ∂ x̂2 ∂ x̂2 ∂ x̂3 ∂t2 ∂t2 ∂t3 ∂t3 ∂t3 = × t3 + t3 × + t2 × + × t2 + × t1 + t1 × ∂ x̂1 ∂ x̂1 ∂ x̂1 ∂ x̂1 ∂ x̂2 = 0. 30 ∂t2 · v, ∂ x̂3 ∂t3 · v, ∂ x̂2 We get the desired result by dividing by j, multiplying by (DF)−1 on the left and by (DF). Indeed the matrix T obtained from T̃ in this process is similar to T̃ up to the scalar scaling factor J and as similar matrices have the same trace it follows that tr T = 0. (ii) Relation (1.47) is obtained by taking the trace of (1.46) and using again that similar matrices have the same trace and that tr T = 0 Now using transformation (1.45) one can check by direct computation that all terms appearing in the divergence Green’s formula (1.7) including the normal component are exactly preserved. Proposition 5 We have the following properties: (i) Z K u · ∇ϕ dx = Z K̂ ˆ ϕ̂ dx̂ û · ∇ (1.48) ˆ · û ϕ̂ dx̂ ∇ (1.49) (ii) Z K ∇ · u ϕ dx = Z K̂ (iii) For any face fi on the boundary of K image of the face fˆi of the reference element Z Z u · ν ϕ dσ = û · ν̂ ϕ̂ dσ̂ (1.50) fˆi fi We observe in particular, that all these terms are completely independent of the metric and have the same expression under any mapping. Proof. (i) Let us as usual perform the change of variables x = F(x̂) dx = J(x̂) dx̂, using the transformation rule (1.45) for u in the integral Z Z Z 1 −> ˆ ˆ ϕ̂ dx̂. u · ∇ϕ dx = (DF)û · (DF) ∇ϕ̂J dx̂ = û · ∇ K K̂ J K̂ (ii) With the same change of variable and transformation rule for u, using (1.47) we find Z Z Z 1ˆ ˆ · û ϕ̂ dx̂ ∇ · u ϕ dx = ∇ · û ϕ̂J dx̂ = ∇ K K̂ J K̂ (iii) Here the face fi is defined as a parametrized surface, the parametrization being given by one of the faces of the reference element. Let us do the computation for the face on the (x̂1 , x̂2 ) plane for with the normal vector is ν̂ = −ê3 . The parametrization is then defined by (x̂1 , x̂2 ) 7→ F(x̂1 , x̂2 , 0) and the measure is dσ = kt1 × t2 k dx̂1 dx̂2 = Jkn3 k dx̂1 dx̂2 . 31 Moreover the outward unit normal vector is related to the contravariant vector n3 , which is by definition orthogonal to the face, by ν = −n3 /kn3 k. Finally, applying the transformation rule (1.45) for u we get Z Z 1 n3 u · ν ϕ dσ = − (DF)û · ϕ̂Jkn3 k dx̂1 dx̂2 kn3 k fi fˆi J Z Z Z = − (û1 t1 + û2 t2 + û3 t3 ) · n3 ϕ̂ dx̂1 dx̂2 = − û3 ϕ̂ dx̂1 dx̂2 = û · ν̂ ϕ̂ dx̂1 dx̂2 fˆi fˆi fˆi To conclude, we assemble the matrices involved in a variational formulation posed on H(div, Ω). Let us consider for example the variational formulation Find u ∈ H(div, Ω) such that Z Z Z f · v dx ∀v ∈ H(div, Ω). (1.51) ∇ · u · ∇ · v dx = u · v dx + Ω Ω Ω We need to build the conforming Finite Element space Vh2 ⊂ H(div, Ω) based on the H(div, Ω) S reference element (K̂, P̂ , Σ̂). For this we consider as previously a mesh denoted by T = 1≤e≤Nel Ki consisting of Nel disjoint conforming elements denoted each by Ki . On this mesh we can then define Vh2 ⊂ H(div, Ω) by Vh2 = {vh ∈ H(div, Ω) | vh|Ke = 1 (DF)v̂e ◦ Fe−1 ∈ P̂ , 1 ≤ e ≤ Nel }. J Now we can in the variational formulation (1.44) replace H(div, Ω) by Vh2 and u and v by their discrete counterparts uh (x) = N2 X uj ϕ2j (x), vh (x) = j=1 N2 X vi ϕ2i (x), i=1 where (ϕ2i )1≤i≤N2 stands for the basis of Vh2 associated to the Finite Element. As for the H 1 (Ω) and H(curl, Ω) conforming case, plugging these expressions into the variational formulation leads to the matrix expression: V > M2 U + V > A2 U = V > b, R R where M2 = (( Ω ϕ2i · ϕ2j dx))i,j is the mass matrix in Vh2 , A2 = (( Ω ∇ · ϕ2i ∇ · ϕ2j dx))i,j , R and b = ( f · ϕ2i )i . There now only remains to compute these integrals. Let us start with the mass matrix M2 Z Nel Z X 2 2 ϕi · ϕj dx = ϕ2i · ϕ2j dx. Ω e=1 Ke Then on each element Ke we make the change of variables x = Fe (x̂), dx = Je (x̂) dx̂, using the contravariant Piola transform (1.45) for the vectors to get Z Z 1 1 2 2 (DFe )ϕ̂2i · (DFe )ϕ̂2j Je dx̂, ϕi · ϕj dx = Je Je Ke ZK̂ 1 2 = (ϕ̂i,1 t1 + ϕ̂2i,2 t2 + ϕ̂2i,3 t3 ) · (ϕ̂2j,1 t1 + ϕ̂2j,2 t2 + ϕ̂2j,3 t3 ) dx̂, J e ZK̂ 1 = (ϕ̂2i )> Gt ϕ̂2j dx̂, Je K̂ 32 where Gt = ((ti · tj ))1≤i,j≤3j is the covariant metric tensor. This is the element mass matrix on the element Ke as for the H 1 (Ω), the full mass matrix is obtained by summing up the contributions from the different elements. The procedure is the same for the A2 matrix. Let us here compute the expression of the element matrix, using the expression of the divergence given in (1.47): Z Z 1 ˆ 1 ˆ 2 2 ∇ · ϕi ∇ · ϕj dx = ∇ · ϕ̂2i ∇ · ϕ̂2j Je dx̂, Je Ke K̂ Je Z 1 ˆ ˆ · ϕ̂2j dx̂. = ∇ · ϕ̂2i ∇ J e K̂ Note that here the divergence is a scalar. There is no metric tensor in the matrix. Only the inverse Jacobian is present because of the mapping. 1.8 Convergence of the Finite Element method The Ritz-Galerkin method consists in finding an approximate solution uh in a finite dimensional subspace of V . For convergence studies one needs to consider a sequence of subspaces of V of larger and larger dimension so that they get closer to V . One then defines a sequence of problems parametrised by h that read: Find uh ∈ Vh such that a(uh , vh ) = l(vh ) ∀vh ∈ Vh , (1.52) where Vh ⊂ V is a vector space of dimension N . Let PN(ϕ1 , . . . , ϕN ) a basis of Vh . An element uh ∈ Vh can then be expanded as uh (x) = j=1 uj ϕj (x). Taking vh = ϕi the equation (1.52) becomes using the linearity N X uj a(ϕj , ϕi ) = l(ϕi ). j=1 Then using the symmetry of a, we notice that the discrete variational formulation(1.52) is equivalent to the linear system AUh = L, (1.53) where A = (a(ϕi , ϕj ))1≤i,j≤N , L is the column vector with components l(ϕi ) and U is the column vector with the unknowns ui that are the coefficients of uh in the basis (ϕ1 , . . . , ϕN ). Theorem 2 Assume that a is a symmetric continuous and coercive bilinear form on a Hilbert space V and l a continuous linear form on V . Then the system (1.53) is equivalent to the discrete variational form (1.52) and admits a unique solution Proof. For vh ∈ Vh , we denote by Ṽ the vector of its components in the basis (ϕ1 , . . . , ϕN ). • Thanks to the bilinearity of a and the linearity of l the relation (1.52) can be written equivalently t Ṽ AUh = t Ṽ L ∀Ṽ ∈ RN , (1.54) which means that the vector AUh − L ∈ RN is orthogonal to all the vectors of RN , and so is the zero vector. Conversely it is clear that (1.53) implies (1.54) and so (1.52). 33 • Let vh ∈ Vh . Then, as a is coercive, there exists α > 0 such that t Ṽ AṼ = a(vh , vh ) ≥ αkvh k2 ≥ 0, and t Ṽ AṼ = 0 = a(vh , vh ) ⇒ kvh k = 0, which implies that vh = 0 and so Ṽ = 0. So A is symmetric, positive definite and therefore invertible. After making sure the approximate solution exists for some given space Vh , one needs to make sure the approximation converges towards the exact solution. This results from two properties: 1) The Galerkin orthogonality, which comes from the conforming Gakerkin approximation, 2) The approximability property, which makes sure that for any v ∈ V there exist vh in some finite dimensional space of the family which is close enough to v. Lemma 9 (Céa) Let u ∈ V the solution of (1.19) and uh ∈ Vh the solution of (1.52), with Vh ⊂ V . Then ku − uh k ≤ C inf ku − vh k. vh ∈Vh Proof. We have a(u, v) = l(v) ∀v ∈ V, a(uh , vh ) = l(vh ) ∀vh ∈ Vh , as Vh ⊂ V , we can take v = vh in the first equality and take the difference which yields a(u − uh , vh ) = 0 ∀vh ∈ Vh . It results that a(u − uh , u − uh ) = a(u − uh , u − vh + vh − uh ) = a(u − uh , u − vh ), as vh − uh ∈ Vh and so a(u − uh , vh − uh ) = 0. Then there exists α > 0 and β such that αku − uh k2 ≤ a(u − uh , u − uh ) ≤ a(u − uh , u − vh ) ≤ βku − uh kku − vh k Whence ku − uh k ≤ infimum in Vh . β α ku as a is coercive, ∀vh ∈ Vh , as a is continuous. − vh k for all vh ∈ Vh . We get the desired results taking the For the global error estimates, we make the following hypotheses on the triangulation Th , where we denote by hK the diameter of the circumscribed circle and ρK the diameter of the inscribed circle of triangle K: (H1) We assume that the family of triangulations is regular in the following sense: (i) There existes a constant σ such that ∀K ∈ ∪h Th (ii) The quantity h = max hK tend to 0. K∈h 34 hK ≤ σ. ρK (H2) All finite elements (K, P, Σ), K ∈ ∪h Th are affine equivalent to a unique reference element (K̂, P̂ , Σ̂). (H3) All finite elements (K, P, Σ), K ∈ ∪h Th are of class C 0 . Theorem 3 We assume the hypotheses (H1), (H2) and (H3) are verified. Moreover we assume that there exists an integer k ≥ 1 such that Pk ⊂ P̂ ⊂ H 1 (K̂), H k+1 (K̂) ⊂ C 0 (K̂) (true if k + 1 > d , K̂ ⊂ Rd ). 2 Then there exists a constant C independent of h such that for any function v ∈ H k+1 (Ω) we have kv − πh vk0 ≤ Chk+1 |v|k+1,Ω , |v − πh v|1 ≤ Chk |v|k+1,Ω , where πh is the finite element interpolation operator of the finite element (K, P, Σ) defined by N X πh v = σi (v) pi , i=1 where σi ∈ Σ and pi the corresponding basis function of P . We consider a variational problem posed in V ⊂ H 1 (Ω). Theorem 4 We assume that (H1), (H2) and (H3) are verified. Moreover we assume that there exists an integer k ≥ 1 such that k + 1 > d2 with Pk (K̂) ⊂ P ⊂ H 1 (K̂) and that the exact solution of the variational problem is in H k+1 (Ω), then ku − uh k1,Ω ≤ Chk |u|k+1,Ω , where uh ∈ Vh is the discrete solution. Proof. We have because of the polynomial approximation theorem ku − πh uk1,Ω ≤ Chk |u|k+1,Ω . On the other hand Céa’s lemma gives us ku − uh k1,Ω ≤ C inf ku − vh k1,Ω ≤ Cku − πh uk1,Ω . vh ∈Vh The result follows. 35 Chapter 2 Non conforming and mixed Finite Element methods 2.1 Variational crimes We introduce here a framework that can be used when the hypothesis of the conforming finite element methods breakdown, either because the discretisation space Vh is not included in the space V where the variational formulation to be approximated is defined, or when the discrete bilinear form and the discrete linear form are not exactly the same the continuous ones. We consider the variational formulation: Find u ∈ V such that a(u, v) = l(v) ∀v ∈ V. (2.1) In some cases it can be convenient to relax the constraints of the approximation space being a subspace of V or to slightly modify the bilinear and linear form, using for example quadrature rules to compute the integrals or adding penalty terms. Let us then consider a mesh dependent family of Hilbert spaces Hh equipped with a mesh dependent norm k·kh such that V ⊂ Hh and also Vh ⊂ Hh for all h. One could choose Hh = V +Vh , but often some additional regularity of the exact solution is needed. Then one can choose Hh = V ∩ H m (Ω) + Vh , where H m is a Sobolev space of the needed regularity. We then define the bilinear form ah on Hh as an approximation of the bilinear form a on V , and lh a linear form on Hh approximating l the linear form on V . We assume that ah and lh are continuous and that ah is uniformly coercive on Hh , meaning that the coercivity constant does not depend on h, even though the norm itself can depend on h. As a typical example, given a subdivision of the domain Ω into elements Ω = ∪Ke we can define XZ 2 1 2 Hh = {v ∈ L (Ω) | v|Ke ∈ H (Ke )}, with kvkh = |∇v(x)|2 dx. e Ke This is a broken H 1 space. Its elements are locally H 1 but not globally. Obviously R V = HR 1 (Ω) ⊂ Hh . For a(u, v) = Ω ∇u(x) · ∇v(x) dx and for a given f ∈ L2 (Ω), l(v) = Ω f (x)v(x) dx, we define the approximations on Hh by XZ ah (u, v) = ∇u(x) · ∇v(x) dx. e Ke 36 On the other hand l is well defined on Hh so that we can take lh = l. Obviously for u, v ∈ V , we have ah (u, v) = a(u, v) and lh (v) = l(v). In this setting, we consider a discrete variational formulation of the following form: Find uh ∈ Vh such that ah (uh , vh ) = lh (vh ) ∀vh ∈ Vh . (2.2) The error estimation of such an approximate variational formulation depends on the following lemma, known as Strang’s second lemma [9], which replaces Céa’s lemma: Lemma 10 (Strang) Assume u ∈ V is the solution of (2.1) and uh ∈ Vh its approximation, solution of (2.2), then ! |ah (u, vh ) − lh (vh )| ku − uh kh ≤ C inf ku − vh kh + sup . (2.3) vh ∈Vh kvh kh vh ∈Vh Note that as uh verifies ah (uh , vh ) = lh (vh ), we also could write ah (u, vh ) − lh (vh ) = ah (u − uh , vh ). Remark 8 The difference between Céa’s Lemma that is used for the conforming approximation and the above Strang Lemma used for non conforming approximation is the presence of the second term on the right-hand-side, which is a consistency term, measuring how accurately the continuous solution verifies the discrete equation. This term vanishes when Vh ⊂ V and ah = a because of the Galerkin orthogonality. Proof. By bilinearity of ah , we have ah (vh −uh , vh −uh ) = ah (vh −u+u−uh , vh −uh ) = ah (vh −u, vh −uh )+ah (u−uh , vh −uh ) and also ah (u − uh , vh − uh ) = ah (u, vh − uh ) − ah (uh , vh − uh ), = ah (u, vh − uh ) − lh (vh − uh ), as uh verifies (2.2). Using the uniform coercivity and continuity of ah in Hh , there exists α > 0 and β such that for any vh ∈ Vh αkvh − uh k2h ≤ ah (vh − uh , vh − uh ) ≤ ah (vh − u, vh − uh ) + ah (u − uh , vh − uh ) ≤ ah (vh − u, vh − uh ) + ah (u, vh − uh ) − lh (vh − uh ), |ah (u, vh − uh ) − lh (vh − uh )| ≤ βkvh − ukh kvh − uh kh + kvh − uh kh kvh − uh kh as ah is continuous. Whence kvh − uh kh ≤ β 1 |ah (u, vh ) − lh (vh )| ku − vh kh + sup α α vh ∈Vh kvh kh for all vh ∈ Vh . This combined with the triangle inequality yields β 1 |ah (u, vh ) − lh (vh )| ku − uh kh ≤ ku − vh kh + kvh − uh kh ≤ 1 + ku − vh kh + sup . α α vh ∈Vh kvh kh We then get the desired results taking the infimum in Vh . 37 2.2 Non conforming Pk finite elements on triangles Let us consider the Poisson equation with Dirichlet boundary conditions given f ∈ L2 (Ω), for which the variational formulation reads: Find u ∈ H01 (Ω) such that Z Z f v dx ∀v ∈ H01 (Ω). (2.4) ∇u · ∇v dx = Ω Ω Standard conforming Pk finite Element elements on triangles have k + 1 points on each edge, 2 Function Spaces and Finite Approximations Function Finite Element Approximation which are shared between 2 elements to enforceSpaces continuity.and Let us now consider the case, when only k points are put on each side. The corresponding non conforming P1 and P3 elements are displayed on figure 2.1. They are also known as Crouzeix-Raviart Finite Elements. This is not enough to get continuity across the element and thus conformity, ba Continuity points nforming elements. . (b) k D 2. cb c Figure 2.1: Non conforming P1 (left) and P3 (right) Finite Elements. but is it still possible to define an optimal approximation? This is the case if the error coming from the second term in the second Strang Lemma is of the same order as the polynomial approximation error with Pk elements, i.e. ku − uh kh ≤ Chk . This can be obtained by putting the degrees of freedom on each edge at the Gauss points. Note however that this works only for k odd, as for k even the degrees of freedom obtained in this way are not linearly independent. 2 Element (Ke , Pe , Σe ), and (ai )i=1,N the set of all degrees h Consider the Lagrange h Finite k of freedom on all elements. hKAs usual kthese degrees of freedom hare shared by elements having an edge in common, but in the non-conforming case we are considering this is not enough to ensure continuity. The approximation space is then naturally defined as follows: h k eelements 2.2.5 (Nonconforming elements on consider the triangle). Let us consider a part on the triangle). Let us a parti˝ngles into straight-sided triangles and an approximation and an approximation fvh P j v .K/; 2 L 8K .˝/;2vT j ; 2 P .K/; 8K 2 T ; vWD h jK 2 Z Z X X ! ds D 0; 8! 2 R .@K/g: vh ! ds D 0; 8! 2 @K Rkv.@K/g: (2.2.38) K @K (2.2.38 Vh = {vh ∈ L2 (Ω) | vh|Ke ∈KPk , vh|Ke1 (ai ) = vh|Ke2 (ai ) if ai ∈ Ke1 ∩ Ke2 , vh (ai ) = 0 if ai on ∂Ω}. n easy to see that patch test implies that the functions of weL1;NC shoul As V 6⊂the H (Ω), we cannot directly use the variational formulation(2.5). Instead 1;NC k tch test implies that the functions of L should version: Find u ∈ V such that k nuous at theuse kits ”broken” Gauss-Legendre points Z on every side of the triangles (se XZ Legendre points on every side ofdxthe ∇u · ∇v = ftriangles v dx ∀v ∈ V (see . (2.5) . then are in the abstract framework defined above odd, those We points, with internal points for kwith! 3, can be used as degrees o Z Z X k, v!so 3, can∇ube· values used las degrees of are not independen ∇v dx, ) = l(v ) points = f v dx. ) = and the ,internal but for kpoints even itfor isa (unot at(v these so and the values at these are 7.1.4, not independent. l come back to this pointpoints in Sect. in particular in Example 7.1.4 38 oint 7.1.4, particular in Example 7.1.4. uble in is Sect. that the six in Gaussian points of the k D 2 case lie on an ellips ussian points of the D 2 case lie on an ellipse at the barycentre. Thiskellipse is easily expressed, in terms of barycentri ellipse is easily expressed, in terms of barycentric 1 0 h e h h h h h h h Ke h h e h h Ω Ke h h h h h Ω Let us now express the consistency error in this non-conforming approximation. Let u ∈ H01 (Ω) ∩ H 2 (Ω) be the exact solution of (2.5) and vh ∈ Vh , then Z XZ ∇u · ∇vh dx − f vh dx (2.6) ah (u, vh ) − lh (vh ) = Ke e =− = Ω X Z Ke e XZ ∂Ke e (∆u + f ) · vh dx − Z ∂Ke ∂u vh dσ ∂n ∂u vh dσ ∂n (2.7) (2.8) as u verifies −∆u = f . For two adjacent elements Ke1 and Ke2 let us denote by Γs = Ke1 ∩ Ke2 their shared edge. Let vs be the interpolation of polynomial of degree k − 1 of vh|Ke1 and vh|Ke2 at the degrees of freedom on the edges of the two elements. As the degrees of freedom are shared by elements sharing the same edge, vs is the same on the two elements Ke1 and Ke2 . Then as the unit outward normal for these two elements has opposite signs on Γs , it follows that Z Z ∂u ∂u vs dσ + vs dσ = 0. Γs ∂ne1 Γs ∂ne2 On the other hand if Γs corresponds to a boundary of Ω the degrees of freedom there are set to zero, so that vs = 0 on such a boundary. Hence adding the contributions over the whole mesh XZ ∂u ah (u, vh ) − lh (vh ) = (vh − vs ) dσ. ∂Ke ∂n e Let us now introduce πh u, the Finite Element interpolant of u, which is by definition a polynomial of degree k on each element. Then ∂π∂nh u is a polynomial of degree k − 1 on the edges of the mesh. So if, the degrees of freedom are chosen to be Gauss points on the edges, vh − vs on each edge is a polynomial of degree k having its zeros at the Gauss points. Hence it is, up to a multiplicative constant, the Legendre polynomial of degree k, which is orthogonal to all polynomials of degree k − 1. Thus for all edges Z ∂πh u (vh − vs ) dσ = 0. Γs ∂n Adding the contributions over the whole mesh it follows that XZ ∂u ∂πh u ah (u, vh ) − lh (vh ) = − (vh − vs ) dσ ∂n ∂n ∂Ke e X ≤C k∇(u − πh u) · nkL2 (∂Ke ) kvh − vs k∂Ke ) , e using a Cauchy-Schwartz inequality. Then we can use the polynomial approximation properties on mesh faces as proved in [5] (Lemma 1.59, p. 32), assuming u ∈ H k+1 (Ω) with k ≥ 1 k∇(u−πh u)·nkL2 (∂Ke ) ≤ Chk−1/2 |u|k+1,Ke , kvh −vs k∂Ke ) ≤ Chk−1/2 |vh |k+1,Ke , (2.9) πh u being a polynomial of degree k approximating u and vs a polynomial of degree k − 1 approximating vh . Then it follows X 1 1 |ah (u, vh ) − lh (vh )| ≤C hk− 2 |u|k+1,Ke hk− 2 ≤ Chk |u|k+1,Ω , kvh kh e 39 as k ≥ 1. 2.3 Weak enforcement of Dirichlet boundary conditions Another useful application of non conforming finite element is the weak enforcement of Dirichlet conditions following an idea of Nitsche [8]. We consider here a standard Finite Element conforming in H 1 (for the Poisson problem) but not in H01 . Let us explain the method for the Poisson problem with Dirichlet boundary conditions. Here because the vector space where the solution lives is H 1 (Ω) anyway, as for natural boundary conditions, non homogeneous boundary conditions are as easy to enforce as homogeneous boundary conditions. Our problem then reads −∆u = f in Ω, u=g on ∂Ω. In order to get a consistent variational formulation, as usual in the derivation of the Finite Element method we multiply the first equation by a test function v and integrate on the whole domain Z Z − ∆uv dx = f v dx Ω Ω Z Z ∂u = ∇u · ∇v dx − v dσ ∂n Ω ∂Ω In the standard conforming Finite Element method the boundary integral vanishes by taking test functions vanishing on the boundary. Instead here we keep it, moreover so R ∂v that the problem remains symmetric, we add ∂Ω u ∂n dσ, which is known as u the exact solution is equal to a known function g on the boundary. Then the exact solution of our problem satisfies the following relation Z Z Z Z Z ∂u ∂v ∂v ∇u · ∇v dx − v dσ − u dσ = f v dx − g dσ ∀v ∈ H 1 (Ω). ∂n ∂n ∂n Ω ∂Ω ∂Ω Ω ∂Ω (2.10) The left-hand-side defines a symmetric bilinear form, but it is not coercive and thus does not lead to a well posed variational problem. However, we can use this relation to define a consistent discrete variational problem. R In order to make it coercive, we need to add an additional term µh ∂Ω uh vh dσ, called penalty term which will be grid dependent, that vanishes for the exact solution and µh will be chosen such that the resulting bilinear form is coercive in some norm. For this we define the standard Lagrange approximation space for H 1 (Ω) Vh = {vh ∈ C 0 (Ω) | vh|Ke ∈ Pk (Ke )}, and then the discrete variational problem reads: Find uh ∈ Vh such that Z Ω ∇uh · ∇vh dx + µh Z Z Z ∂uh ∂vh uh vh dσ − vh dσ − dσ uh ∂n ∂Ω ∂Ω ∂n ∂Ω Z Z Z ∂vh = dσ + µh gvh dσ f vh dx − g Ω ∂Ω ∂n ∂Ω 40 ∀vh ∈ Vh . This corresponds to an abstract mesh depend variational problem of the form: Find uh ∈ Vh such that ah (uh , vh ) = lh (vh ), ∀vh ∈ Vh , with Z Z Z Z ∂uh ∂vh ∇uh · ∇vh dx + µh uh vh dσ − ah (uh , vh ) = uh vh dσ − dσ ∂n ∂Ω ∂n Ω ∂Ω ∂Ω Z Z Z ∂vh g f vh dx − lh (vh ) = dσ + µh gvh dσ. ∂Ω ∂n Ω ∂Ω Because Vh ⊂ H 1 (Ω), we can take in equation (2.10) u to be the exact solution and v = vh ∈ Vh . Then as in addition the exact solution u is equal to g on the boundary, the consistency error appearing in the second Strang Lemma (Lemma 10) vanishes completely: ah (u, vh ) − lh (vh ) = 0 ∀vh ∈ Vh . We can now prove a lemma giving a condition on the penalisation parameter µh such that the bilinear form ah is coercive in the mesh depend norm kvk2h = k∇vk20,Ω + 1 kvk20,∂Ω h ∀v ∈ H 1 (Ω). Lemma 11 Assume that there exists C > 0 such that k∇vk0,∂Ω ≤ Ch−1/2 k∇vk0,Ω then the bilinear form ah is uniformly coercive in the mesh dependent norm k · kh if µh = α/h with α > 2C 2 . Proof. Let us first observe that for any v ∈ H 1 (Ω) Z Z ∂v α ∂v 2 2 2 2 ah (v, v) = k∇vk0,Ω + µh kvk0,∂Ω − 2 v dσ = k∇vk0,Ω + kvk0,∂Ω − 2 v dσ. h ∂Ω ∂n ∂Ω ∂n Then, using the Cauchy-Schwarz inequality, the fact that the components of the normal vector are less than one, and the assumption of the Lemma Z ∂v 1 2C 2 2 v dσ ≤ 2k∇vk0,∂Ω kvk0,∂Ω ≤ 2Ch−1/2 k∇vk0,Ω kvk0,∂Ω ≤ k∇vk20,Ω + kvk20,∂Ω ∂n 2 h ∂Ω using also for the last inequality the property ab ≤ a2 /2 + b2 /2 for any real numbers a, b. Plugging the opposite inequality into the expression of ah (v, v) we get 1 α − 2C 2 1 1 ah (v, v) ≥ k∇vk20,Ω + kvk20,∂Ω ≥ min( , α − 2C 2 )(k∇vk20,Ω + kvk20,∂Ω ). 2 h 2 h This yields the uniform coercivity of ah in the mesh dependent norm provided α > 2C 2 . Remark 9 In practical applications, it is best to choose µh not too much larger than the minimal value needed for coercivity. This can be achieved for a given mesh, by solving the generalized eigenvalue problem Z Z Z Z ∂uh ∂vh ∇uh · ∇vh dx − vh dσ − uh dσ = λh uh vh dσ ∀vh ∈ Vh ∂n ∂Ω Ω ∂Ω ∂n ∂Ω which can be written in matrix form, once the Finite Element matrices are assembled AU = λh BU . The matrices being symmetric, all eigenvalues are real, and the smallest one denoted by λh,0 should be negative because of the lack of coercivity. In order to get coercivity then one needs to choose µh > |λh,0 |. If one chooses µh = α|λh,0 | with α a coefficient independent of h typically between 1 and 2, one gets the optimal order of convergence. 41 2.4 Discontinuous Galerkin methods The Nitsche method to weakly enforce Dirichlet boundary conditions also inspired researchers for getting rid of the conformity at element interfaces using the idea of writing a consistent approximation involving the interface terms, then symmetrizing and penalizing to get a symmetric and coercive mesh dependent form. This leads to the so-called SIP (symmetric interior penalty) Discontinuous Galerkin (DG) method that was introduced, adapting previous works, and analyzed by Arnold [1]. See also [2] for a historical and more general discussion on Discontinuous Galerkin methods. A mathematical textbook presentation of the discontinuous Galerkin method can be found for example in [5]. Let us explain the method on the Poisson equation with homogeneous Dirichlet boundary conditions. −∆u = f in Ω, u=0 on ∂Ω. Instead of multiplying by a smooth function over the whole domain as in the classical finite element method, we here introduce the mesh first Th = ∪e Ke . Let vh ∈ L2 (Ω) such that vh ∈ H 1 (Ke ). In practice vh will be polynomial or in a local Finite Element space. Let us denote by ne the outward unit normal for element Ke and denoting by (Γs )s the edges of the grid, Γs = Ke1 ∩ Ke2 , by ns a unit normal to the edge Γs (the sign being arbitrarily chosen so that ns = ne1 ). As usual in Discontinuous Galerkin formulations we denote by {{v}} = (v|Ke1 + v|Ke2 )/2 the average of v on the edge Γs and [[v]] = v|Ke1 − v|Ke2 the jump of v on the edge Γs . For edges on the boundary of the domain, we assume that the outside value is zero so that {{v}} = [[v]] = v. Then, we multiply by a smooth function vh|Ke on one element, integrate over this element and sum over all the elements Z XZ X Z ∂u (−∆u)vh dx = ∇u · ∇vh dx − vh dσ Ke Ke ∂Ke ∂ne e e XZ X Z ∂u = ∇u · ∇vh dx − [[vh ]] dσ Ke Γs ∂ns e s XZ X Z ∂u = ∇u · ∇vh dx − [[vh ]] dσ (2.11) ∂ns Ke Γs e s as the exact solution, which is in H 2 , has a continuous normal derivative across the edges, this is equal to its average. This formula can be used to get a consistent approximation. As for the Nitsche method we now symmetrize and penalize the interface jumps. We then get the mesh dependent bilinear form XZ X Z ∂uh XZ ∂vh [[vh ]] dσ− [[uh ]] dσ ah (uh , vh ) = (∇u·∇vh ) dx− ∂ns ∂ns Ke Γs Γs e s s Z + µh [[uh ]] [[vh ]] dσ. (2.12) Γs Then, defining the linear form Z lh (vh ) = f vh dx = Ω XZ e 42 Ke f vh dx and the discontinuous polynomial space Vh = {vh ∈ L2 (Ω) | vh|Ke ∈ Pk (Ke )}, the discrete variational formulation for our problem reads: Find uh ∈ Vh such that ah (uh , vh ) = lh (vh ) ∀vh ∈ Vh . (2.13) As the exact solution u is continuous, the jump of u at the element interfaces vanishes, i.e. [[u]] = 0, hence the two last terms in (2.12), which are respectively the symmetry term and the penalty term vanish for uh = u. Hence using the calculation (2.11) we can verify that the consistency error in the DG-SIP method (2.13) is exactly vanishing: Z Z XZ f vh dx = − (∆u + f )vh dx = 0 (−∆u)vh dx − ah (u, vh ) − lh (vh ) = e Ω Ω Ke as −∆u = f . Even though they are not conforming as Vh 6⊂ V , DG methods are build to be exactly consistent, so that the consistency error in the second Strang lemma 10 exactly vanishes. The error analysis described in the book by Di Pietro and Ern [5] relies on this property. See in particular Section 4.2, which provides a convergence analysis of the SIP-DG method in an ad hoc mesh dependent norm, following the same pattern as for the Nitsche method. 2.5 Saddle-point problems 2.5.1 The theoretical framework The variational problems we consider here fit into the following framework. Consider two Hilbert spaces V and W , two continuous bilinear forms a ∈ L(V × V, R) and b ∈ L(V × W, R) and two continuous linear forms lV ∈ L(V, R) and lW ∈ L(W, R). Then we defined the abstract mixed variational problem as Find (u, p) ∈ V × W such that a(u, v) + b(v, p) = lV (v) ∀v ∈ V, b(u, q) = lW (q) ∀q ∈ W. (2.14) (2.15) For saddle point problems the Lax-Milgram framework cannot be applied. In this case the appropriate theoretical tool, called Banach-Nečas-Babuška (BNB) theorem in Ern and Guermond, which is more general than Lax-Milgram. We will specialise it to our type of mixed problems assuming that the bilinear form a is symmetric and coercive on K = {v ∈ V | b(q, v) = 0, ∀q ∈ W }. This corresponds to Theorem 2.34 p. 100 of [6], modified according to Remark 2.35. Theorem 5 Let V and W be Hilbert space. Assume a is a continuous bilinear form on V × V and that b is a continuous linear form on V × W , that lV and LW are continuous linear forms on V and W respectively and that the following two hypotheses are verified 1) a is coercive on K = {v ∈ V | b(q, v) = 0, ∀q ∈ W }, i.e. there exists α > 0 such that a(v, v) ≥ αkvk2V ∀v ∈ K. 43 2) The Babuska-Brezzi, or inf-sup condition, is verified: there exists β > 0 such that inf sup q∈W v∈V b(v, q) ≥ β. kqkW kvkV Then the variational problem admits a unique solution and the solution satisfies the a priori estimate kukV ≤ 1 1 C kf kV 0 + (1 + )kgkW 0 , α β α kpkW ≤ 1 C C C (1 + )kf kV 0 + 2 (1 + )kgkW 0 , β α β α where C is the continuity constant of a. The inf-sup conditions plays an essential role, as it is only satisfied if the spaces V and W are compatible in some sense. This condition being satisfied at the discrete level with a constant β that does not depend on the mesh size being essential for a well behaved Finite Element method. It can be written equivalently βkqkW ≤ sup v∈V b(v, q) kvkV ∀q ∈ W. (2.16) And often, a simple way to verify it is, given any q ∈ W , to find a specific v = v(q) depending on q such that βkqkW ≤ b(v(q), q) b(v, q) ≤ sup kv(q)kV v∈V kvkV with a constant β independent of w. Let us now come to the Galerkin discretisation. The principle is simply to construct finite dimensional subspaces Wh ⊂ W and Vh ⊂ V and to write the variational formulation (2.14)-(2.15) replacing W by Wh and V by Vh . The variational formulations are the same as in the continuous case, like for conforming finite elements. This automatically yields the consistency of the discrete formulation. In order to get the stability property needed for convergence, we need that the coercivity constant α and the inf-sup constant β are independent of h. Because Vh ⊂ V the coercivity property is automatically verified in the discrete case, with a coercivity constant that is the same as in the continuous case and hence does not depend on the discretisation parameter h. Here, however, there is an additional difficulty, linked to the inf-sup conditions, which is completely dependent on the two spaces Vh and Wh . By far not any conforming approximation of the two spaces will verify the discrete inf-sup condition with a constant β that is independent on h. Finding compatible discrete spaces for a given mixed variational formulation, has been an active area of research. 2.5.2 Mixed formulation of the Poisson problem Consider the Poisson problem −∆p = f p=0 44 (2.17) (2.18) Using that ∆p = ∇ · ∇p, we set u = ∇p, then the Poisson equation (2.17) can be written equivalently u = −∇p, ∇ · u = f. Instead of having one unknown, we now have two, along with the above two equations. In order to get a mixed variational formulation, we first take the dot product of the first one by v and integrate by parts Z Z Z Z Z p v · n dσ = u · v dx − p ∇ · v dx = 0, u · v dx − p ∇ · v dx + ∂Ω using p = 0 as a natural boundary condition. Then multiplying the second equation by q and integrating yields Z Z ∇ · u q dx = f q dx. No integration by parts is necessary here. And we thus get the following mixed variational formulation: Find (u, p) ∈ H(div, Ω) × L2 (Ω) such that Z Z u · v dx − p ∇ · v dx = 0 ∀v ∈ H(div, Ω) (2.19) Z Z ∇ · u q dx = f q dx, ∀q ∈ L2 (Ω). (2.20) Here also, we get an alternative formulation by not integrating by parts, the mixed term in the first formulation but in the second. The first formulation simply becomes Z Z u · v dx + ∇p · v dx = 0, and the second, removing immediately the boundary term due to the essential boundary condition q = 0 Z Z Z ∇ · u q dx = − u · ∇q dx = f q dx, which leads to the variational formulation Find (u, p) ∈ L2 (Ω)3 × H01 (Ω) such that Z Z u · v dx + ∇p · v dx = 0 ∀v ∈ L2 (Ω)3 (2.21) Z Z u · ∇q dx = − f q dx, ∀q ∈ H01 (Ω). (2.22) Note that this formulation actually contains the classical variational formulation for the Poisson equation. Indeed for q ∈ H01 (Ω), ∇q ∈ L2 (Ω)3 can be used as a test function in the first equation. And plugging this into the second we get Z Z ∇p · ∇q dx = f q dx, ∀q ∈ H01 (Ω). 45 Bibliography [1] Douglas N. Arnold. An interior penalty finite element method with discontinuous elements. SIAM journal on numerical analysis, 19(4):742–760, 1982. [2] Douglas N. Arnold, Franco Brezzi, Bernardo Cockburn, and L. Donatella Marini. Unified analysis of discontinuous galerkin methods for elliptic problems. SIAM journal on numerical analysis, 39(5):1749–1779, 2002. [3] Daniele Boffi, Franco Brezzi, and Michel Fortin. Mixed finite element methods and applications. Springer, 2013. [4] Richard Courant et al. Variational methods for the solution of problems of equilibrium and vibrations. Bull. Amer. Math. Soc, 49(1):1–23, 1943. [5] Daniele Antonio Di Pietro and Alexandre Ern. Mathematical aspects of discontinuous Galerkin methods, volume 69 of Mathématiques et Applications. SpringerVerlag, Berlin Heidelberg, 2012. [6] Alexandre Ern and Jean-Luc Guermond. Theory and practice of finite elements, volume 159 of Applied Mathematical Sciences. Springer-Verlag, New York, 2004. [7] Martin J. Gander and Gerhard Wanner. From Euler, Ritz, and Galerkin to modern computing. SIAM Review, 54(4):627–666, 2012. [8] Joachim Nitsche. Über ein Variationsprinzip zur Lösung von Dirichlet-Problemen bei Verwendung von Teilräumen, die keinen Randbedingungen unterworfen sind. Abhandlungen aus dem mathematischen Seminar der Universität Hamburg, 36(1):9– 15, 1971. [9] Gilbert Strang and George J. Fix. An Analysis of the Finite Element Method. Prentice Hall, New York, 1973. Now published by Wellesley-Cambridge Press. [10] Vidar Thomée. From finite differences to finite elements: A short history of numerical analysis of partial differential equations. Journal of Computational and Applied Mathematics, 128(1):1–54, 2001. 46