]> https://gitweb.dealii.org/ - dealii.git/commitdiff
Announce the matrix-free framework.
authorKatharina Kormann <katharina.kormann@tum.de>
Sun, 6 May 2012 11:32:37 +0000 (11:32 +0000)
committerKatharina Kormann <katharina.kormann@tum.de>
Sun, 6 May 2012 11:32:37 +0000 (11:32 +0000)
git-svn-id: https://svn.dealii.org/trunk@25499 0785d39b-7218-0410-832d-ea1e28bc413d

deal.II/doc/authors.html
deal.II/doc/news/changes.h
deal.II/doc/news/news.html
deal.II/examples/step-37/doc/intro.dox
deal.II/examples/step-48/doc/intro.dox
deal.II/include/deal.II/fe/fe_q.h

index f40ba80ec0180f150a9408b5569cd9b019205a3c..03dbf70f3f5187ba66d68c2a481f596fbfcef4da 100644 (file)
@@ -120,12 +120,14 @@ at <tt>dealii.org</tt>.
     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
index 90f703f5a8ee40cf6ffc59a04d9e016d5466d58a..02e374c4fbf0bade3d4ab773a31a326058e3499e 100644 (file)
@@ -47,6 +47,32 @@ used for boundary indicators.
 
 
 <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
@@ -56,7 +82,6 @@ nonlinear, i.e., the program considers finite deformations.
 <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.
index 8832fb50fa5e84e8497e584ddf48b19a85c67398..07b1ca7909dbcdda4be3c5622fd633ebeb347d78 100644 (file)
     <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 &mdash; a finite strain
           elasticity solver</strong>
index 6f18b1bf5163b1e58f49b1e0d8637d848778d146..fd54c93359d3cd5578586e488ded15d0be7ae0cb 100644 (file)
@@ -4,13 +4,14 @@
 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
-&quot;Parallel finite element operator application: Graph partitioning and
-coloring&quot; 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 &quot;Parallel finite element operator
+application: Graph partitioning and coloring&quot; by Katharina
+Kormann and Martin Kronbichler in: Proceedings of the 7th IEEE
+International Conference on e-Science, 2011.  </i>
 
 
 <a name="Intro"></a>
index 3c582a5c5b11e6fd0845dc3f75c900191ea5a285..b1ceccc5535d557e609cb0d9c96c894adc14fc71 100644 (file)
@@ -3,14 +3,14 @@
 This program was contributed by Katharina Kormann and Martin
 Kronbichler.
 
-The algorithm for the matrix-vector product is built upon the preprint
-&quot;A generic interface for parallel cell-based finite element
-operator application&quot; by Martin Kronbichler and Katharina
-Kormann, Uppsala University, October 2011, and the paper
-&quot;Parallel finite element operator application: Graph partitioning
-and coloring&quot; 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 &quot;Parallel finite element operator
+application: Graph partitioning and coloring&quot; 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>
index f10f6e2b98620767c15cdb6056c955150044812a..7fa8612c68c6795764f006a081083df79281ac01 100644 (file)
@@ -231,16 +231,26 @@ class FE_Q : public FE_Poly<TensorProductPolynomials<dim>,dim,spacedim>
 
                                      /**
                                       * 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

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.