From: Wolfgang Bangerth Date: Wed, 25 Apr 2018 19:29:54 +0000 (-0600) Subject: Some edits. X-Git-Url: https://gitweb.dealii.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=3e0f9a2736694b6236a3f5ac25e332286dc701d1;p=release-papers.git Some edits. --- diff --git a/9.0/paper.tex b/9.0/paper.tex index e203d97..c1fe583 100644 --- a/9.0/paper.tex +++ b/9.0/paper.tex @@ -217,7 +217,7 @@ are mainly used in Boundary Element Methods. updates to step-37. In addition, the separate code gallery of \dealii has gained a number of new entries. -\item Improved support for user parameters: a new \texttt{ParameterAcceptor} +\item Improved support for user-defined run-time parameters: a new \texttt{ParameterAcceptor} class has been added to the library. The class is intended to be used as a base for any class that wants to handle parameters using the \texttt{ParameterHandler} class. If you derive all your classes from @@ -272,33 +272,47 @@ the release announcement.) \marginpar{All: please edit as appropriate} -Every function in the GridGenerator namespace now attaches a default manifold to -the curved parts of the domain, and sets reasonable defaults for manifold -indicators both in the domain and on the boundary, where appropriate. Manifold -classes are no longer sensible to settings made on boundary indicators, and are -only affected by manifold indicators, decoupling completely the concept of -boundary indicators and manifold indicator, leaving the former for boundary -conditions, and the latter for the geometrical description of the domain. - -All functions that allowed to query for \texttt{Boundary} objects (deprecated +\dealii{} has had the ability to attach \textit{manifold descriptions} +to all parts of a geometry for several releases already. These +descriptions are used when considering where to place new vertices +upon mesh refinement, in determining the mapping from reference cell +to real cell, and in a number of other contexts. However, for historical +reasons, manifold descripts have used some of the same code paths also +used for boundary indicators typically used to identify which parts of +the boundary correspond to what boundary conditions. + +This connection has been severed in the current release: Boundary +indicators and manifold descriptions are now entirely separated. Furthermore, +all functions that allowed to query for old-style \texttt{Boundary} objects (deprecated since version 8.5 of the \dealii library) have been removed, and have been replaced by the equivalent methods that query \texttt{Manifold} classes. -The manifold smoothing algorithms applied in the Triangulation class and -MappingQGeneric have been changed from the old Laplace-style smoothing to a +There are also numerous improvements to the available manifold descriptions. +First, the manifold smoothing algorithms applied in the \texttt{Triangulation} class and +\texttt{MappingQGeneric} have been changed from the old Laplace-style smoothing to a transfinite interpolation that linearly blends between the descriptions on the faces around a cell. The old transformation introduced boundary layers inside cells that prevented convergence rates from exceeding \(3.5\) in the global -\(L^2\) errors on typical settings. This change also considerably improves mesh -quality on settings where curved descriptions are only applied to the boundary +\(L^2\) errors for typical settings. This change also considerably improves mesh +quality in situations where curved descriptions are only applied to the boundary rather than the whole volume. -A new manifold class \texttt{TransfiniteInterpolationManifold} implementing an -interpolation from a curved boundary description to the interior has been added. -This class enables high-order convergence rates of more than three in the power -of the mesh size for situations where a curved manifold can only be prescribed +\marginpar{This paragraph seems to duplicate the previous. Can we + merge the information?} +Secondly, a new manifold class +\texttt{TransfiniteInterpolationManifold} has been added that implements an +interpolation from a curved boundary description to the interior. +This class enables high-order convergence rates of better than ${\cal O}(h^3)$ +for situations where a curved manifold can only be prescribed to the boundary but not in a whole volume. +Finally, +every function in the \texttt{GridGenerator} namespace now attaches a default manifold to +the curved parts of the domain described by the generated mesh, and sets reasonable defaults for manifold +indicators both in the domain and on the boundary. + + + %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \subsection{Support for particle-in-cell methods} @@ -343,16 +357,17 @@ the functionality was not available pervasively throughout deal.II. This has changed with release 9.0 where support is given for differentiation using a selection of ``white-listed'' libraries (namely ADOL-C \citep{Griewank1996a} -and Sacado) and a subset of their supported number types. Currently, we offer support for +and Sacado) and a subset of their supported number types. Currently, +we offer support for the following cases: \begin{itemize} \item ADOL-C taped (n-differentiable), \item ADOL-C tapeless (once differentiable), \item Sacado dynamic forward (once differentiable), \item Sacado reverse (once differentiable), \item Sacado nested dynamic forward (twice differentiable), and -\item Sacado nested reverse and dynamic forward (twice differentiable) +\item Sacado nested reverse and dynamic forward (twice differentiable). \end{itemize} -numbers. In practice, this support means that these ADOL-C and Sacado data +In practice, this support means that these ADOL-C and Sacado data types can be used in the \texttt{FEValues}, \texttt{FEValuesViews}, \texttt{Tensor}, \texttt{SymmetricTensor}, and related classes that are generally used to assemble linear systems @@ -489,7 +504,7 @@ thereby clarifying object ownership responsibilities and avoiding memory leaks. The matrix-free infrastructure in \dealii{} was significantly overhauled for the current release. The major new contribution is the support of face integrals through a new class \texttt{FEFaceEvaluation}. The new class has a -similar interface as the previous \texttt{FEEvaluation}, and applies SIMD +similar interface as the existing \texttt{FEEvaluation} class, and applies SIMD vectorization over several faces in analogy to the intra-cell vectorization in FEEvaluation. Discontinuous Galerkin operators are implemented defining two face functions, one for interior and one for boundary faces, in addition to @@ -502,7 +517,7 @@ the performance boundaries of the hardware. To give an example of the algorithmic improvements, the computation of the values and gradients on all quadrature points for cell integrals has been -significantly improved, giving around 10--20\% better performance for the case +significantly improved, yielding 10--20\% better performance for cases where the kernels are compute bound. For the example of the reference cell gradient of a solution field $\mathbf u$ in three space dimensions, the new release applies the following change: @@ -530,9 +545,10 @@ applies the following change: \end{equation*} The matrices $S_i$ contain the values of the one-dimensional shape functions in one-dimensional quadrature points and $D_i$ their derivatives. When applied -with the usual sum factorization implementation described e.g.~in +with the usual sum factorization implementation described, for +example, in \cite{KronbichlerKormann2012}, the old kernels amounted to 9 partial -summations---or rather 8 in the previous implementation of \dealii{} because +summations -- or rather 8 in the previous implementation of \dealii{} because the application of $S_1$ for the $y$ and $z$ components of the gradient can be merged. The new code performs a basis transformation to a related basis with derivative matrix $D_i = D_i^{\mathrm{co}} S_i$, which is the basis of @@ -550,7 +566,7 @@ detailed description of the matrix-free modules is given in the preprint This release does not contain any new tutorial programs, though several have been updated extensively for the changes to the manifold -handling as well as to adjust for current functionality +handling as well as to adjust for current functionality and coding styles compared to what that was available when the programs were first written. \dealii has a separate ``code gallery'' that