Finite element space
Given a computational domain \(\Omega\) covered by a simplicial mesh \(\mathcal{T}_h(\Omega)\), the space \(V_h(\Omega)\) of \(\mathbb{P}_1\)-Lagrange finite element functions is the set of continuous piecewise affine functions i.e. defined as
\(V_h(\Omega):=\lbrace v_h\in \mathcal{C}^{0}(\overline{\Omega}),v_h\vert_{\tau}\in \mathbb{P}_1(\tau)\;\forall \tau\in \mathcal{T}_h(\Omega)\rbrace\)
\(\mathbb{P}_1(\tau):=\lbrace \varphi\vert_{\tau}, \varphi(\mathbf{x}) = \alpha\cdot\mathbf{x}+\beta, \alpha\in \mathbb{R}^d,\beta\in\mathbb{R}\rbrace\)
In the code femtool, such a vector space is modelled by an object of
type FeSpace. In terms of data members, this object consists of a
Mesh mesh_ and a dynamically allocated array of size the number of
element in mesh_. Each cell of this dynamically allocated array
stores the numbers of the degrees of freedom local to the
corresponding mesh cell.
-
template<std::size_t DIM>
class FeSpace P1-finite element space over a given mesh.