From 22d8c66812572f34f5f1d01cf14f7ff408265001 Mon Sep 17 00:00:00 2001 From: Alistair Bentley Date: Fri, 7 Aug 2015 03:32:14 -0400 Subject: [PATCH] Modified polynomial_bdm documentation. - added additional details about source references - added additional details about properties of bdm elements - added a general description of the structure for 2D and 3D bdm polynomials. - added additional details about degrees of freedom --- include/deal.II/base/polynomials_bdm.h | 87 +++++++++++++++----------- 1 file changed, 50 insertions(+), 37 deletions(-) diff --git a/include/deal.II/base/polynomials_bdm.h b/include/deal.II/base/polynomials_bdm.h index 393573d05d..beb6b0bb67 100644 --- a/include/deal.II/base/polynomials_bdm.h +++ b/include/deal.II/base/polynomials_bdm.h @@ -32,52 +32,65 @@ DEAL_II_NAMESPACE_OPEN /** * This class implements the Hdiv-conforming, vector-valued - * Brezzi-Douglas-Marini polynomials as described in the book by Brezzi and - * Fortin. + * Brezzi-Douglas-Marini ( BDM ) polynomials described in Brezzi and + * Fortin's Mixed and Hybrid Finite Element Methods (refer to pages + * 119 - 124). * - * These polynomial spaces are based on the space Pk, - * realized by a PolynomialSpace constructed with Legendre polynomials. Since - * these shape functions are not sufficient, additional functions are added. - * These are the following vector valued polynomials: - * - *
+ * The BDM polynomial space contain the entire $(P_{k})^{n}$ + * space (constructed with PolynomialSpace Legendre polynomials) as well as + * part of $(P_{k+1})^{n}$ + * (ie. $(P_{k})^{n} \subset BDM_{k} \subset (P_{k+1})^{n}$). Furthermore, + * $BDM_{k}$ elements are designed so that + * $\nabla \cdot q \in P_{k-1} (K)$ and $q \cdot n |_{e_{i}} \in P_{k}(e_{i})$. + * More details + * of two and three dimensional $BDM_{k}$ elements are given below. + *
*
In 2D: - *
The 2D-curl of the functions xk+1y - * and xyk+1. - * Note the curl of a scalar function is given by $\text{curl}(f(x,y)) = + *
$ BDM_{k} = \{\mathbf{q} | \mathbf{q} = p_{k} (x,y) + + * r \; \text{curl} (x^{k+1}y) + s \; + * \text{curl} (xy^{k+1}), p_{k} \in (P_{k})^{2} \}$. + * + * Note: the curl of a scalar function is given by $\text{curl}(f(x,y)) = * \begin{pmatrix} f_{y}(x,y) \\ -f_{x}(x,y) \end{pmatrix}$. * - * More specifically, for $k=1$, this space has shape functions + *
The shape functions for $k=1$ are * @f{align*} - * \phi_0 = \left[\begin{array}{cc} 1 \\ 0 \end{array}\right], - * \phi_1 = \left[\begin{array}{cc} -\sqrt{3}+2\sqrt{3}x \\ 0 \end{array}\right], - * \phi_2 = \left[\begin{array}{cc} -\sqrt{3}+2\sqrt{3}y \\ 0 \end{array}\right], - * \phi_3 = \left[\begin{array}{cc} 0 \\ 1 \end{array}\right], - * \phi_4 = \left[\begin{array}{cc} 0 \\ -\sqrt{3}+2\sqrt{3}x \end{array}\right], - * \phi_5 = \left[\begin{array}{cc} 0 \\ -\sqrt{3}+2\sqrt{3}y \end{array}\right], - * \phi_6 = \left[\begin{array}{cc} x^2 \\ -2xy \end{array}\right], - * \phi_7 = \left[\begin{array}{cc} 2xy \\ -y^2 \end{array}\right], + * \phi_0 = \begin{pmatrix} 1 \\ 0 \end{pmatrix}, + * \phi_1 = \begin{pmatrix} -\sqrt{3}+2\sqrt{3}x \\ 0 \end{pmatrix}, + * \phi_2 = \begin{pmatrix} -\sqrt{3}+2\sqrt{3}y \\ 0 \end{pmatrix}, + * \phi_3 = \begin{pmatrix} 0 \\ 1 \end{pmatrix}, + * \phi_4 = \begin{pmatrix} 0 \\ -\sqrt{3}+2\sqrt{3}x \end{pmatrix}, + * \phi_5 = \begin{pmatrix} 0 \\ -\sqrt{3}+2\sqrt{3}y \end{pmatrix}, + * \phi_6 = \begin{pmatrix} x^2 \\ -2xy \end{pmatrix}, + * \phi_7 = \begin{pmatrix} 2xy \\ -y^2 \end{pmatrix}. * @f} * - * Thus, the dimension of the shape function space is dimension - * times the number of polynomials of degree $k$ plus two: - * @f[ - * n = 2\frac{(k+1)(k+2)}2 + 2 - * @f] - - *
In 3D: - *
For any i=0,...,k the - * curls of (0,0,xyi+1zk-i), - * (xk-iyzi+1,0,0) and - * (0,xi+1yk-iz,0) + *
The dimension of the $BDM_{k}$ space is + * $(k+1)(k+2)+2$, with $k+1$ unknowns per + * edge and $k(k-1)$ interior unknowns. + * + *
In 3D: + *
$ BDM_{k} = + * \{\mathbf{q} | \mathbf{q} = p_{k} (x,y,z) + * + \sum_{i=0}^{k} ( + * r_{i} \; \text{curl} + * \begin{pmatrix} 0\\0\\xy^{i+1}z^{k-i} \end{pmatrix} + * + s_{i} \; \text{curl} + * \begin{pmatrix} yz^{i+1}x^{k-i}\\0\\0 \end{pmatrix} + * + t_{i} \; \text{curl} + * \begin{pmatrix}0\\zx^{i+1}y^{k-i}\\0\end{pmatrix}) + * , p_{k} \in (P_{k})^{3} \}$. + * + *
Note: the 3D description of $BDM_{k}$ is not unique. + * See Mixed and Hybrid Finite Element Methods page 122 + * for an alternative definition. + * + *
The dimension of the $BDM_{k}$ space is + * $\dfrac{(k+1)(k+2)(k+3)}{2} + 3(k+1)$, with $\dfrac{(k+1)(k+2)}{2}$ + * unknowns per face and $\dfrac{(k-1)k(k+1)}{2}$ interior unknowns. * - * The size of this function space is dimension times the number of - * polynomials of degree $k$ plus 3 times k+1: - * @f[ - * n = 3\frac{(k+1)(k+2)(k+3)}6 + 3(k+1) - * @f] + *
* - *
* * @todo Second derivatives in 3D are missing. * -- 2.39.5