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 where:
- is a geometric domain — a compact, connected subset of with nonempty interior (e.g. a triangle, tetrahedron, quadrilateral). This is also called the reference element.
- is a finite-dimensional function space defined on — typically a space of polynomials of a certain degree. For instance, , the space of polynomials of degree at most .
- is a set of degrees of freedom** (DOFs) — linear functionals — such that any function is uniquely determined by the values .
The key requirement is that the DOFs must form a basis for the dual space . This means , and the map
is an isomorphism from to .
Basis Functions
Given a Ciarlet triple , there exists a unique set of basis functions** such that:
where 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 can then be written as:
Common Finite Elements
P1 (Piecewise Linear) Elements
The simplest and most widely used finite element is the P1 element on a triangle:
- = a triangle with vertices
- = polynomials of degree (i.e. )
- where (point evaluations at vertices)
The basis functions are the barycentric coordinates , satisfying .
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:
- = a polytope (triangle, tetrahedron, etc.)
- = constant functions
- where is the value of the constant, often defined as the average over
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 , we:
- Define a reference element
- Map it to each cell using a geometric transformation
- Assemble local DOFs into global DOFs, enforcing continuity conditions at shared entities (vertices, edges, faces)
The result is a finite-dimensional subspace 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:
| Conformity | Continuity Requirement | Typical Use |
|---|---|---|
| -conforming | Continuous across element boundaries | Scalar PDEs (Poisson, heat) |
| -conforming | Normal component continuous | Mixed methods, fluid flow |
| -conforming | Tangential component continuous | Electromagnetics |
| (no conformity) | No continuity required | Discontinuous Galerkin |
Rodin's P1 element is -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
- Finite element spaces like P1 define the polynomial space and degrees of freedom
- TrialFunction and TestFunction represent functions in the global finite element space
// 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
- Finite element spaces — Available spaces in Rodin
- Core Concepts — Practical guide to using finite elements in Rodin
- Polytopes — Geometric shapes used as reference elements