Tecplot output.
<li><em>Katharina Kormann:</em>
- Support for arbitrary nodes in FE_Q.
+ Support for arbitrary nodes in FE_Q. Matrix-free
+ framework. step-37 and step-48 tutorial programs.
<li><em>Martin Kronbichler:</em>
- step-22, step-31 and step-32, interfaces to Trilinos,
- significant parts of ConstraintMatrix, support for massively parallel
- computations, and many enhancements in random places.
+ step-22, step-31, step-32, step-37, step-48, interfaces to
+ Trilinos, significant parts of ConstraintMatrix, matrix-free
+ computations, support for massively parallel computations, and
+ many enhancements in random places.
<li><em>Tobias Leicht:</em>
Lots of work on internal data structures: anisotropic refinement
<ol>
+<li>
+New: step-48 demonstrates the solution of a nonlinear wave equation
+with an explicit time stepping method. The usage of Gauss-Lobatto
+elements gives diagonal mass matrices, which obviates the solution of
+linear systems of equations. The nonlinear right hand side is
+evaluated with the matrix-free framework.
+<br>
+(Katharina Kormann and Martin Kronbichler, 2012/05/05)
+
+<li>
+New: step-37 shows how the matrix-free framework can be utilized to
+efficiently solve the Poisson equation without building global
+matrices. It combines fast operator evaluation with a multigrid solver
+based on polynomial Chebyshev smoother.
+<br>
+(Katharina Kormann and Martin Kronbichler, 2012/05/05)
+
+<li>
+New: A new matrix-free interface has been implemented. The framework
+is parallelized with MPI, TBB, and explicit vectorization instructions
+(new data type VectorizedArray). The class MatrixFree caches
+cell-based data in an efficient way. Common operations can be
+implemented using the FEEvaluation class.
+<br>
+(Katharina Kormann and Martin Kronbichler, 2012/05/05)
+
<li>
New: step-44 demonstrates one approach to modelling large
deformations of nearly-incompressible elastic solids. The
<br>
(Andrew McBride and Jean-Paul Pelteret, 2012/04/25)
-
<li>
Changed: The version of BOOST we ship with deal.II has been upgraded
to 1.49.0.
<a href="../doxygen/deal.II/changes_after_7_1.html">here.</a></p>
<dl>
+ <dt>
+ <strong>2012/05/05: Matrix-free implementation framework</strong>
+ </dt>
+ <dd>
+ A matrix-free framework has been contributed by Katharina
+ Kormann and Martin Kronbichler. The implementation is memory
+ efficient and includes parallelism via MPI for distributed
+ meshes, threads for shared-memory computations, and usage of
+ processors' vector units. The two new tutorial programs step-37
+ (multigrid solver) and step-48 (nonlinear wave equation with
+ distributed grid) demonstrate the new features.
+ </dd>
+
+
<dt>
<strong>2012/04/02: step-44 — a finite strain
elasticity solver</strong>
This program was contributed by Katharina Kormann and Martin
Kronbichler.
-The algorithm for the matrix-vector product is built upon the article <a
-href="http://dx.doi.org/10.1016/j.compfluid.2012.04.012">A generic interface
-for parallel cell-based finite element operator application</a> by Martin
-Kronbichler and Katharina Kormann, Computers and Fluids, 2012, and the paper
-"Parallel finite element operator application: Graph partitioning and
-coloring" by Katharina Kormann and Martin Kronbichler in: Proceedings of
-the 7th IEEE International Conference on e-Science, 2011. </i>
+The algorithm for the matrix-vector product is based on the article <a
+href="http://dx.doi.org/10.1016/j.compfluid.2012.04.012">A generic
+interface for parallel cell-based finite element operator
+application</a> by Martin Kronbichler and Katharina Kormann, Computers
+and Fluids, 2012, and the paper "Parallel finite element operator
+application: Graph partitioning and coloring" by Katharina
+Kormann and Martin Kronbichler in: Proceedings of the 7th IEEE
+International Conference on e-Science, 2011. </i>
<a name="Intro"></a>
This program was contributed by Katharina Kormann and Martin
Kronbichler.
-The algorithm for the matrix-vector product is built upon the preprint
-"A generic interface for parallel cell-based finite element
-operator application" by Martin Kronbichler and Katharina
-Kormann, Uppsala University, October 2011, and the paper
-"Parallel finite element operator application: Graph partitioning
-and coloring" by Katharina Kormann and Martin Kronbichler in:
-Proceedings of the 7th IEEE International Conference on e-Science,
-2011. </i>
+The algorithm for the matrix-vector product is based on the article <a
+href="http://dx.doi.org/10.1016/j.compfluid.2012.04.012">A generic
+interface for parallel cell-based finite element operator
+application</a> by Martin Kronbichler and Katharina Kormann, Computers
+and Fluids, 2012, and the paper "Parallel finite element operator
+application: Graph partitioning and coloring" by Katharina
+Kormann and Martin Kronbichler in: Proceedings of the 7th IEEE
+International Conference on e-Science, 2011. </i>
<a name="Intro"></a>
<h1>Introduction</h1>
/**
* Constructor for tensor product
- * polynomials with support points @p
- * points based on a one-dimensional
- * quadrature formula. The degree of the
+ * polynomials with support
+ * points @p points based on a
+ * one-dimensional quadrature
+ * formula. The degree of the
* finite element is
- * <tt>points.size()-1</tt>. Note that
- * the first point has to be 0 and the
- * last one 1.
+ * <tt>points.size()-1</tt>.
+ * Note that the first point has
+ * to be 0 and the last one 1. If
+ * <tt>FE_Q<dim>(QGaussLobatto<1>(fe_degree+1))</tt>
+ * is specified, so-called
+ * Gauss-Lobatto elements are
+ * obtained which can give a
+ * diagonal mass matrix if
+ * combined with Gauss-Lobatto
+ * quadrature on the same
+ * points. Their use is shown in
+ * step-48.
*/
-
FE_Q (const Quadrature<1> &points);
+
/**
* Return a string that uniquely
* identifies a finite