Updated deal.II in Spack (markdown)
[dealii.wiki.git] / Tensor-product-structures-for-polynomials-and-quadrature.md
index 9e47f709fd18dbeb806269c16835a25696b7c304..9e035e0a8ce0a4cd9e38f4d64bd2653e38b6eb35 100644 (file)
@@ -31,6 +31,14 @@ most algorithms become memory-bound, we must consider retiring
   product structure
   - XFEM
   - Overlapping nonmatching grids
+- Note: *hp* adaptivity is supported by the `FEEvaluation` class.
+
+## Design and limitations of the `FEEvaluation` class
+
+The matrix-free implementation uses the class `FEEvaluation` instead of `FEValues`. Different from the `FEValues` class, information about the degrees of freedom and the mapping from physical to unit cell is precomputed and stored. The degrees of freedom are numbered MPI-local and the constraints are incorporated into the DoF list in order to provide direct array access into vectors.
+This enables e.g. fast evaluation of the shape functions at the quadrature points. On the other hand, only values, gradients, etc. that are precomputed can be accessed while the `FEValues` object enables on-the-fly computations of more general evaluations.
+The main task would therefore be to merge the different functionalities of the two classes.
+
 
 # Tensor product quadrature
 
@@ -42,7 +50,9 @@ where the access operator `[]` returns a `Point<dim>` created on the
 fly. Additionally, it allows direct access to the one-dimensional
 point sets. Similarly, we can consider a class `TensorProductWeights`.
 
-Note that while we are currently not making use of this (?),
+Note that while we are currently not making use of this (**this is false**: 
+there are classes to integrate singularities which are not based on tensor 
+product quadrature formulas...),
 `Quadrature` is not restricted to tensor products. Therefore,
 `TensorProductQuadrature` is not going to be an equivalent
 replacement.
@@ -66,7 +76,7 @@ The convention for the indices shall be that `d=1,...,dim`, `di`
 enumerates the coordinates in direction `d`, and `i` enumerates all
 quadrature points.
 
-```
+```cpp
 template <typename number, int dim, int...>
 class TensorProductPoints
 {
@@ -123,3 +133,4 @@ well. For these we need truncated tensor products.
   numbering of the shape functions, which is the inversion of a
   similar process when we generate the functions. Should we reconsider
   the ordering in `DoFHandler`?
+- `FEEvaluation` currently knows the elements `FE_Q`, `FE_DGQ`, `FE_DGP` and `FE_Q_DG0`.
\ No newline at end of file

In the beginning the Universe was created. This has made a lot of people very angry and has been widely regarded as a bad move.

Douglas Adams


Typeset in Trocchi and Trocchi Bold Sans Serif.