From: Markus Buerg Date: Sun, 30 Jan 2011 07:21:51 +0000 (+0000) Subject: Documentation changes. X-Git-Tag: v8.0.0~4422 X-Git-Url: https://gitweb.dealii.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=0fdfbdd7848f4bd6b85c69ece9d0ebf8deff1ac0;p=dealii.git Documentation changes. git-svn-id: https://svn.dealii.org/trunk@23274 0785d39b-7218-0410-832d-ea1e28bc413d --- diff --git a/deal.II/include/deal.II/fe/fe_nedelec.h b/deal.II/include/deal.II/fe/fe_nedelec.h index 3f9f18552b..5876a1c533 100644 --- a/deal.II/include/deal.II/fe/fe_nedelec.h +++ b/deal.II/include/deal.II/fe/fe_nedelec.h @@ -69,6 +69,54 @@ template class MappingQ; * consistently oriented faces in 3D. Therefore, care should be taken * on complicated meshes. * + *

Restriction on transformations

+ * + * In some sense, the implementation of this element is not complete, + * but you will rarely notice. Here is the fact: since the element is + * vector-valued already on the unit cell, the Jacobian matrix (or its + * inverse) is needed already to generate the values of the shape + * functions on the cells in real space. This is in contrast to most + * other elements, where you only need the Jacobian for the + * gradients. Thus, to generate the gradients of Nedelec shape + * functions, one would need to have the derivatives of the inverse of + * the Jacobian matrix. + * + * Basically, the Nedelec shape functions can be understood as the + * gradients of scalar shape functions on the real cell. They are thus + * the inverse Jacobian matrix times the gradients of scalar shape + * functions on the unit cell. The gradient of Nedelec shape functions + * is then, by the product rule, the sum of first the derivative (with + * respect to true coordinates) of the inverse Jacobian times the + * gradient (in unit coordinates) of the scalar shape function, plus + * second the inverse Jacobian times the derivative (in true + * coordinates) of the gradient (in unit coordinates) of the scalar + * shape functions. Note that each of the derivatives in true + * coordinates can be expressed as inverse Jacobian times gradient in + * unit coordinates. + * + * The problem is the derivative of the inverse Jacobian. This rank-3 + * tensor can actually be computed (and we did so in very early + * versions of the library), but is a large task and very time + * consuming, so we dropped it. Since it is not available, we simply + * drop this first term. + * + * What this means for the present case: first the computation of + * gradients of Nedelec shape functions is wrong. Second, you will not + * notice this usually, for two reasons: + * + * The first reason is that the gradient of the Jacobian vanishes if + * the cells are mapped by an affine mapping, to which the usual + * bilinear mapping reduces if the cell is a parallelogram. Then the + * gradient of the shape functions is computed exact, since the first + * term is zero. + * + * Second, with the Nedelec elements, you will usually want to compute + * the curl, and extract and sum up the respective elements of the + * full gradient tensor. However, the curl of the Jacobian vanishes, + * so for the curl of shape functions the first term is irrelevant, + * and the curl will be computed correctly as well. + * + * *

Interpolation

* * The @ref GlossInterpolation "interpolation" operators associated