From d05955ad9b381b3c5881f0daddbe200dcbe3f886 Mon Sep 17 00:00:00 2001 From: Wolfgang Bangerth Date: Wed, 13 May 2020 17:35:05 -0600 Subject: [PATCH] Make a bit of progress on the release paper. --- 9.2/paper.tex | 154 +++++++++++++++++--------------------------------- 1 file changed, 52 insertions(+), 102 deletions(-) diff --git a/9.2/paper.tex b/9.2/paper.tex index 67839d2..dca1026 100644 --- a/9.2/paper.tex +++ b/9.2/paper.tex @@ -16,6 +16,8 @@ \usepackage[normalem]{ulem} +\usepackage{todonotes} + \pgfplotsset{compat=1.9} \newcommand{\specialword}[1]{\texttt{#1}} @@ -177,22 +179,10 @@ GNU Lesser General Public License (LGPL). Downloads are available at The major changes of this release are: % \begin{itemize} -\item +\item xy \todo[inline]{Update once we have the subsections in Section 2; + provide cross-references to each of these subsections} % \item Improved support for automatic differentiation (see -% Section~\ref{subsec:ad}), -% \item Dedicated support for symbolic algebra (see -% Section~\ref{subsec:sd}), -% \item Full support for $hp$~adaptivity in parallel computations (see -% Section~\ref{subsec:hp}), -% \item An interface to the HDF5 file format and libraries (see -% Section~\ref{subsec:hdf5}), -% \item Significantly extended GPU support (see Section~\ref{subsec:gpu}), -% \item Parallel geometric multigrid (GMG) improvements (see -% \cite{ClevengerHeisterKanschatKronbichler2019} and -% Section~\ref{subsec:gmg}), -% \item Four new tutorial programs (step-61, step-62, step-63, step-64), -% as well as one new code gallery program (see -% Section~\ref{subsec:steps}). +% Section~\ref{subsec:ad}), \end{itemize} % The major changes are discussed in detail in Section~\ref{sec:major}. There @@ -200,69 +190,10 @@ are a number of other noteworthy changes in the current \dealii{} release that we briefly outline in the remainder of this section: % \begin{itemize} -\item -% \item -% The release contains a number of performance improvements and bug fixes for -% the matrix-free framework. One notable improvement is the support for -% renumbering of degrees of freedom within the cells for discontinuous -% elements, avoiding some reshuffling operations across the SIMD lanes -% with vectorization over several cells and faces, which is especially -% useful on processors with AVX-512 vectorization (8 doubles), speeding up -% operations by up to 10\%. Secondly, the strategy for the most efficient -% tensor product evaluators according to the performance analysis of -% \cite{KronbichlerKormann2019} in the context of more quadrature points than -% shape functions has been revised for better performance. -% -% \item A new class \texttt{ParsedConvergenceTable} has been introduced -% that greatly simplifies the construction of convergence tables, -% reading the options for the generation of the table from a parameter -% file, and providing methods that, combined with a parameter file, -% allow one to generate convergence tables using one-liners in user -% codes. -% -% \item -% The \texttt{FE\_BernardiRaugel} class implements the non-standard -% Bernardi-Raugel (BR) element that can be used to construct a stable -% velocity-pressure pair for the Stokes equation \cite{BR85}. The BR -% element is an enriched version of the $Q_1^d$ element with added bubble -% functions on each edge (in 2d) or face (in 3d). It addresses the fact -% that the $Q_1^d\times Q_0$ combination is not inf-sup stable (requiring a -% larger velocity space), and that the $Q_2^d\times Q_0$ combination is -% stable but converges with only first-order at the cost of the large -% number of velocity unknowns. The BR space is thus intermediate between the -% $Q_1^d$ and $Q_2^d$ spaces. -% -% The element is currently only implemented for parallelogram meshes due to -% difficulties associated with the mapping of shape functions: The shape -% functions of the $Q_1^d$ part of the element need to be mapped as -% scalars, as is common for the vector components of the $Q_1^d$ element; -% on the other hand, the vector-valued edge bubble functions need to be -% mapped using the Piola transform as is common for the Raviart-Thomas -% element. \dealii{} does not currently have the ability to use different -% mappings for individual shape functions, though this functionality is -% planned for the next release. -% -% \item -% The \texttt{FE\_NedelecSZ} class is a new implementation of the -% N{\'e}d{\'e}lec element on quadrilaterals and hexahedra. It is based on -% the work of Zaglmayr \cite{Zag06} and overcomes the sign conflict issues -% present in traditional N{\'e}d{\'e}lec elements that arise from the edge -% and face parameterizations used in the basis functions. Therefore, this -% element should provide consistent results for general quadrilateral and -% hexahedral elements for which the relative orientations of edges and -% faces (as seen from all adjacent cells) are often difficult to establish. -% The \texttt{FE\_NedelecSZ} element addresses the sign conflict problem by -% assigning a globally defined orientation to local edges and faces. A -% detailed overview of the implementation of the \texttt{FE\_NedelecSZ} -% element in \dealii{} can be found in \cite{Kynch2017}. -% -% \item All of the elementary geometrical objects of the library (namely -% \texttt{Point}, \texttt{Segment}, and -% \texttt{BoundingBox}) have been augmented with the traits -% needed to comply with \texttt{boost::geometry} concepts. A new -% interface to \texttt{boost::geometry::index::rtree} has been added -% that simplifies the construction of spatial indices based on points, -% bounding boxes, or segments. +\item x \todo[inline]{Wolfgang to write about complex-valued output} +\item y \todo[inline]{Timo to write about problems and fixes for + computations with more than $2^{32}$ unknowns} +\item z \todo[inline]{What else?} \end{itemize} % In addition to these changes, the changelog lists more than 200 other @@ -286,12 +217,6 @@ can be found \href{https://dealii.org/developer/doxygen/deal.II/changes_between_9_0_1_and_9_1_0.html}{ in the file that lists all changes for this release}, see \cite{changes91}. -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -\subsection{bla1} -\label{subsec:bla1} - - - %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \subsection{New and improved tutorial and code gallery programs} \label{subsec:steps} @@ -304,43 +229,67 @@ as range-based for loops and lambda functions. In addition, there are seven new tutorial programs: \begin{itemize} \item \texttt{step-47} +\todo[inline]{Zhuoran to write} \item \texttt{step-50} +\todo[inline]{Timo/Conrad/... to write} \item \texttt{step-58} +\todo[inline]{Wolfgang to write} \item \texttt{step-65} +\todo[inline]{Martin to write} \item \texttt{step-67} +\todo[inline]{Martin to write} \item \texttt{step-69} +\todo[inline]{Matthias/Ignacio to write} \item \texttt{step-70} + \todo[inline]{Also need to update announce and announce-short if this + makes it into the release.} \end{itemize} +\todo[inline]{Do we have new code gallery programs} + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\subsection{Support for large, fully distributed meshes} +\label{subsec:pfT} + +\todo[inline]{Peter: Write something about p::f::T} + + + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\subsection{Better support for parallel $hp$-adaptive algorithms} +\label{subsec:hp} + +\todo[inline]{Marc: Your section} + + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\subsection{Support for particle-based methods} +\label{subsec:particles} + +\todo[inline]{Luca: Your section} + + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\subsection{Python interfaces} +\label{subsec:python} + +\todo[inline]{What's new here? mention step-49 and step-53 versions written in python.} + + + %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \subsection{Incompatible changes} The 9.2 release includes \href{https://dealii.org/developer/doxygen/deal.II/changes_between_9_1_1_and_9_2_0.html} - {around 15 incompatible changes}; see \cite{changes92}. The majority of these changes + {around 60 incompatible changes}; see \cite{changes92}. The majority of these changes should not be visible to typical user codes; some remove previously deprecated classes and functions; and the majority change internal interfaces that are not usually used in external applications. However, some are worth mentioning: \begin{itemize} \item -% \item The \texttt{VectorView} class was removed. We recommend either copying the -% vector subset into a \texttt{Vector} or using a \texttt{BlockVector}. -% \item The function \texttt{Subscriptor::subscribe()}, used through the -% \texttt{SmartPointer} class, now requires a pointer to a -% \texttt{std::atomic} that tracks whether or not the pointer to the -% subscribed-to object is still valid. -% \item The \texttt{ConstraintMatrix} class gained a template parameter for the scalar -% type and was been renamed \texttt{AffineConstraints}. Several methods that -% take vectors or matrices as arguments, -% such as \texttt{AffineConstraints::distribute\_local\_to\_global()}, -% now require that all matrix and vector arguments have matching number -% types. -% \item Similarly, the functions \texttt{create\_mass\_matrix} and -% \texttt{create\_boundary\_mass\_matrix} in the \texttt{MatrixCreator} -% namespace no longer -% support matrix and vector objects of different types. \end{itemize} @@ -432,7 +381,8 @@ The two previous releases of \dealii can be cited as \dealii is a world-wide project with dozens of contributors around the globe. Other than the authors of this paper, the following people contributed code to this release:\\ -% updated 5/11/2020 MM - TODO: remove authors of paper +% updated 5/11/2020 MM +\todo[inline]{TODO: remove authors of paper} Pasquale Africa, Ashna Aggarwal, Giovanni Alzetta, -- 2.39.5