General concepts » Ciarlet's definition of a finite element

The mathematical foundation of finite elements.

Introduction

The finite element method (FEM) is a powerful technique for numerically solving partial differential equations. At its heart lies the concept of a finite element**, which provides a systematic way to construct piecewise-polynomial approximations on a mesh.

The most widely used formal definition of a finite element was introduced by Philippe G. Ciarlet. This definition provides a clean mathematical framework that separates the geometric, functional, and algebraic aspects of finite element construction.

The Ciarlet Triple

A finite element in the sense of Ciarlet is defined as a triple $ (K, P, \Sigma) $ where:

  • $ K $ is a geometric domain — a compact, connected subset of $ \mathbb{R}^d $ with nonempty interior (e.g. a triangle, tetrahedron, quadrilateral). This is also called the reference element.
  • $ P $ is a finite-dimensional function space defined on $ K $ — typically a space of polynomials of a certain degree. For instance, $ P = \mathbb{P}_k(K) $ , the space of polynomials of degree at most $ k $ .
  • $ \Sigma = \{ \sigma_1, \sigma_2, \ldots, \sigma_n \} $ is a set of degrees of freedom** (DOFs) — linear functionals $ \sigma_i : P \to \mathbb{R} $ — such that any function $ p \in P $ is uniquely determined by the values $ \sigma_1(p), \ldots, \sigma_n(p) $ .

The key requirement is that the DOFs must form a basis for the dual space $ P' $ . This means $ \dim(P) = n $ , and the map

\[ p \mapsto (\sigma_1(p), \ldots, \sigma_n(p)) \]

is an isomorphism from $ P $ to $ \mathbb{R}^n $ .

Basis Functions

Given a Ciarlet triple $ (K, P, \Sigma) $ , there exists a unique set of basis functions** $ \{ \phi_1, \ldots, \phi_n \} \subset P $ such that:

\[ \sigma_i(\phi_j) = \delta_{ij} \]

where $ \delta_{ij} $ is the Kronecker delta. This is called the nodal basis** of the finite element. These basis functions are the shape functions that are used to represent any function in the finite element space.

Any function $ p \in P $ can then be written as:

\[ p = \sum_{i=1}^{n} \sigma_i(p) \, \phi_i \]

Common Finite Elements

P1 (Piecewise Linear) Elements

The simplest and most widely used finite element is the P1 element on a triangle:

  • $ K $ = a triangle with vertices $ a_1, a_2, a_3 $
  • $ P = \mathbb{P}_1(K) $ = polynomials of degree $ \leq 1 $ (i.e. $ p(x, y) = \alpha + \beta x + \gamma y $ )
  • $ \Sigma = \{ \sigma_1, \sigma_2, \sigma_3 \} $ where $ \sigma_i(p) = p(a_i) $ (point evaluations at vertices)

The basis functions are the barycentric coordinates $ \lambda_1, \lambda_2, \lambda_3 $ , satisfying $ \lambda_i(a_j) = \delta_{ij} $ .

In Rodin, a P1 finite element space is created with:

P1 Vh(mesh);

P0 (Piecewise Constant) Elements

An even simpler element is the P0 element, used for discontinuous quantities:

  • $ K $ = a polytope (triangle, tetrahedron, etc.)
  • $ P = \mathbb{P}_0(K) $ = constant functions
  • $ \Sigma = \{ \sigma_1 \} $ where $ \sigma_1(p) $ is the value of the constant, often defined as the average over $ K $

In Rodin:

P0 Wh(mesh);

From Local to Global

The Ciarlet definition describes a local finite element on a single reference cell. To construct a global finite element space on an entire mesh $ \mathcal{T}_h $ , we:

  1. Define a reference element $ (\hat{K}, \hat{P}, \hat{\Sigma}) $
  2. Map it to each cell $ K \in \mathcal{T}_h $ using a geometric transformation $ F_K : \hat{K} \to K $
  3. Assemble local DOFs into global DOFs, enforcing continuity conditions at shared entities (vertices, edges, faces)

The result is a finite-dimensional subspace $ V_h $ of the function space in which we seek our approximate solution.

Conformity

Different types of inter-element continuity give rise to different types of conforming finite element spaces:

ConformityContinuity RequirementTypical Use
$ H^1 $ -conformingContinuous across element boundariesScalar PDEs (Poisson, heat)
$ H(\mathrm{div}) $ -conformingNormal component continuousMixed methods, fluid flow
$ H(\mathrm{curl}) $ -conformingTangential component continuousElectromagnetics
$ L^2 $ (no conformity)No continuity requiredDiscontinuous Galerkin

Rodin's P1 element is $ H^1 $ -conforming — the assembled global functions are continuous across element boundaries.

Connection to Rodin

In Rodin, the Ciarlet definition is realized through the interaction of several classes:

  • The Mesh provides the geometric cells $ K $
  • Finite element spaces like P1 define the polynomial space $ P $ and degrees of freedom $ \Sigma $
  • TrialFunction and TestFunction represent functions in the global finite element space $ V_h $
// The mesh provides the cells K
Mesh mesh;
mesh = mesh.UniformGrid(Polytope::Type::Triangle, {16, 16});

// P1 defines the local element (K, P1, point evaluations at vertices)
// and assembles them into a global space
P1 Vh(mesh);

// Trial and test functions live in this global space
TrialFunction u(Vh);
TestFunction  v(Vh);

See Also