DOI = {10.1137/070706616},
URL = {http://dx.doi.org/10.1137/070706616},
}
+
+
+% ------------------------------------
+% References used elsewhere
+% ------------------------------------
+
+@article{park2003p,
+ title = {P1-nonconforming quadrilateral finite element methods for
+ second-order elliptic problems},
+ author = {Park, Chunjae and Sheen, Dongwoo},
+ journal = {SIAM Journal on Numerical Analysis},
+ volume = {41},
+ number = {2},
+ pages = {624--640},
+ year = {2003},
+ publisher = {SIAM},
+ doi = {10.1137/S0036142902404923}
+}
/*@{*/
/**
- * Definition of a finite element with zero degrees of freedom. This class is
+ * Definition of a finite element space with zero degrees of freedom and that,
+ * consequently, can only represent a single function: the zero function.
+ * This class is
* useful (in the context of an hp method) to represent empty cells in the
* triangulation on which no degrees of freedom should be allocated, or to
* describe a field that is extended by zero to a part of the domain where we
* are defined by a cell-wise composition of local shape functions associated
* with the node on each element.
*
- * There is a theoretical result about the linear independency of the global
+ * There is a theoretical result about the linear independence of the global
* basis functions depending on the type of the boundary condition we consider.
*
* When homogeneous Dirichlet boundary conditions are given,
* For a smooth function, we construct a piecewise linear function which belongs
* to the element space by using its nodal values as DoF values.
*
- * Note that for the P1 nonconforming element two nodal values of a smooth
- * function and its interpolant do not coincide in general, in contrast with
+ * Note that for the P1 nonconforming element, two nodal values of a smooth
+ * function and its interpolant do not coincide in general, in contrast to
* ordinary Lagrange finite elements. Of course, it is meaningless to refer
* 'nodal value' because the element space has nonconformity. But it is also
* true even though the single global basis function associated with a node is
* value 1. This is true whether the quadrilateral is a rectangle,
* parallelogram, or any other shape.
*
- * <h3>References</h3>
- * The original paper for the P1 nonconforming element is
- * accessible at http://epubs.siam.org/doi/abs/10.1137/S0036142902404923
- * and has the following complete reference:
- * @code{.bib}
- * @article{park2003p,
- * title = {P1-nonconforming quadrilateral finite element methods for
- * second-order elliptic problems},
- * author = {Park, Chunjae and Sheen, Dongwoo},
- * journal = {SIAM Journal on Numerical Analysis},
- * volume = {41},
- * number = {2},
- * pages = {624--640},
- * year = {2003},
- * publisher = {SIAM}
- * }
- * @endcode
+ * <h3>Reference</h3>
+ * The original paper for the P1 nonconforming element by Park and Sheen
+ * is accessible at https://doi.org/10.1137/S0036142902404923 ,
+ * see @cite park2003p .
*
* @author Jaeryun Yim, 2015, 2016.
*/
/**
* A class providing a mapping from the reference cell to cells that are
- * axiparallel.
+ * axiparallel, i.e., that have the shape of rectangles (in 2d) or
+ * boxes (in 3d) with edges parallel to the coordinate directions. The
+ * class therefore provides functionality that is equivalent to what,
+ * for example, MappingQ would provide for such cells. However, knowledge
+ * of the shape of cells allows this class to be substantially more
+ * efficient.
*
- * This class maps the unit cell to a grid cell with surfaces parallel to the
- * coordinate lines/planes. It is specifically developed for Cartesian meshes.
- * In other words, the mapping is meant for cells for which the mapping from
+ * Specifically, the mapping is meant for cells for which the mapping from
* the reference to the real cell is a scaling along the coordinate
* directions: The transformation from reference coordinates $\hat {\mathbf
* x}$ to real coordinates $\mathbf x$ on each cell is of the form
* @f{align*}{
- * {\mathbf x}(\hat {\mathbf x}) = \begin{pmatrix} h_x & 0 \\ 0 & h_y
- * \end{pmatrix} \hat{\mathbf x} + {\mathbf v}_0
+ * {\mathbf x}(\hat {\mathbf x})
+ * =
+ * \begin{pmatrix}
+ * h_x & 0 \\
+ * 0 & h_y
+ * \end{pmatrix}
+ * \hat{\mathbf x}
+ * + {\mathbf v}_0
* @f}
* in 2d, and
* @f{align*}{
- * {\mathbf x}(\hat {\mathbf x}) = \begin{pmatrix} h_x & 0 & 0 \\ 0 & h_y & 0
- * \\ 0 & 0 & h_z \end{pmatrix} \hat{\mathbf x} + {\mathbf v}_0
+ * {\mathbf x}(\hat {\mathbf x})
+ * =
+ * \begin{pmatrix}
+ * h_x & 0 & 0 \\
+ * 0 & h_y & 0 \\
+ * 0 & 0 & h_z
+ * \end{pmatrix}
+ * \hat{\mathbf x}
+ * + {\mathbf v}_0
* @f}
* in 3d, where ${\mathbf v}_0$ is the bottom left vertex and $h_x,h_y,h_z$
* are the extents of the cell along the axes.