]> https://gitweb.dealii.org/ - release-papers.git/commitdiff
Merge pull request #10 from drwells/fill-LinearOperator-paragraph
authorDenis Davydov <davydden@gmail.com>
Sun, 8 Apr 2018 05:13:55 +0000 (07:13 +0200)
committerGitHub <noreply@github.com>
Sun, 8 Apr 2018 05:13:55 +0000 (07:13 +0200)
Fill out the LinearOperator paragraph.

1  2 
9.0/paper.tex

diff --cc 9.0/paper.tex
index bbfe6f5355c2bc6adf3c3d85481ded4b6e5e7969,2904349a8f4299b7499223d402268df97c7349dc..f1242200459503ea28dbde62c64a41a9280d7d1a
@@@ -155,30 -154,20 +155,34 @@@ The major changes of this release are
    the whole volume.
  
  \item
 -  C++11 is now required and used in many places. For performance reason,
 -  move semantics is used when possible and in many places, \texttt{emplace\_back} 
 -  replaces \texttt{push\_back()}. C-style raw pointers have been replaced by
 -  \texttt{shared\_ptr} and \texttt{unique\_ptr} to avoid the risk of memory leak.
 -  Private constructors have been removed and instead were delete. clang-tidy is
 -  now being used to ensure the quality of the code.
 +  \dealii{} first offered support for C++11 features in version 6.2, which was
 +  published in 2009: This release is the first to \emph{require} a compiler
 +  supporting C++11. \dealii{} now uses language improvements such as using
 +  \texttt{emplace\_back()} instead of \texttt{push\_back()}, moving objects
 +  instead of copying them, using \texttt{nullptr} instead of \texttt{NULL}, and
 +  marking unimplemented constructors with \texttt{=delete;} instead of making
 +  them \texttt{private}. These changes include some minor incompatibilities: all
 +  \texttt{clone} functions (such as \texttt{FiniteElement::clone} and
 +  \texttt{Mapping::clone}) now return \texttt{std::unique\_ptr}s instead of
 +  C-style raw pointers. Indeed, nearly every interface that returns a pointer
 +  now returns either a \texttt{std::shared\_ptr} or \texttt{std::unique\_ptr},
 +  which clarifies object ownership responsibilities and avoids memory leaks.
 +
 +\item \dealii{} has made extensive use of both the clang-tidy and coverity
 +      static analysis tools for detecting bugs and other issues in the code.
 +      %% TODO is there somewhere we can cite for either of these tools? It would
 +      %% be nice to recognize the department of homeland security for offering
 +      %% coverity.
 +      %% TODO at the time of writing this coverity is down; get an issue count
 +      %% when it is back online.
  
  \item
-   Improved support for LinearOperator (Trilinos payload, Schur complement,
-   iterative inverse), removal of old wrapper classes
+   \texttt{LinearOperator}, a flexible template class that implements the action of a
+   linear operator (see \cite{MaierBardelloniHeltai-2016-b}), now supports
+   computations with Trilinos, Schur complements, and linear constraints. This
+   class is, as of this release, the official replacement for about half a dozen
+   similar (but less general) classes, such as \texttt{FilteredMatrix},
+   \texttt{IterativeInverse}, and \texttt{PointerMatrix}.
  
  \item
    Significant extension of matrix-free capabilities, including support for face integrals in discontinuous Galerkin schemes, a new Hermite-like polynomial basis adapted to face integrals that involve derivatives of shape functions, and several performance enhancements

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.