Notations
We now turn to the next crucial mathematical ingredient: the function space, whose definition depends on \(\Omega_h\) - or more precisely its partitioning \(\mathcal{T}_h\) - and the choice of basis function. Function spaces in Feel++ follow the same definition and Feel++ provides support for continuous and discontinuous Galerkin methods and in particular approximations in \(L^2\), \(H^1\)-conforming and \(H^1\)-nonconforming, \(H^2\), \(H(\mathrm{div})\) and \(H(\mathrm{curl})\)[^1].
We introduce the following spaces
where \(\mathbb{R}\mathbb{T}_k\) and \(\mathbb{N}_k\) are respectively the Raviart-Thomas and Nédélec finite elements of degree \(k\).
The Legendre and Dubiner basis yield implicitely discontinuous
approximations, the Legendre and Dubiner boundary adapted basis,
see~\cite MR1696933, are designed to handle continuous approximations
whereas the Lagrange basis can yield either discontinuous or
continuous (default behavior) approximations.
\(\mathbb{R}\mathbb{T}_h\) and \(\mathbb{N}_h\) are implicitely spaces
of vectorial functions \(\mathbf{f}\) such that \(\mathbf{f}: \Omega_h
\subset \mathbb{R}^d \mapsto \mathbb{R}^d\). As to the other basis
functions, i.e. Lagrange, Legendre, Dubiner, etc., they are
parametrized by their values namely Scalar
, Vectorial
or
Matricial.
Products of function spaces must be supported. This is very powerful to describe complex multiphysics problems when coupled with operators, functionals and forms described in the next section. Extracting subspaces or component spaces are part of the interface. |