--- /dev/null
+\documentclass{ansarticle-preprint}
+%\usepackage{ucs}
+\usepackage[utf8]{inputenc}
+\usepackage{amsmath}
+%\usepackage{cite}
+\usepackage{anslistings}
+
+\usepackage{fontenc}
+\usepackage{graphicx}
+
+\hypersetup{
+ pdfauthor={Wolfgang Bangerth, Timo Heister, Luca Heltai, Guido Kanschat,
+ Martin Kronbichler, Matthias Maier, Bruno Turcksin
+ %, Toby D. Young
+ },
+ pdftitle={The deal.II Library, Version 8.4, 2016},
+}
+
+\newcommand{\specialword}[1]{\texttt{#1}}
+\newcommand{\dealii}{{\specialword{deal.II}}}
+\newcommand{\pfrst}{{\specialword{p4est}}}
+\newcommand{\trilinos}{{\specialword{Trilinos}}}
+\newcommand{\aspect}{\specialword{Aspect}}
+\newcommand{\petsc}{\specialword{PETSc}}
+\newcommand{\cmake}{{\specialword{CMake}}}
+\newcommand{\autoconf}{{\specialword{autoconf}}}
+
+\title{The \dealii{} Library, Version 8.4}
+\author[1]{Wolfgang Bangerth}
+\affil[1]{Department of Mathematics, Texas A\&M University, College Station,
+ TX 77843, USA,
+ {\texttt{bangerth@math.tamu.edu}}}
+\author[2]{Denis Davydov}
+\affil[2]{Chair of Applied Mechanics, University of
+ Erlangen-Nuremberg, Egerlandstr. 5, 91058 Erlangen, Germany,
+ {\texttt{denis.davydov@fau.de}}}
+\author[3]{Timo Heister}
+\affil[3]{Mathematical Sciences,
+ O-110 Martin Hall.
+ Clemson University.
+ Clemson, SC 29634, USA,
+ {\texttt{heister@clemson.edu}}}
+\author[4]{Luca Heltai}
+\affil[4]{SISSA - International School for Advanced Studies, Via
+ Bonomea 265, 34136 Trieste, Italy,
+ {\texttt{luca.heltai@sissa.it}}}
+\author[5]{Guido Kanschat}
+\affil[5]{Interdisciplinary Center for Scientific Computing (IWR),
+ Universit{\"a}t Heidelberg, Im Neuenheimer Feld 368, 69120 Heidelberg, Germany,
+ {\texttt{kanschat@uni-heidelberg.de}}}
+\author[6]{Martin Kronbichler}
+\affil[6]{Institute for Computational Mechanics, Technical University of
+ Munich, Boltzmannstr.~15, 85748 Garching,
+ Germany,
+ {\texttt{kronbichler@lnm.mw.tum.de}}}
+\author[7]{Matthias Maier}
+\affil[7]{School of Mathematics, University of Minnesota, 127 Vincent Hall,
+ 206 Church Street SE, Minneapolis, MN 55455, USA,
+ {\texttt{msmaier@umn.edu}}}
+\author[8]{Bruno Turcksin}
+\affil[8]{Department of Mathematics, Texas A\&M University, College Station,
+ TX 77843, USA,
+ {\texttt{turcksin@math.tamu.edu}}}
+\author[9]{David Wells}
+\affil[9]{Department of Mathematical Sciences, Rensselaer Polytechnic Institute,
+Troy, NY 12180, USA
+ {\texttt{wellsd2@rpi.edu}}}
+%\author[8]{Toby~D.~Young}
+%\affil[8]{Institute of Fundamental Technological Research of the Polish
+% Academy of Sciences, ul. Pawi{\'n}skiego 5b, Warsaw 02-106, Poland,
+% {\texttt{tyoung@ippt.pan.pl}}}
+
+\renewcommand{\labelitemi}{--}
+
+
+\begin{document}
+\maketitle
+
+\begin{abstract}
+ This paper provides an overview of the new features of the finite element
+ library \dealii{} version 8.4.
+\end{abstract}
+
+
+\section{Overview}
+
+\dealii{} version 8.4.0 was released March 11, 2016. This paper provides an
+overview of the new features of this release and serves as a citable
+reference for the \dealii{} software library version 8.4. \dealii{} is an
+object-oriented finite element library used around the world in the
+development of finite element solvers. It is available for free under the
+GNU Lesser General Public License (LGPL) from the \dealii{} homepage at
+\url{http://www.dealii.org/}.
+
+The major changes of this release are:
+\begin{itemize}
+\item Parallel triangulations can now be partitioned in ways that allow
+ weighting cells differently.
+\item Improved support for mixed-type arithmetic throughout the library.
+\item A new triangulation type that supports parallel computations
+ but ensures that the entire mesh is available on every processor.
+\item An implementation of the Rannacher-Turek element, as well as an
+ element that extends the usual Q(p) elements by bubble functions.
+\item Second and third derivatives of finite element fields are now
+ computed exactly.
+\item The various \emph{Concepts}, or requirements on template parameters
+ in the library, are now consistently labeled and documented as such.
+\item The interface between finite elements, quadrature, mapping, and the
+ FEValues class has been rewritten. It is now much better documented.
+\item Initial support for compiling with Visual C++ 2013 and 2015 under
+ Microsoft Windows
+ has been added.
+\item More than 140 other features and bugfixes.
+\end{itemize}
+The more important ones of these will be detailed in the following section.
+Information on how to cite \dealii{} is provided in Section \ref{sec:cite}.
+
+
+\section{Significant changes to the library}
+
+This release of \dealii{} contains a number of large and significant changes
+that will be discussed in the following sections. It of course also contains a
+vast number of smaller changes and added functionality; the details of these
+can be found
+\href{https://www.dealii.org/8.4.0/doxygen/deal.II/changes_between_8_3_and_8_4.html}{in the file that lists all changes for this release} (see \cite{changes84})
+and that is linked to from the web site of each release as well as the
+release announcement.
+
+
+\subsection{Parallel triangulations can now be partitioned with weights}
+
+Previously, partitioning a parallel mesh (represented by objects of class
+\texttt{parallel::}\-\texttt{distributed::}\-\texttt{Triangulation}) between
+processors assumed that every cell should be weighted equally. On the
+other hand, the \pfrst{} library which manages the partitioning
+process, allows for attaching weights to each cell and thereby
+enables ways in which not the number of cells per MPI process is
+equilibrated, but the sum of weights on the cells managed by each
+process. \dealii{} now also supports this feature.
+
+The implementation of this mechanism is based on a callback mechanism,
+in the form of the signal-slot design pattern. User codes can register
+functions that will be called upon mesh refinement and coarsening,
+returning a weight for each cell. These weights will be added up over
+all slots (i.e., callback functions) connected to the signal.
+
+The mechanism chosen has the advantage that all parties that use a
+triangulation, for example multiple \texttt{DoFHandler} objects or a
+scheme that tracks particles that are advected along with a flow field
+and stores them per-cell, can indicate their computational needs for
+each cell. In particular, there is no central place in a user code (other than
+the
+triangulation itself) that has to collect these needs and forward this
+information.
+
+
+\subsection{Improved support for mixed-type arithmetic throughout the
+ library}
+
+When evaluating finite element fields or their derivatives at
+a points $\mathbf x_q$, one typically has to do an operation of the form
+\begin{align*}
+ u_h(\mathbf x_q) &= \sum_{j} U_j \varphi_j(\mathbf x_q),
+ \\
+ \nabla u_h(\mathbf x_q) &= \sum_{j} U_j \nabla\varphi_j(\mathbf x_q).
+\end{align*}
+The value or derivatives of shape functions, $\varphi_j(\mathbf x_q)$
+or $\nabla\varphi_j(\mathbf x_q)$ are internally evaluated by classes
+derived from the \texttt{FiniteElement} and \texttt{Mapping}, and are
+computed as scalars or tensors of type \texttt{double}. On the other
+hand, the expansion coefficients of the field, $U_j$ are stored in
+vectors over scalar types chosen by the user; their underlying representation
+could be \texttt{double}, but also \texttt{float}, \texttt{long double},
+\texttt{PetscScalar}, or \texttt{std::complex<float>}. It could also
+be an autodifferentiation type.
+
+To facilitate the correct typing of the computed quantity, \dealii{}
+now contains mechanisms by which one can evaluate the \textit{type} of
+the product of two values, and this type is now consistently used
+throughout the library in expressions such as those above. Thus, as an
+example, if the user stores the expansion coefficients in a
+\texttt{Vector<long double>}, then the gradients
+$\nabla u_h(\mathbf x_q)$ will be computed as objects of type
+\texttt{Tensor<1,dim,long double>}. Likewise, if a user uses a PETSc
+vector, and PETSc was configured with complex scalar types, then the
+second derivatives of the solution field will be computed as
+\texttt{SymmetricTensor<2,dim,PetscScalar>}, which should equal
+\texttt{SymmetricTensor<2,dim,std::complex<double> >}.
+
+These improvements make type-correct computations possible in many
+places. In particular, this enables the use of complex-valued solution
+vectors in many more places than before. On the other hand, many but not all
+places have learned what actually to do with complex numbers. This is,
+in particular, true for the \texttt{DataOut} class that generates an
+intermediate data format that can then be written to graphical output
+files for visualization. Since no format we are aware of supports
+complex numbers, future versions still need to learn how to separate
+real and imaginary parts of complex numbers, and output them as two
+components.
+
+
+\subsection{A new ``shared'' triangulation type for parallel computations}
+
+\dealii{} already has two types of triangulations: the
+\texttt{Triangulation<dim,spacedim>} class works entirely locally, whereas
+\texttt{parallel::distributed::Triangulation<dim,spacedim>} builds on the
+former, but only stores the local partition that corresponds to a globally
+distributed triangulation managed across an MPI network. One \textit{could},
+however, use the former also for parallel computations in situations where one
+needs access to \textit{all} cells, not just the subset of cells that
+correspond to the partition owned by the current processor. This required
+building the same triangulation on all processors, then
+manually partitioning it (e.g., via \texttt{METIS}), calculating and storing
+index sets of locally owned and locally relevant degrees of freedom (DoFs),
+querying the \texttt{subdomain\_id} of a cell during assembly, etc.
+
+In order to simplify this usage of the \texttt{Triangulation} class with MPI
+and to make its behavior in this context consistent with \texttt{parallel::distributed::Triangulation}, a new class
+\texttt{parallel::shared::Triangulation} has been introduced.
+It extends the \texttt{Triangulation} class to automatically partition the triangulation when run with MPI.
+Shared functionality between the \texttt{shared} and \texttt{distributed}
+triangulation classes
+(e.g., locally owned and relevant DoFs, MPI communicators, etc)
+is now grouped in a common parent class \texttt{parallel::Triangulation}.
+The main difference between the two classes is that in the case of
+\texttt{parallel::shared::Triangulation} each process stores all cells of the triangulation.
+Consequently, by default there are no artificial cells.
+That is, cells which are attributed to the current processor are marked as locally owned
+(\texttt{cell->is\_locally\_owned()} returns \texttt{true})
+and the rest are ghost cells.
+This behavior can be altered via an additional boolean flag provided to the constructor of the class.
+In this case, the set of ghost cells will consist of a halo layer of cells around locally owned cells.
+Cells which are neither ghost nor locally owned are marked as artificial.
+This is consistent with the behavior of \texttt{parallel::distributed::Triangulation},
+although in the latter case the size of the set of artificial cells will be
+much smaller.
+
+The introduction of the \texttt{parallel::shared::Triangulation} class together with the
+optional artificial cells and parent \texttt{parallel::Triangulation} class
+facilitates writing
+algorithms that are indifferent to the way a triangulation is stored in the MPI context.
+For example, the function \texttt{DoFTools::locally\_active\_dofs()} will
+return the appropriate subset of
+all DoF indices for both triangulations.
+Assmebly routines can use predicates such as \texttt{cell->is\_locally\_owned()}
+for both triangulations.
+
+Based on the new triangulation class, the (non-hp) \texttt{DoFHandler} manages
+degrees of freedom in the same way as it has already done for a long time for
+sequential and parallel distributed triangulations.
+
+
+\subsection{Second and third derivatives of finite element fields are now
+ computed exactly}
+
+Second derivatives of solution fields, i.e.,
+\begin{align*}
+ \nabla^2 u_h(\mathbf x_q) &= \sum_{j} U_j \nabla^2\varphi_j(\mathbf x_q)
+\end{align*}
+were previously computed by finite differencing of first
+derivatives. The reason for this approach is that in order to compute
+the second derivatives of shape functions, $\nabla^2\varphi_j(\mathbf
+x_q)$ one needs (at least) derivatives of the inverse of the Jacobian of the
+mapping. This is easy to see because, for the usual $Q_p$ Lagrange
+elements, one has that $\nabla\varphi_j(\mathbf
+x_q)=J^{-1}\hat\nabla\hat\varphi_j(\hat{\mathbf x}_q)$, where quantities
+with a hat refer to coordinates and functions on the reference cell,
+and $J$ is the Jacobian of the mapping from reference to real
+cell. Thus, the second derivatives satisfy
+\begin{align*}
+ \nabla^2\varphi_j(\mathbf x_q)
+ =
+ J^{-1}\hat\nabla\left[J^{-1}\hat\nabla\hat\varphi_j(\hat{\mathbf x}_q)\right]
+ =
+ J^{-1} J^{-1}\hat\nabla^2\hat\varphi_j(\hat{\mathbf x}_q)
+ +
+ J^{-1}\left(\hat\nabla [J^{-1}]\right)\hat\nabla\hat\varphi_j(\hat{\mathbf x}_q),
+\end{align*}
+where in the last expression, matrices and tensors of rank 1 and 3
+have to be appropriately contracted. Here, the difficulty lies in
+computing the derivative $\hat\nabla [J^{-1}]$: for the usual mappings
+on quadrilaterals and hexahedra, $J$ is in general a polynomial in the
+reference coordinates $\hat {\mathbf x}$, so $J^{-1}$ is a rational
+function. It is possible to compute the derivatives of this object,
+but they are difficult and cumbersome to evaluate, especially for
+higher order mappings.
+
+The key to computing second (and higher) derivatives of shape
+functions is to recognize that $\hat\nabla [J^{-1}]$ can be expressed
+more conveniently by observing that
+\begin{align*}
+ 0 &= \hat\nabla I
+ \\
+ &= \hat\nabla (JJ^{-1})
+ \\
+ &= J (\hat\nabla [J^{-1}]) + (\hat\nabla J) J^{-1},
+\end{align*}
+and consequently $\hat\nabla [J^{-1}] = - J^{-1} (\hat\nabla J)
+J^{-1}$. Here, $J^{-1}$ is a matrix that is already available from
+computing first derivatives, and $\hat\nabla J$ is an easily computed
+rank-3 tensor with polynomial entries. Using this approach, we have
+\begin{align*}
+ \nabla^2\varphi_j(\mathbf x_q)
+ =
+ J^{-1} J^{-1}\hat\nabla^2\hat\varphi_j(\hat{\mathbf x}_q)
+ -
+ J^{-1} J^{-1} (\hat\nabla J)
+ J^{-1}\hat\nabla\hat\varphi_j(\hat{\mathbf x}_q),
+\end{align*}
+again with an appropriate set of contractions over the indices of the
+objects on the right.
+
+This, and corresponding extensions to compute third derivatives, have
+now been implemented in several of the finite element and mapping
+classes by Maien Hamed, and are available through the
+\texttt{FEValues} interface to shape functions and their derivatives.
+
+\subsection{Visual C++ support}
+
+The library can now be compiled under Windows with Visual C++ 2013 and
+2015. The support is still experimental for the following reasons: First, we
+currently only support static linking. This will slow down linking of
+application code immensly. Second, only a minimal testsuite is working, which
+is mainly because static linking of thousands of test executables is not
+viable. Therefore, we can not exclude the possibility of subtle bugs in the
+library. Finally, there is of course limited support for external packages.
+
+\subsection{Incompatible changes}
+
+\subsubsection{Revision of the interface between finite elements,
+ quadratures, and mappings}
+
+Finite element classes describe shape functions as continuous (as
+opposed to discrete) objects on the reference cell. On the other hand,
+in actual practice, one only needs information about shape functions
+at finitely many quadrature points, and these are typically the same
+on every cell in a loop over all cells. Furthermore, the evaluation of
+shape functions at quadrature points then also needs to be mapped to
+the real cell, typically using a polynomial mapping.
+
+To facilitate this complex interplay, \dealii{} has three class
+hierarchies rooted in the base classes \texttt{FiniteElement} (for the
+description of shape functions on the reference cell),
+\texttt{Quadrature} (for the locations and weights of quadrature
+points on the reference cell), and \texttt{Mapping} (for the
+description of mappings from the reference to the real cell). In
+almost all cases, users create an object of a derived class for each
+of these categories, but they never access any of the members of these
+classes and instead leave this task to the \texttt{FEValues} class
+(and \texttt{FEFaceValues}, \texttt{FESubfaceValues}) that presents
+all one typically needs: the mapped values, gradients, and
+higher order derivatives of shape functions at the quadrature points
+of the real cell.
+
+The interplay between these classes in the \texttt{FEValues} interface
+is one of the oldest parts of the library. It was, at the time, not
+designed based on specifications we explicitly or implicitly knew this
+class had to satisfy, but instead organically grew to its current
+state. These interfaces have now been fundamentally rewritten: some
+functions have been replaced; several others had their argument lists
+shuffled, sorted, and made more uniform; and everything has generally
+been far better documented.
+
+None of the changes in this arena is visible to the average user. The
+only user codes that are affected in an incompatible way are those
+that implement finite element or mapping classes.
+
+\subsubsection{Other incompatible changes}
+
+The
+\href{https://www.dealii.org/8.4.0/doxygen/deal.II/changes_between_8_3_and_8_4.html}{file
+ that lists all changes for this release} (see \cite{changes84}) lists another 18
+incompatible changes, but none of these should in fact be visible in
+typical user codes. Some remove previously deprecated classes and
+functions, and the majority change internal interfaces that are not
+typically used in user codes.
+
+
+
+\section{How to cite \dealii{}}\label{sec:cite}
+
+In order to justify the work the developers of \dealii{} put into this
+software, we ask that papers using the library reference one of the
+\dealii{} papers. This helps us justify the effort we put into it.
+
+There are various ways to reference \dealii{}. To acknowledge the use of a
+particular version of the library, reference the present document. For up
+to date information and bibtex snippets for this document see:
+
+\bigskip
+
+\begin{center}
+ \url{https://www.dealii.org/publications.html}
+\end{center}
+
+\bigskip
+
+% \begin{minipage}{0.9\textwidth}%no page break in here please
+% \begin{verbatim}
+% @article{dealII82,
+% title = {The {\tt deal.{I}{I}} Library, Version 8.2},
+% author = {W. Bangerth and T. Heister and L. Heltai
+% and G. Kanschat and M. Kronbichler and M. Maier
+% and B. Turcksin and T. D. Young},
+% journal = {preprint},
+% year = {2015},
+% }
+% \end{verbatim} % journal = {arXiv preprint \url{http://arxiv.org/abs/TODO}},
+% \end{minipage}
+
+The original \texttt{\dealii{}} paper containing an overview of its
+architecture is \cite{BangerthHartmannKanschat2007}. If you rely on specific
+features of the library, please consider citing any of the following:
+\begin{itemize}
+ \item For geometric multigrid: \cite{Kanschat2004,JanssenKanschat2011};
+ \item For distributed parallel computing: \cite{BangerthBursteddeHeisterKronbichler11};
+ \item For $hp$ adaptivity: \cite{BangerthKayserHerold2007};
+ \item For matrix-free and fast assembly techniques:
+ \cite{KronbichlerKormann2012};
+ \item For computations on lower-dimensional manifolds:
+ \cite{DeSimoneHeltaiManigrasso2009};
+ \item For integration with CAD files and tools:
+ \cite{HeltaiMola2015};
+ \item For \texttt{LinearOperator} and \texttt{PackagedOperation} facilities:
+ \cite{MaierBardelloniHeltai-2016-a,MaierBardelloniHeltai-2016-b}.
+ \item For uses of the \texttt{WorkStream} interface:
+ \cite{TKB16}.
+\end{itemize}
+
+\dealii{} can interface with many other libraries:
+\begin{itemize}
+\item ARPACK \cite{arpack}
+\item BLAS, LAPACK
+\item HDF5 \cite{hdf5}
+\item METIS \cite{karypis1998fast}
+\item MUMPS \cite{ADE00,MUMPS:1,MUMPS:2,mumps-web-page}
+\item muparser \cite{muparser-web-page}
+\item NetCDF \cite{rew1990netcdf}
+\item OpenCASCADE \cite{opencascade-web-page}
+\item p4est \cite{p4est}
+\item PETSc \cite{petsc-user-ref,petsc-web-page}
+\item SLEPc \cite{Hernandez:2005:SSF}
+\item Threading Building Blocks \cite{Rei07}
+\item Trilinos \cite{trilinos,trilinos-web-page}
+\item UMFPACK \cite{umfpack}
+\end{itemize}
+Please consider citing the appropriate references if you use interfaces to these
+libraries.
+
+Older releases of \dealii{} can be cited as \cite{dealII80,dealII81,dealII82,dealII83}.
+
+\nocite{BangerthKanschat1999}
+
+\section{Acknowledgments}
+
+\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:
+%
+% get this from the changes.h file using
+% egrep '^ *\(.*201[56789]' 8.3.0-vs-8.4.0.h | perl -p -e 's/201\d.*//g; s/, */\n/g; s/^ *\(?//g;' | sort | uniq
+% then sort by last name and remove the authors of this paper
+%
+Daniel Arndt,
+Mauro Bardelloni,
+Alistair Bentley,
+Andrea Bonito,
+Claire Bruna-Rosso,
+Krzysztof Bzowski,
+Praveen Chandrashekar,
+Conrad Clevenger,
+Patrick Esser,
+Rene Gassmoeller,
+Arezou Ghesmati,
+Maien Hamed,
+Alexander Grayver,
+Lukas Korous,
+Aslan Kosakian,
+Adam Kosik,
+Konstantin Ladutenko,
+Jean-Paul Pelteret,
+Lei Qiao,
+Gennadiy Rishin,
+Angel Rodriguez,
+Alberto Sartori,
+Daniel Shapero,
+Jason Sheldon,
+Jan Stebel,
+Florian Sonner,
+Zhen Tao,
+Heikki Virtanen,
+Daniel Weygand
+
+
+Their contributions are much appreciated!
+
+
+\dealii{} and its developers are financially supported through a
+variety of funding sources. W.~Bangerth and B.~Turcksin were partially
+supported by the National Science Foundation under award OCI-1148116
+as part of the Software Infrastructure for Sustained Innovation (SI2)
+program; and by the Computational Infrastructure in Geodynamics initiative
+(CIG), through the National Science Foundation under Award
+No.~EAR-0949446 and The University of California -- Davis.
+
+D.~Davydov was supported by the ERC Advanced Grant MOCOPOLY and the Competence Network for Technical and Scientific High Performance Computing in Bavaria (KONWIHR).
+
+L.~Heltai was partially supported by the project OpenViewSHIP,
+``Sviluppo di un ecosistema computazionale per la progettazione
+idrodinamica del sistema elica-carena'', financed by Regione FVG - PAR
+FSC 2007-2013, Fondo per lo Sviluppo e la Coesione, and by the project
+TRIM ``Tecnologia e Ricerca Industriale per la Mobilit\`a Marina'',
+CTN01-00176-163601, funded by MIUR - Ministero dell'Istruzione,
+dell'Universit\`a e della Ricerca.
+
+T.~Heister was partially supported by the Computational Infrastructure in
+Geodynamics initiative (CIG), through the National Science Foundation under Award No. EAR-0949446 and The University of California—Davis, and National Science Foundation grant DMS1522191.
+
+G.~Kanschat and M.~Kronbichler were partially supported by the German Research
+Foundation (DFG) through the project ExaDG. M.~Kronbichler also acknowledges
+the Gauss Centre for Supercomputing e.V.~for funding algorithm enhancements by
+providing computing time on the GCS Supercomputer SuperMUC at Leibniz
+Supercomputing Centre (LRZ) through project id pr83te.
+
+The Interdisciplinary Center for Scientific Computing (IWR) at Heidelberg University has provided
+hosting services for the \dealii{} web page and the SVN archive.
+
+%\marginpar{Everyone's funding, please}
+
+
+\bibliography{paper}{}
+\bibliographystyle{abbrv}
+
+\end{document}
--- /dev/null
+%% do not edit this file, edit in the deal.II main repository, copy here, but
+%% keep this note in here for the next one.
+
+%% The deal.II paper
+
+@Article{BangerthHartmannKanschat2007,
+ title = {deal.{II} --- a General Purpose Object Oriented Finite Element Library},
+ author = {Bangerth, W. and Hartmann, R. and Kanschat, G.},
+ journal = {{ACM} Trans. Math. Softw.},
+ volume = {33},
+ number = {4},
+ year = {2007},
+ doi = {10.1145/1268776.1268779}
+}
+
+@Misc{changes84,
+ Title = {List of Changes},
+ Note = {\url{https://www.dealii.org/8.4.0/doxygen/deal.II/changes_between_8_3_and_8_4.html}},
+ Url = {https://www.dealii.org/8.4.0/doxygen/deal.II/changes_between_8_3_and_8_4.html}
+}
+
+@article{dealII80,
+ title = {The \texttt{deal.II} Library, Version 8.0},
+ author = {W. Bangerth and T. Heister and L. Heltai and G. Kanschat
+ and M. Kronbichler and M. Maier and B. Turcksin and T. D. Young},
+ journal = {arXiv preprint \url{http://arxiv.org/abs/1312.2266v3}},
+ year = {2013},
+}
+
+@article{dealII81,
+ title = {The \texttt{deal.II} Library, Version 8.1},
+ author = {W. Bangerth and T. Heister and L. Heltai and G. Kanschat
+ and M. Kronbichler and M. Maier and B. Turcksin and T. D. Young},
+ journal = {arXiv preprint \url{http://arxiv.org/abs/1312.2266v4}},
+ year = {2013},
+}
+
+@article{dealII82,
+ title = {The \texttt{deal.II} Library, Version 8.2},
+ author = {W. Bangerth and T. Heister and L. Heltai
+ and G. Kanschat and M. Kronbichler
+ and M. Maier and B. Turcksin
+ and T. D. Young},
+ journal = {Archive of Numerical Software},
+ volume = 3,
+ year = {2015},
+}
+
+@article{dealII83,
+ title = {The \texttt{deal.II} Library, Version 8.3},
+ author = {W. Bangerth and T. Heister and L. Heltai
+ and G. Kanschat and M. Kronbichler
+ and M. Maier and B. Turcksin},
+ journal = {Archive of Numerical Software},
+ volume = {4},
+ number = {100},
+ year = {2016},
+ pages = {1--11},
+ issn = {2197-8263},
+ doi = {10.11588/ans.2016.100.23122},
+}
+
+
+%% The deal.II web page and online reference.
+%% Please cite specific versions only if you really need to
+
+@Manual{DealIIReference,
+ title = {{\tt deal.{I}{I}} Differential Equations Analysis Library,
+ Technical Reference},
+ author = {W. Bangerth and T. Heister and G. Kanschat},
+ note = {\texttt{http://www.dealii.org}},
+ url = {http://www.dealii.org}
+}
+
+@Manual{DealIIReference600,
+ title = {{\tt deal.{I}{I}} Differential Equations Analysis Library,
+ Technical Reference},
+ author = {W. Bangerth and G. Kanschat},
+ note = {\texttt{http://www.dealii.org}},
+ url = {http://www.dealii.org/6.0.0},
+ year = 2007
+}
+
+@Manual{DealIIReference610,
+ title = {{\tt deal.{I}{I}} Differential Equations Analysis Library,
+ Technical Reference},
+ author = {W. Bangerth and G. Kanschat},
+ note = {\texttt{http://www.dealii.org}},
+ url = {http://www.dealii.org/6.1.0},
+ year = 2008
+}
+
+@Manual{DealIIReference621,
+ title = {{\tt deal.{I}{I}} Differential Equations Analysis Library,
+ Technical Reference},
+ author = {W. Bangerth and G. Kanschat},
+ note = {\texttt{http://www.dealii.org}},
+ url = {http://www.dealii.org/6.2.1},
+ year = 2009
+}
+
+@Manual{DealIIReference631,
+ title = {{\tt deal.{I}{I}} Differential Equations Analysis Library,
+ Technical Reference},
+ author = {W. Bangerth and G. Kanschat},
+ note = {\texttt{http://www.dealii.org}},
+ url = {http://www.dealii.org/6.3.1},
+ year = 2010
+}
+
+@Manual{DealIIReference700,
+ title = {{\tt deal.{I}{I}} Differential Equations Analysis Library,
+ Technical Reference},
+ author = {W. Bangerth and G. Kanschat},
+ note = {\texttt{http://www.dealii.org}},
+ url = {http://www.dealii.org/7.0.0},
+ year = 2011
+}
+
+@Manual{DealIIReference710,
+ title = {{\tt deal.{I}{I}} Differential Equations Analysis Library,
+ Technical Reference},
+ author = {W. Bangerth and G. Kanschat},
+ note = {\texttt{http://www.dealii.org}},
+ url = {http://www.dealii.org/7.1.0},
+ year = 2011
+}
+
+%% Additional papers on deal.II and special aspects
+
+@TechReport{BangerthKanschat1999,
+ title = {Concepts for Object-Oriented Finite Element Software -- the \texttt{deal.II} library},
+ address = {Heidelberg},
+ author = {Bangerth, W. and Kanschat, G.},
+ institution = {SFB~359},
+ number = {1999-43},
+ type = {Preprint},
+ year = {1999},
+ url = {http://www.dealii.org/developer/reports/deal-paper.pdf}
+}
+
+@Article{BangerthKayserHerold2007,
+ author = {W. Bangerth and O. Kayser-Herold},
+ title = {Data Structures and Requirements for $hp$ Finite Element
+ Software},
+ journal = {ACM Trans. Math. Softw.},
+ year = 2009,
+ volume = 36,
+ number = 1,
+ pages = {4/1--4/31}
+}
+
+@Article{JanssenKanschat2011,
+ author = {Janssen, B. and Kanschat, G.},
+ title = {Adaptive multilevel methods with local smoothing for
+ {${H}^1$}- and {$H^{\text{curl}}$}-conforming high order
+ finite element methods},
+ journal = {SIAM J. Sci. Comput.},
+ year = 2011,
+ volume = 33,
+ number = 4,
+ pages = {2095--2114},
+ doi = {10.1137/090778523}
+}
+
+@Article{Kanschat2004,
+ title = {Multi-level methods for discontinuous {G}alerkin {FEM} on locally refined meshes},
+ author = {Kanschat, G.},
+ journal = {Comput. \& Struct.},
+ number = {28},
+ pages = {2437--2445},
+ volume = {82},
+ year = {2004},
+ doi = {10.1016/j.compstruc.2004.04.015}
+}
+
+@Article{BangerthBursteddeHeisterKronbichler11,
+ author = {W. Bangerth and C. Burstedde and T. Heister
+ and M. Kronbichler},
+ title = {Algorithms and data structures for massively parallel generic
+ adaptive finite element codes},
+ journal = {ACM Trans. Math. Softw.},
+ year = 2011,
+ volume = 38,
+ pages = {14/1--28}}
+
+
+@Article{KronbichlerKormann2012,
+ author = {M. Kronbichler and K. Kormann},
+ title = {A generic interface for parallel cell-based finite element operator application},
+ journal = {Comput. Fluids},
+ year = 2012,
+ volume = 63,
+ pages = {135--147}}
+
+
+@techreport{DeSimoneHeltaiManigrasso2009,
+ Author = {A. DeSimone and L. Heltai and C. Manigrasso},
+ Institution = {SISSA},
+ Number = {42/2009/M},
+ Title = {Tools for the Solution of {PDEs} Defined on Curved Manifolds with deal.{II}},
+ Year = {2009}}
+
+@techreport{HeltaiMola2015,
+ Author = {L. Heltai and A. Mola},
+ Institution = {SISSA},
+ Title = {{Towards the Integration of CAD and FEM using open source libraries: a
+Collection of deal.II Manifold Wrappers for the OpenCASCADE Library}},
+ Year = 2015,
+ Note = {Submitted}}
+
+@article{trilinos64,
+ author = {C. Jhurani and
+ T. M. Austin and
+ M. A. Heroux and
+ J. M. Willenbring},
+ title = {Supporting 64-bit global indices in {E}petra and other {T}rilinos
+ packages -- {T}echniques used and lessons learned},
+ journal = {arXiv},
+ volume = {1307.6638},
+ year = {2013},
+ ee = {http://arxiv.org/abs/1307.6638},
+ bibsource = {DBLP, http://dblp.uni-trier.de}
+}
+
+
+@Article{BH13,
+ author = {Wolfgang Bangerth and Timo Heister},
+ title = {What makes computational open source software libraries successful?},
+ journal = {Computational Science \& Discovery},
+ year = 2013,
+ volume = 6,
+ pages = {015010/1--18}}
+
+
+@Article{FHB13,
+ author = {J. Frohne and T. Heister and W. Bangerth},
+ title = {Efficient numerical methods for the large-scale, parallel
+ solution of elastoplastic contact problems},
+ journal = {submitted},
+ year = 2013}
+
+@Article{TKB13,
+ author = {B. Turcksin and M. Kronbichler and W. Bangerth},
+ title = {\textit{WorkStream} -- a design pattern for multicore-enabled finite element computations},
+ journal = {submitted},
+ year = 2013}
+
+@Misc{cpp11,
+ key = {C++11},
+ author = {International Standards Organization},
+ title = {{ISO/IEC} 14882:2011: The {C}++11 Programming Language Standard},
+ howpublished = {\url{http://www.iso.org/iso/iso_catalogue/catalogue_tc/catalogue_detail.htm?csnumber=50372}},
+ year = 2011}
+
+@Article{trilinos,
+ author = {M. A. Heroux and R. A. Bartlett and V. E. Howle and R. J. Hoekstra and J. J. Hu
+ and T. G. Kolda and R. B. Lehoucq and K. R. Long and R. P. Pawlowski and
+ E. T. Phipps and A. G. Salinger and H. K. Thornquist and R. S. Tuminaro and
+ J. M. Willenbring and A. Williams and K. S. Stanley},
+ title = {An overview of the {T}rilinos project},
+ journal = {ACM Trans. Math. Softw.},
+ year = 2005,
+ volume = 31,
+ pages = {397--423}}
+
+@Misc{trilinos-web-page,
+ Author = "M. A. Heroux and others",
+ Title = "{Trilinos} web page",
+ Note = "\url{http://trilinos.sandia.gov}",
+ Year = "2014"}
+
+# From http://www.mcs.anl.gov/petsc/documentation/referencing.html
+@Misc{petsc-web-page,
+ author = {S. Balay and S. Abhyankar and M.~F. Adams and J. Brown and P. Brune
+ and K. Buschelman and V. Eijkhout and W.~D. Gropp
+ and D. Kaushik and M.~G. Knepley
+ and L. Curfman McInnes and K. Rupp and B.~F. Smith
+ and H. Zhang},
+ title = {{PETS}c {W}eb page},
+ url = {http://www.mcs.anl.gov/petsc},
+ howpublished = {\url{http://www.mcs.anl.gov/petsc}},
+ year = {2014}
+ }
+
+@TechReport{petsc-user-ref,
+ author = {S. Balay and S. Abhyankar and M.~F. Adams and J. Brown and P. Brune
+ and K. Buschelman and V. Eijkhout and W.~D. Gropp
+ and D. Kaushik and M.~G. Knepley
+ and L. Curfman McInnes and K. Rupp and B.~F. Smith
+ and H. Zhang},
+ title = {{PETS}c Users Manual},
+ institution = {Argonne National Laboratory},
+ year = 2014,
+ number = {ANL-95/11 - Revision 3.5},
+ url = {http://www.mcs.anl.gov/petsc}
+ }
+
+
+@Article{umfpack,
+ author = {T. A. Davis},
+ title = {Algorithm 832: {UMFPACK V4.3}---an unsymmetric-pattern multifrontal method},
+ journal = {ACM Trans. Math. Softw.},
+ year = 2004,
+ volume = 30,
+ pages = {196--199}}
+
+@Book{Rei07,
+ author = {J. Reinders},
+ title = {Intel Threading Building Blocks},
+ publisher = {O'Reilly},
+ year = 2007}
+
+@Article{p4est,
+ author = {C. Burstedde and L. C. Wilcox and O. Ghattas},
+ title = {\texttt{p4est}: {S}calable algorithms for parallel
+ adaptive mesh refinement on forests of octrees},
+ journal = {SIAM J. Sci. Comput.},
+ volume = 33,
+ number = 3,
+ pages = {1103-1133},
+ year = 2011}
+
+@Book{arpack,
+ author = {R. B. Lehoucq and D. C. Sorensen and C. Yang},
+ title = {{ARPACK} users' guide: solution of large-scale eigenvalue problems with implicitly restarted Arnoldi methods},
+ publisher = {SIAM, Philadelphia},
+ year = 1998}
+
+@Misc{mumps-web-page,
+ key = {MUMPS},
+ title = {{MUMPS: a MUltifrontal Massively Parallel sparse direct Solver}},
+ note = {\url{http://graal.ens-lyon.fr/MUMPS/}}}
+
+
+@Article{ADE00,
+ author = {P.R. Amestoy and I.S. Duff and J.-Y. L'Excellent},
+ title = {Multifrontal parallel distributed symmetric and unsymmetric solvers},
+ journal = {Comput. Methods in Appl. Mech. Eng.},
+ year = 2000,
+ volume = 184,
+ pages = {501--520}}
+
+
+@article{MUMPS:1,
+ author = {P. R. Amestoy and I. S. Duff and J. Koster and J.-Y. L'Excellent},
+ title = {A Fully Asynchronous Multifrontal Solver Using Distributed Dynamic Scheduling},
+ journal = {SIAM Journal on Matrix Analysis and Applications},
+ volume = {23},
+ number = {1},
+ year = {2001},
+ pages = {15-41}
+ }
+
+
+@article{MUMPS:2,
+ author = {P. R. Amestoy and A. Guermouche and J.-Y. L'Excellent and S. Pralet},
+ title = {Hybrid scheduling for the parallel solution of linear systems},
+ journal = {Parallel Computing},
+ volume = {32},
+ number = {2},
+ year = {2006},
+ pages = {136-156}
+}
+
+
+@Misc{opencascade-web-page,
+ key = {OpenCASCADE},
+ title = {{OpenCASCADE: Open CASCADE Technology, 3D modeling \& numerical simulation}},
+ note = {\url{http://www.opencascade.org/}}}
+
+
+@Misc{muparser-web-page,
+ key = {muparse},
+ title = {{muparser: Fast Math Parser Library}},
+ note = {\url{http://muparser.beltoforion.de/}}}
+
+@Misc{hdf5,
+ author = {{The HDF Group}},
+ title = "{Hierarchical Data Format, version 5}",
+ year = {1997-NNNN},
+ note = {\url{http://www.hdfgroup.org/HDF5/}}
+}
+
+@article{karypis1998fast,
+ title={A fast and high quality multilevel scheme for partitioning irregular graphs},
+ author={Karypis, G. and Kumar, V.},
+ journal={SIAM J. Sci. Comput.},
+ volume={20},
+ number={1},
+ pages={359--392},
+ year={1998},
+ publisher={SIAM}
+}
+@article{rew1990netcdf,
+ title={{NetCDF}: an interface for scientific data access},
+ author={Rew, R. and Davis, G.},
+ journal={Computer Graphics and Applications, IEEE},
+ volume={10},
+ number={4},
+ pages={76--82},
+ year={1990},
+ publisher={IEEE}
+}
+@Article{Hernandez:2005:SSF,
+ author = "V. Hernandez and J. E. Roman and V. Vidal",
+ title = "{SLEPc}: A Scalable and Flexible Toolkit for the Solution of Eigenvalue
+ Problems",
+ journal = "{ACM} Trans. Math. Software",
+ volume = "31",
+ number = "3",
+ pages = "351--362",
+ year = "2005"
+}
+
+@article{Lachat1976,
+author = {Lachat, J. C. and Watson, J. O.},
+doi = {10.1002/nme.1620100503},
+issn = {0029-5981},
+journal = {International Journal for Numerical Methods in Engineering},
+number = {5},
+pages = {991--1005},
+title = {{Effective numerical treatment of boundary integral equations: A formulation for three-dimensional elastostatics}},
+url = {http://doi.wiley.com/10.1002/nme.1620100503},
+volume = {10},
+year = {1976}
+}
+
+@article{Telles-2005-a,
+author = {Telles, JCF},
+journal = {International Journal for Numerical Methods in Engineering},
+mendeley-groups = {FEM},
+mendeley-tags = {filedpapers},
+number = {5},
+publisher = {Wiley Online Library},
+title = {{A self-adaptive co-ordinate transformation for efficient numerical evaluation of general boundary element integrals}},
+type = {Journal article},
+volume = {24},
+year = {2005}
+}
+
+@article{GiulianiMolaHeltai-2015-a,
+author = {Giuliani, Nicola and Mola, Andrea and Heltai, Luca and Formaggia, Luca},
+doi = {10.1016/j.enganabound.2015.04.006},
+file = {:Users/heltai/Library/Mobile Documents/com\~{}apple\~{}CloudDocs/Mendeley//Giuliani et al.\_2015\_FEM SUPG stabilisation of mixed isoparametric BEMs application to linearised free surface flows.pdf:pdf},
+journal = {Engineering Analysis with Boundary Elements},
+keywords = {linearised free surface},
+pages = {8--22},
+title = {{FEM SUPG stabilisation of mixed isoparametric BEMs: application to linearised free surface flows}},
+volume = {59},
+year = {2015}
+}
+
+@book{Cottrell2009,
+author = {Cottrell, JA A and Hughes, TJR J R and Bazilevs, Y.},
+file = {:Users/heltai/Library/Mobile Documents/com\~{}apple\~{}CloudDocs/Mendeley/Cottrell, Hughes, Bazilevs\_2009\_Isogeometric analysis toward integration of CAD and FEA.pdf:pdf},
+mendeley-groups = {Igastokes,Books,Geostrophisics,FEM},
+publisher = {John Wiley \& Sons Inc},
+title = {{Isogeometric analysis: toward integration of CAD and FEA}},
+url = {http://books.google.com/books?hl=en\&lr=\&id=9Q9y0Xtz5E4C\&oi=fnd\&pg=PR5\&dq=Isogeometric+analysis:+toward+integration+of+CAD+and+FEA\&ots=JLSZtYQkL3\&sig=MZdoIBEu1cZs2sAwnPDy4WVOaVE},
+year = {2009}
+}
+
+@book{AbramowitzStegun,
+ author = {M. Abramowitz and I.A. Stegun},
+ title = {Handbook of Mathematical Functions},
+ publisher = {Dover},
+ year = {1965}
+}
+
+@techreport{MadayPatera,
+ author = {Y. Maday and A.T. Patera and E.M. Rønquist},
+ title = {A well-posed optimal spectral element approximation for the Stokes problem},
+ number = {87-47},
+ institution = {ICASE},
+ address = {Hampton, VA},
+ year = {1987}
+}
+
+
+@article{MaierBardelloniHeltai-2016-a,
+ Author = {Matthias Maier and Mauro Bardelloni and Luca Heltai},
+ Journal = {Computers and Mathematics with Applications},
+ Title = {Linear{O}perator -- a generic, high-level expression syntax for linear algebra},
+ Doi = {10.1016/j.camwa.2016.04.024},
+ Note = {To appear},
+ Year = {2016}}
+
+@misc{MaierBardelloniHeltai-2016-b,
+ author = {Matthias Maier and
+ Mauro Bardelloni and
+ Luca Heltai},
+ title = {{LinearOperator Benchmarks, Version 1.0.0}},
+ month = mar,
+ year = 2016,
+ doi = {10.5281/zenodo.47202},
+ url = {http://dx.doi.org/10.5281/zenodo.47202}
+}
+
+
+@Article{TKB16,
+ author = {B. Turcksin and M. Kronbichler and W. Bangerth},
+ title = {\textit{WorkStream} -- a design pattern for multicore-enabled finite element computations},
+ journal = {accepted for publication in the ACM Transactions on Mathematical Software},
+ year = 2016}