From 56b46ee10aa260f745b9b41dd53804770a550fae Mon Sep 17 00:00:00 2001 From: Wolfgang Bangerth Date: Sun, 18 Jan 2015 16:11:21 -0600 Subject: [PATCH] Add links to pictures of shape functions provided by Manuel Quezada de Luna. --- include/deal.II/fe/fe_dgp.h | 230 ++++++++++++++++++++++++++++++++++-- 1 file changed, 223 insertions(+), 7 deletions(-) diff --git a/include/deal.II/fe/fe_dgp.h b/include/deal.II/fe/fe_dgp.h index 3739d19b16..903817a9e1 100644 --- a/include/deal.II/fe/fe_dgp.h +++ b/include/deal.II/fe/fe_dgp.h @@ -1,6 +1,6 @@ // --------------------------------------------------------------------- // -// Copyright (C) 2002 - 2014 by the deal.II authors +// Copyright (C) 2002 - 2015 by the deal.II authors // // This file is part of the deal.II library. // @@ -39,12 +39,16 @@ template class MappingQ; * can not be continuous. * * The basis functions used in this element for the space described above are - * chosen to form a Legendre basis on the unit square. As a consequence, the - * first basis function of this element is always the function that is - * constant and equal to one. As a result of the orthogonality of the basis - * functions, the mass matrix is diagonal if the grid cells are - * parallelograms. Note that this is in contrast to the FE_DGPMonomial class - * that actually uses the monomial basis listed above as basis functions. + * chosen to form a Legendre basis on the unit square, i.e., in particular + * they are $L_2$-orthogonal and normalized on the reference cell (but not + * necessarily on the real cell). As a consequence, the first basis function + * of this element is always the function that is constant and equal to one, + * regardless of the polynomial degree of the element. In addition, as a + * result of the orthogonality of the basis functions, the mass matrix is + * diagonal if the grid cells are parallelograms. Note that this is in + * contrast to the FE_DGPMonomial class that actually uses the monomial basis + * listed above as basis functions, without transformation from reference to + * real cell. * * The shape functions are defined in the class PolynomialSpace. The * polynomials used inside PolynomialSpace are Polynomials::Legendre up to @@ -100,6 +104,218 @@ template class MappingQ; * linear combincation of them. Consequently, the linear functions are not * within the range of the mapped $P_1$ polynomials. * + *

Visualization of shape functions

+ * In 2d, the shape functions of this element look as follows. + * + *

$P_0$ element

+ * + * + * + * + * + * + * + * + *
+ * @image html http://www.dealii.org/images/shape-functions/DGP/P1/P1_DGP_shape0000.png + * + *
$P_0$ element, shape function 0
+ * + *

$P_1$ element

+ * + * + * + * + * + * + * + * + * + * + * + * + * + *
+ * @image html http://www.dealii.org/images/shape-functions/DGP/P1/P1_DGP_shape0000.png + * + * @image html http://www.dealii.org/images/shape-functions/DGP/P1/P1_DGP_shape0001.png + *
$P_1$ element, shape function 0 $P_1$ element, shape function 1
+ * @image html http://www.dealii.org/images/shape-functions/DGP/P1/P1_DGP_shape0002.png + * + *
$P_1$ element, shape function 2
+ * + * + *

$P_2$ element

+ * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + *
+ * @image html http://www.dealii.org/images/shape-functions/DGP/P2/P2_DGP_shape0000.png + * + * @image html http://www.dealii.org/images/shape-functions/DGP/P2/P2_DGP_shape0001.png + *
$P_2$ element, shape function 0 $P_2$ element, shape function 1
+ * @image html http://www.dealii.org/images/shape-functions/DGP/P2/P2_DGP_shape0002.png + * + * @image html http://www.dealii.org/images/shape-functions/DGP/P2/P2_DGP_shape0003.png + *
$P_2$ element, shape function 2 $P_2$ element, shape function 3
+ * @image html http://www.dealii.org/images/shape-functions/DGP/P2/P2_DGP_shape0004.png + * + * @image html http://www.dealii.org/images/shape-functions/DGP/P2/P2_DGP_shape0005.png + *
$P_2$ element, shape function 4 $P_2$ element, shape function 5
+ * + * + *

$P_3$ element

+ * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + *
+ * @image html http://www.dealii.org/images/shape-functions/DGP/P3/P3_DGP_shape0000.png + * + * @image html http://www.dealii.org/images/shape-functions/DGP/P3/P3_DGP_shape0001.png + *
$P_3$ element, shape function 0 $P_3$ element, shape function 1
+ * @image html http://www.dealii.org/images/shape-functions/DGP/P3/P3_DGP_shape0002.png + * + * @image html http://www.dealii.org/images/shape-functions/DGP/P3/P3_DGP_shape0003.png + *
$P_3$ element, shape function 2 $P_3$ element, shape function 3
+ * @image html http://www.dealii.org/images/shape-functions/DGP/P3/P3_DGP_shape0004.png + * + * @image html http://www.dealii.org/images/shape-functions/DGP/P3/P3_DGP_shape0005.png + *
$P_3$ element, shape function 4 $P_3$ element, shape function 5
+ * @image html http://www.dealii.org/images/shape-functions/DGP/P3/P3_DGP_shape0006.png + * + * @image html http://www.dealii.org/images/shape-functions/DGP/P3/P3_DGP_shape0007.png + *
$P_3$ element, shape function 6 $P_3$ element, shape function 7
+ * @image html http://www.dealii.org/images/shape-functions/DGP/P3/P3_DGP_shape0008.png + * + * @image html http://www.dealii.org/images/shape-functions/DGP/P3/P3_DGP_shape0009.png + *
$P_3$ element, shape function 8 $P_3$ element, shape function 9
+ * + * + *

$P_4$ element

+ * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + *
+ * @image html http://www.dealii.org/images/shape-functions/DGP/P4/P4_DGP_shape0000.png + * + * @image html http://www.dealii.org/images/shape-functions/DGP/P4/P4_DGP_shape0001.png + *
$P_4$ element, shape function 0 $P_4$ element, shape function 1
+ * @image html http://www.dealii.org/images/shape-functions/DGP/P4/P4_DGP_shape0002.png + * + * @image html http://www.dealii.org/images/shape-functions/DGP/P4/P4_DGP_shape0003.png + *
$P_4$ element, shape function 2 $P_4$ element, shape function 3
+ * @image html http://www.dealii.org/images/shape-functions/DGP/P4/P4_DGP_shape0004.png + * + * @image html http://www.dealii.org/images/shape-functions/DGP/P4/P4_DGP_shape0005.png + *
$P_4$ element, shape function 4 $P_4$ element, shape function 5
+ * @image html http://www.dealii.org/images/shape-functions/DGP/P4/P4_DGP_shape0006.png + * + * @image html http://www.dealii.org/images/shape-functions/DGP/P4/P4_DGP_shape0007.png + *
$P_4$ element, shape function 6 $P_4$ element, shape function 7
+ * @image html http://www.dealii.org/images/shape-functions/DGP/P4/P4_DGP_shape0008.png + * + * @image html http://www.dealii.org/images/shape-functions/DGP/P4/P4_DGP_shape0009.png + *
$P_4$ element, shape function 8 $P_4$ element, shape function 9
+ * @image html http://www.dealii.org/images/shape-functions/DGP/P4/P4_DGP_shape0010.png + * + * @image html http://www.dealii.org/images/shape-functions/DGP/P4/P4_DGP_shape0011.png + *
$P_4$ element, shape function 10 $P_4$ element, shape function 11
+ * @image html http://www.dealii.org/images/shape-functions/DGP/P4/P4_DGP_shape0012.png + * + * @image html http://www.dealii.org/images/shape-functions/DGP/P4/P4_DGP_shape0013.png + *
$P_4$ element, shape function 12 $P_4$ element, shape function 13
+ * @image html http://www.dealii.org/images/shape-functions/DGP/P4/P4_DGP_shape0014.png + * + *
$P_4$ element, shape function 14
* * @author Guido Kanschat, 2001, 2002, Ralf Hartmann 2004 */ -- 2.39.5