]> https://gitweb.dealii.org/ - release-papers.git/commitdiff
Add previous release papers.
authorWolfgang Bangerth <bangerth@math.tamu.edu>
Mon, 29 Feb 2016 22:13:33 +0000 (16:13 -0600)
committerWolfgang Bangerth <bangerth@math.tamu.edu>
Mon, 29 Feb 2016 22:13:33 +0000 (16:13 -0600)
17 files changed:
8.0/deal80.bib [new file with mode: 0644]
8.0/deal80.tex [new file with mode: 0644]
8.0/siam.bst [new file with mode: 0644]
8.0/siam10.clo [new file with mode: 0644]
8.0/siamltex.cls [new file with mode: 0644]
8.1/deal81.bib [new file with mode: 0644]
8.1/deal81.tex [new file with mode: 0644]
8.1/siam.bst [new file with mode: 0644]
8.1/siam10.clo [new file with mode: 0644]
8.1/siamltex.cls [new file with mode: 0644]
8.2/deal82.bib [new file with mode: 0644]
8.2/deal82.tex [new file with mode: 0644]
8.3/ansarticle-preprint.cls [new file with mode: 0644]
8.3/anslistings.sty [new file with mode: 0644]
8.3/deal83-review [new file with mode: 0644]
8.3/deal83.bib [new file with mode: 0644]
8.3/deal83.tex [new file with mode: 0644]

diff --git a/8.0/deal80.bib b/8.0/deal80.bib
new file mode 100644 (file)
index 0000000..0101af1
--- /dev/null
@@ -0,0 +1,195 @@
+%% 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}
+}
+
+
+@article{dealII80,
+  title = {The {\tt deal.{I}{I}} 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.2266}},
+  year = {2013},
+}
+
+
+%% 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}}
+
+@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 =      {W. Bangerth and T. Heister},
+  title =       {What makes computational open source software libraries successful?},
+  journal =     {Accepted for publication in Computational Science \& Discovery},
+  year =        {2013},
+  OPTkey =      {},
+  OPTvolume =   {},
+  OPTnumber =   {},
+  OPTpages =    {},
+  OPTmonth =    {},
+  OPTnote =     {},
+  OPTannote =   {}
+}
+
diff --git a/8.0/deal80.tex b/8.0/deal80.tex
new file mode 100644 (file)
index 0000000..8656906
--- /dev/null
@@ -0,0 +1,363 @@
+\documentclass{siamltex}
+
+\usepackage{ucs}
+\usepackage[utf8x]{inputenc}
+\usepackage{amsmath}
+\usepackage{cite}
+
+\usepackage{fontenc}
+\usepackage[pdftex]{graphicx}
+
+\usepackage[pdftex,
+            pdfauthor={Wolfgang Bangerth, Timo Heister, Luca Heltai, Guido Kanschat, Martin Kronbichler, Matthias Maier, Toby D. Young},
+            pdftitle={The deal.II Library, Version 8.0, 2013},
+            colorlinks,linkcolor=blue,urlcolor=blue,citecolor=blue]{hyperref}
+
+
+\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.0}
+\author{
+  Wolfgang Bangerth%
+  \thanks{Department of Mathematics, Texas A\&M University, College Station, 
+    TX 77843, USA,
+    \href{mailto:bangerth@math.tamu.edu}{\texttt{bangerth@math.tamu.edu}}}
+  \and
+  Timo Heister%
+  \thanks{Mathematical Sciences,
+O-110 Martin Hall.
+Clemson University.
+Clemson, SC 29634, USA,
+    \href{mailto:heister@clemson.edu}{\texttt{heister@clemson.edu}}}
+  \and
+  Luca Heltai%
+  \thanks{SISSA - International School for Advanced Studies, Via
+    Bonomea 265, 34136 Trieste, Italy,
+    \href{mailto:luca.heltai@sissa.it}{\texttt{luca.heltai@sissa.it}}}
+  \and
+  Guido Kanschat%
+  \thanks{Interdisciplinary Center for Scientific Computing, Heidelberg
+          University, Im Neuenheimer Feld 368, 69120 Heidelberg, Germany,
+          \href{mailto:kanschat@uni-heidelberg.de}{\texttt{kanschat@uni-heidelberg.de}}}
+  \and
+  Martin Kronbichler%
+  \thanks{Institute for Computational Mechanics, Technische Universit\"at M\"unchen, Boltzmannstr.~15, 85748 Garching b. M\"unchen, Germany, \href{mailto:kronbichler@lnm.mw.tum.de}{\texttt{kronbichler@lnm.mw.tum.de}}}
+  \and
+  Matthias Maier%
+  \thanks{Institute of Applied Mathematics, Heidelberg
+          University, Im Neuenheimer Feld 293/294, 69120 Heidelberg, Germany,
+          \href{mailto:matthias.maier@iwr.uni-heidelberg.de}{\texttt{matthias.maier@iwr.uni-heidelberg.de}}}
+  \and
+  Bruno Turcksin%
+  \thanks{Department of Mathematics, Texas A\&M University, College Station, 
+    TX 77843, USA,
+    \href{mailto:turcksin@math.tamu.edu}{\texttt{turcksin@math.tamu.edu}}}
+  \and
+  Toby~D.~Young%
+  \thanks{Institute of Fundamental Technological Research of the Polish Academy of Sciences, ul. Pawi\'nskiego 5b, Warsaw 02-106, Poland,
+    \href{mailto:tyoung@ippt.pan.pl}{\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.0.
+\end{abstract}
+
+
+\section{Overview}
+
+\dealii{} version 8.0 was released July 24, 2013. This paper provides an
+overview of the new features of this release and serves as a citable web
+reference for the \dealii{} software library version 8.0. \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/}.
+
+Version 8.0 is a major release. It has numerous significant features along
+with the usual set of bug fixes and documentation updates. In particular,
+it has the following noteworthy large changes:
+\begin{itemize}
+  \item The configuration and build system has been switched to \cmake{},
+    providing better support for a wide variety of platforms, better
+    integration with IDEs such as Eclipse, and many other advantages. See Section \ref{sec:cmake}.
+
+\item \dealii{} now supports 64-bit integers for degrees of freedom indices for
+  problems with more than 2 billion unknowns and has been tested on problems
+  of up to 27 billion unknowns. See Section \ref{sec:64bit}.
+
+\item \dealii{} is now licensed under the GNU Lesser General Public License
+  version 2.1 or later (LGPL-2.1+), see Section \ref{sec:license} for details.
+
+\item There is the usual set of dozens or hundreds of new small features and
+  bugfixes, some of which are described in \ref{sec:other}.
+\end{itemize}
+Information on how to cite \dealii{} is provided in Section \ref{sec:cite}.
+
+\section{Important Changes}
+
+\subsection{Build System}\label{sec:cmake}
+
+With the release of version 8.0 and after more than 12 years with an
+\autoconf{} and custom makefiles setup, \dealii{} switched its build system
+over to \cmake{}. This is a major rewrite which changes over $25,000$ lines
+of code (10,000 insertions and 15,000 deletions) together with a major
+reorganization and cleanup of the code base. The rewrite addressed quite a
+number of shortcomings with the old build system, that made a rewrite
+highly desirable (if not necessary):
+\begin{itemize}
+  \item Over time, with the addition of an increasing number of external
+    libraries, \dealii{} can optionally interface with, the configuration
+    happened to be highly heterogeneous---almost every external dependency
+    had to be set up with different command line options with completely
+    different internal setup logic in the \autoconf{} files.
+  \item Nowadays, \dealii{} is used in highly different environments
+    ranging from installations on laptops to computing clusters. The old
+    build system was not suited very well for quite a number of them,
+    e.\,g. distributional needs or static linkage.
+  \item The old build system strongly depended on the availability of a
+    \textsc{UNIX} or \textsc{GNU/Linux} environment due to the fact that
+    \textsc{GNU Make}, \textsc{Bash} and \text{Perl} were mandatory build
+    time dependencies,
+    which made support for other platforms (and especially Microsoft
+    Windows) difficult.
+\end{itemize}
+Arguably, it would have been possible to address all this shortcomings in
+the current build system, or by changing to another alternative, but there
+are a number of reasons that make \cmake{} a particularly good choice as
+build system for \dealii{}:
+\begin{itemize}
+  \item \cmake{} readily provides elaborate support for dependency
+    resolution, incremental rebuilds and parallel builds, which were
+    previously implemented mainly by hand.
+  \item \cmake{} is a meta build system. It provides support for
+    \emph{native toolchains} for \textsc{Linux}, \textsc{BSD},
+    \textsc{Darwin}, and \textsc{Windows} platforms with minimal external
+    dependencies, which drastically increases portability.
+  \item \cmake{} supports a variety of commonly used IDEs for different
+    platforms such as \textsc{Eclipse}, \textsc{KDevelop}, \textsc{Xcode},
+    \textsc{CodeBlocks} or \textsc{MSVC} where it can directly produce a
+    corresponding project.
+\end{itemize}
+The fact that the new build system was rewritten from scratch, offered the
+possibility to reformulate and respect some major design criteria. Amongst
+them are
+\begin{itemize}
+  \item Full support for all 16 external dependencies in various
+    setups---either compiled and/or installed by the user, or provided by
+    software distributions such as Linux distributions or Mac Ports.
+  \item Feature auto detection to ease the setup for the average user,
+    while at the same time providing full user override of configuration
+    options to support almost any setup case.
+  \item Be (almost) readily packageable for major distributions (e.\,g.
+    Debian Linux, or Ubuntu).
+  \item Provide a project configuration so that user projects based on
+    \dealii{} only need a minimalistic \textsc{CMakeLists.txt} file on
+    client side.
+\end{itemize}
+
+\subsection{64-bit Indices}\label{sec:64bit}
+
+Up to version 7.3 of \dealii{}, the indices of degrees of freedom (which
+are uniquely defined) were stored using the \emph{unsigned int} datatype. This
+limited the total number of degrees of freedom in a computation to about four billion. When \dealii{}
+was used in conjunction with \petsc{} or \trilinos{}, this number was in
+fact only half as large since both of these libraries use \emph{signed
+integer} indices (leaving only 31 bits for the indices). Furthermore, because an individual processor needs at
+least on the order of $10^5$ unknowns to have a suitable amount of work,
+\dealii{} could not scale to more than about $\frac{2\cdot 10^9}{10^5}=20,000$
+processors. Even though this number may seem large, an increasing number of
+supercomputers offer a much larger number of processors -- the fastest
+supercomputers today are almost one hundred times larger. It is also
+important to note that using simulations with more than two billions of
+unknowns can be run using only a couple of thousand processors. This number
+is easily reached by clusters at typical universities in the West.
+
+To increase the number of unknowns that can be solved using \dealii{}, the
+degrees of freedom can now be stored using \emph{unsigned long long int} (a
+data type typically 64 bit wide) and the new 64 bit capabilities of Epetra
+(Trilinos 11.2 and later) are employed (PETSc could already be compiled to use 64
+bit indices for a long time). The new version of \dealii{} is completely
+backward compatible with the previous version and can be compiled to use 32
+or 64 bit indices indifferently. This was done by using a typedef
+\emph{types::global\_dof\_index} to switch between \emph{unsigned int} and
+\emph{unsigned long long int} indices. The switch between 32 and 64 bit
+indices is done using the cmake option \hbox{\tt
+  -DDEAL\_II\_WITH\_64BIT\_INDICES=OFF/ON}. By default, this option is turned
+off to keep memory consumption at moderate levels. 
+
+Using 64 bit indices only makes sense for parallel computations for which
+\dealii{} relies on either \petsc{} or \trilinos{}.  To use the 64 bit indices
+with the former, \petsc{} must be configured with {\tt
+  --with-64-bit-indices}. For the latter, \trilinos{} 11.2 or later must be
+used (by the default \trilinos{} is compiled with 32 and 64 bit capabilities) and
+uses the facilities laid out in \cite{trilinos64}. 
+
+To write a code compatible for 32 and 64 bit indices,
+\emph{types::global\_dof\_index} needs to be used in all places where the
+global indices of degrees of freedom are referenced. There are of course many
+of these places: the library contained some 20,000 occurrences of the text
+\texttt{unsigned int}, all of which needed to be examined, and some 1,600
+places had to be modified. However, the library now compiles and runs with 64
+bit indices and the adapted version of the step-40 tutorial program was run on
+3600 processors; this computation had 1.47 billions of active cells, 5.898
+billions of degrees of freedom, and was solved in 771 seconds.
+
+
+
+
+\subsection{License Change}\label{sec:license}
+
+\dealii{} used to be distributed under the Q Public License (QPL), a
+license that was popular in the late 1990s mainly due to its utilization by
+the Qt Application Framework.
+
+The QPL, as many other open source licenses, puts restrictions on any use;
+in particular, programs that are developed to use \dealii{} needed to be
+open source as well. In practice, this puts some restrictions on commercial
+use because companies are unwilling to engage in a model where they are
+required to deliver their source code to customers who may then distribute
+it further.
+
+This license was chosen in the early days of \dealii{} out of a feeling that
+whoever uses the library should be required to show the same open source
+spirit. Abstractly, many will probably agree with this sentiment. However, in
+more than 10 years of reality, it has only led to companies walking away from
+using \dealii{} for commercial products. As a consequence, the project has
+seen no gain, only losses from this choice of license. 
+
+We have therefore decided to change the license under which \dealii{} is
+distributed to the GNU Lesser General Public License (LGPL), version 2.1 or
+later at the discretion of the user. Among the advantages of this choice
+are:
+\begin{itemize}
+  \item The LGPL allows proprietary software to dynamically link against
+    \dealii{} without the need to redistribute this software under a
+    restrictive license. On the other hand, the LGPL allows us to leave the
+    full ``copyleft'' of the library itself intact.
+  \item It avoids licensing incompatibilities with (external) dependencies
+    that are either licensed under (L)GPL or a BSD style license---which
+    would otherwise make any binary distribution of \dealii{} impossible,
+    for example for inclusion in the package management system of many
+    operating systems. This is especially important given the large number
+    of external packages \dealii{} interacts with these days.
+\end{itemize}
+A further account of these considerations can be found in \cite{BH13}.
+
+
+\subsection{Other Changes}\label{sec:other}
+
+The \dealii{} release 8.0 also includes improvements in the following areas:
+
+\begin{itemize}
+\item Improvements to \dealii{} threading support: The WorkStream class used
+  in \dealii{} to parallelize assembly loops now uses thread local memory,
+  which gives considerably better utilization of caches on multi-core
+  architectures. In addition, a few more linear algebra functions have been
+  parallelized with threads. The new version also allows to directly limit the
+  number of threads used by the task scheduler in Threading Building Blocks at
+  run time.
+\item \dealii{}'s own iterative solvers have been revised. CG and BiCGStab now
+  use less auxiliary vectors, and GMRES avoids unnecessary work due to
+  re-orthogonalization when it is not necessary. This makes behavior more
+  similar to external linear algebra in PETSc and Trilinos (but those remain
+  better adapted to large-scale parallel computers by reducing global
+  communication).
+\item The interfaces to parallel linear algebra objects of PETSc and Trilinos
+  objects have been further unified to allow for easily exchanging one variant
+  with the other.
+\item The generic template instantiation mechanism in \dealii{} has been
+  applied to several new places to pre-compile code for all vector types in
+  ErrorEstimator, VectorTools, FETools, ConstraintMatrix.
+\end{itemize}
+
+
+\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 as follows:
+\begin{verbatim}
+@article{dealII80,
+  title = {The {\tt deal.{I}{I}} 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},
+}
+\end{verbatim}
+
+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}.
+\end{itemize}
+
+
+\nocite{BangerthKanschat1999}
+
+\section{Acknowledgements}
+
+\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: 
+  Fahad Alrashed,
+  Juan Carlos Araujo Cabarcas,
+  Denis Davydov,
+  Ashkan Dorostkar,
+  J{\"o}rg Frohne,
+  Felix Gruber,
+  Scott Miller,
+  Spencer Patty,
+  Martin Steigemann,
+  Kainan Wang,
+  Christian W{\"u}lker.
+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; 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 through
+Award No.~KUS-C1-016-04, made by King Abdullah University of Science
+and Technology (KAUST). 
+
+L.~Heltai was partially supported by the project OpenSHIP,
+``Simulazioni di fluidodinamica computazionale (CFD) di alta qualita
+per le previsioni di prestazioni idrodinamiche del sistema
+carena-elica in ambiente OpenSOURCE'', financed by Regione FVG - POR
+FESR 2007–2013 Obiettivo competitivita regionale e occupazione.
+
+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 through Award No. KUS-
+C1-016-04, made by King Abdullah University of Science and Technology (KAUST).
+
+\bibliography{deal80}{}
+\bibliographystyle{plain}
+
+\end{document}
diff --git a/8.0/siam.bst b/8.0/siam.bst
new file mode 100644 (file)
index 0000000..7710f12
--- /dev/null
@@ -0,0 +1,1040 @@
+\r
+% ====================== SIAM.BST ================================ % \r
+% SIAM bibliography style (24-Jan-88 version)\r
+%    numeric labels, alphabetic order, Mathematical Reviews abbreviations,\r
+%    names in \sc, titles in italics, book titles mixed upper-lower and\r
+%article\r
+%    titles lowercase, commas separate all fields except before "notes".\r
+%\r
+%   History\r
+%    1/30/86    (HWT)    Original version, by Howard Trickey.\r
+%    6/15/87    (HWT)    Fix format.editors---Martin Costabel.\r
+%    1/24/88    (OP&HWT) Updated for BibTeX version 0.99a, Oren Patashnik;\r
+%            THIS `siam' VERSION DOES NOT WORK WITH BIBTEX 0.98i.\r
+\r
+ENTRY\r
+  { address\r
+    author\r
+    booktitle\r
+    chapter\r
+    edition\r
+    editor\r
+    howpublished\r
+    institution\r
+    journal\r
+    key\r
+    month\r
+    note\r
+    number\r
+    organization\r
+    pages\r
+    publisher\r
+    school\r
+    series\r
+    title\r
+    type\r
+    volume\r
+    year\r
+  }\r
+  {}\r
+  { label }\r
+\r
+INTEGERS { output.state before.all mid.sentence after.block }\r
+\r
+FUNCTION {init.state.consts}\r
+{ #0 'before.all :=\r
+  #1 'mid.sentence :=\r
+  #2 'after.block :=\r
+}\r
+\r
+STRINGS { s t }\r
+\r
+FUNCTION {output.nonnull}\r
+{ 's :=\r
+  output.state mid.sentence =\r
+    { ", " * write$ }\r
+    { output.state after.block =\r
+    { add.period$ write$\r
+      newline$\r
+      "\newblock " write$\r
+    }\r
+    'write$\r
+      if$\r
+      mid.sentence 'output.state :=\r
+    }\r
+  if$\r
+  s\r
+}\r
+\r
+FUNCTION {output}\r
+{ duplicate$ empty$\r
+    'pop$\r
+    'output.nonnull\r
+  if$\r
+}\r
+\r
+FUNCTION {output.check}\r
+{ 't :=\r
+  duplicate$ empty$\r
+    { pop$ "empty " t * " in " * cite$ * warning$ }\r
+    'output.nonnull\r
+  if$\r
+}\r
+\r
+FUNCTION {output.bibitem}\r
+{ newline$\r
+  "\bibitem{" write$\r
+  cite$ write$\r
+  "}" write$\r
+  newline$\r
+  ""\r
+  before.all 'output.state :=\r
+}\r
+\r
+FUNCTION {fin.entry}\r
+{ add.period$\r
+  write$\r
+  newline$\r
+}\r
+\r
+FUNCTION {new.block}\r
+{ output.state before.all =\r
+    'skip$\r
+    { after.block 'output.state := }\r
+  if$\r
+}\r
+\r
+FUNCTION {not}\r
+{   { #0 }\r
+    { #1 }\r
+  if$\r
+}\r
+\r
+FUNCTION {and}\r
+{   'skip$\r
+    { pop$ #0 }\r
+  if$\r
+}\r
+\r
+FUNCTION {or}\r
+{   { pop$ #1 }\r
+    'skip$\r
+  if$\r
+}\r
+\r
+FUNCTION {new.block.checka}\r
+{ empty$\r
+    'skip$\r
+    'new.block\r
+  if$\r
+}\r
+\r
+FUNCTION {field.or.null}\r
+{ duplicate$ empty$\r
+    { pop$ "" }\r
+    'skip$\r
+  if$\r
+}\r
+\r
+FUNCTION {emphasize}\r
+{ duplicate$ empty$\r
+    { pop$ "" }\r
+    { "{\em " swap$ * "}" * }\r
+  if$\r
+}\r
+\r
+FUNCTION {scapify}\r
+{ duplicate$ empty$\r
+    { pop$ "" }\r
+    { "{\sc " swap$ * "}" * }\r
+  if$\r
+}\r
+\r
+INTEGERS { nameptr namesleft numnames }\r
+\r
+FUNCTION {format.names}\r
+{ 's :=\r
+  #1 'nameptr :=\r
+  s num.names$ 'numnames :=\r
+  numnames 'namesleft :=\r
+    { namesleft #0 > }\r
+%    { s nameptr "{f.~}{vv~}{ll}{, jj}" format.name$ 't :=\r
+    { s nameptr "{ff~}{vv~}{ll}{, jj}" format.name$ 't :=\r
+      nameptr #1 >\r
+    { namesleft #1 >\r
+        { ", " * t * }\r
+        { numnames #2 >\r
+        { "," * }\r
+        'skip$\r
+          if$\r
+          t "others" =\r
+        { " et~al." * }\r
+        { " and " * t * }\r
+          if$\r
+        }\r
+      if$\r
+    }\r
+    't\r
+      if$\r
+      nameptr #1 + 'nameptr :=\r
+      namesleft #1 - 'namesleft :=\r
+    }\r
+  while$\r
+}\r
+\r
+STRINGS { last.authors }\r
+\r
+FUNCTION {init.last.authors}\r
+{ "" 'last.authors :=\r
+}\r
+\r
+FUNCTION {format.authors}\r
+{ author empty$\r
+    { "" 'last.authors :=\r
+      ""\r
+    }\r
+    { author last.authors =\r
+        { "\leavevmode\vrule height 2pt depth -1.6pt width 23pt" }\r
+        { author format.names scapify }\r
+      if$\r
+      author 'last.authors :=\r
+    }\r
+  if$\r
+}\r
+\r
+FUNCTION {format.organization}\r
+{ organization empty$\r
+    { "" 'last.authors :=\r
+      ""\r
+    }\r
+    { organization last.authors =\r
+        { "\leavevmode\vrule height 2pt depth -1.6pt width 23pt" }\r
+        { organization scapify }\r
+      if$\r
+      organization 'last.authors :=\r
+    }\r
+  if$\r
+}\r
+\r
+FUNCTION {format.editors}\r
+{ editor empty$\r
+    { "" 'last.authors :=\r
+      ""\r
+    }\r
+    { editor last.authors =\r
+        { "\leavevmode\vrule height 2pt depth -1.6pt width 23pt" }\r
+    { editor format.names scapify }\r
+      if$\r
+      editor num.names$ #1 >\r
+        { ", eds." * }\r
+    { ", ed." * }\r
+      if$\r
+      editor 'last.authors :=\r
+    }\r
+  if$\r
+}\r
+\r
+FUNCTION {format.ineditors}\r
+{ editor empty$\r
+    { "" }\r
+    { editor format.names\r
+      editor num.names$ #1 >\r
+    { ", eds." * }\r
+    { ", ed." * }\r
+      if$\r
+    }\r
+  if$\r
+}\r
+\r
+FUNCTION {format.title}\r
+{ title empty$\r
+    { "" }\r
+    { title "t" change.case$ emphasize }\r
+  if$\r
+}\r
+\r
+FUNCTION {n.dashify}\r
+{ 't :=\r
+  ""\r
+    { t empty$ not }\r
+    { t #1 #1 substring$ "-" =\r
+    { t #1 #2 substring$ "--" = not\r
+        { "--" *\r
+          t #2 global.max$ substring$ 't :=\r
+        }\r
+        {   { t #1 #1 substring$ "-" = }\r
+        { "-" *\r
+          t #2 global.max$ substring$ 't :=\r
+        }\r
+          while$\r
+        }\r
+      if$\r
+    }\r
+    { t #1 #1 substring$ *\r
+      t #2 global.max$ substring$ 't :=\r
+    }\r
+      if$\r
+    }\r
+  while$\r
+}\r
+\r
+FUNCTION {format.date}\r
+{ year empty$\r
+    { month empty$\r
+    { "" }\r
+    { "there's a month but no year in " cite$ * warning$\r
+      month\r
+    }\r
+      if$\r
+    }\r
+    { month empty$\r
+    'year\r
+    { month " " * year * }\r
+      if$\r
+    }\r
+  if$\r
+}\r
+\r
+FUNCTION {format.btitle}\r
+{ title emphasize\r
+}\r
+\r
+FUNCTION {tie.or.space.connect}\r
+{ duplicate$ text.length$ #3 <\r
+    { "~" }\r
+    { " " }\r
+  if$\r
+  swap$ * *\r
+}\r
+\r
+FUNCTION {either.or.check}\r
+{ empty$\r
+    'pop$\r
+    { "can't use both " swap$ * " fields in " * cite$ * warning$ }\r
+  if$\r
+}\r
+\r
+FUNCTION {format.bvolume}\r
+{ volume empty$\r
+    { "" }\r
+    { "vol.~" volume *\r
+      series empty$\r
+    'skip$\r
+    { " of " * series * }\r
+      if$\r
+      "volume and number" number either.or.check\r
+    }\r
+  if$\r
+}\r
+\r
+FUNCTION {format.number.series}\r
+{ volume empty$\r
+    { number empty$\r
+    { series field.or.null }\r
+    { "no.~" number *\r
+      series empty$\r
+        { "there's a number but no series in " cite$ * warning$ }\r
+        { " in " * series * }\r
+      if$\r
+    }\r
+      if$\r
+    }\r
+    { "" }\r
+  if$\r
+}\r
+\r
+FUNCTION {format.edition}\r
+{ edition empty$\r
+    { "" }\r
+    { edition "l" change.case$ "~ed." * }\r
+  if$\r
+}\r
+\r
+INTEGERS { multiresult }\r
+\r
+FUNCTION {multi.page.check}\r
+{ 't :=\r
+  #0 'multiresult :=\r
+    { multiresult not\r
+      t empty$ not\r
+      and\r
+    }\r
+    { t #1 #1 substring$\r
+      duplicate$ "-" =\r
+      swap$ duplicate$ "," =\r
+      swap$ "+" =\r
+      or or\r
+    { #1 'multiresult := }\r
+    { t #2 global.max$ substring$ 't := }\r
+      if$\r
+    }\r
+  while$\r
+  multiresult\r
+}\r
+\r
+FUNCTION {format.pages}\r
+{ pages empty$\r
+    { "" }\r
+    { pages multi.page.check\r
+    { "pp.~" pages n.dashify * }\r
+    { "p.~" pages * }\r
+      if$\r
+    }\r
+  if$\r
+}\r
+\r
+FUNCTION {format.vol.year}\r
+{ volume field.or.null\r
+  year empty$\r
+    { "empty year in " cite$ * warning$ }\r
+    { " (" year * ")" * * }\r
+  if$\r
+}\r
+\r
+FUNCTION {format.chapter.pages}\r
+{ chapter empty$\r
+    'format.pages\r
+    { type empty$\r
+    { "ch.~" chapter * }\r
+    { type "l" change.case$ chapter tie.or.space.connect }\r
+      if$\r
+      pages empty$\r
+    'skip$\r
+    { ", " * format.pages * }\r
+      if$\r
+    }\r
+  if$\r
+}\r
+\r
+FUNCTION {format.in.ed.booktitle}\r
+{ booktitle empty$\r
+    { "" }\r
+    { editor empty$\r
+    { "in " booktitle * }\r
+    { "in " booktitle * ", " * format.ineditors * }\r
+      if$\r
+    }\r
+  if$\r
+}\r
+\r
+FUNCTION {empty.misc.check}\r
+{ author empty$ title empty$ howpublished empty$\r
+  month empty$ year empty$ note empty$\r
+  and and and and and\r
+  key empty$ not and\r
+    { "all relevant fields are empty in " cite$ * warning$ }\r
+    'skip$\r
+  if$\r
+}\r
+\r
+FUNCTION {format.thesis.type}\r
+{ type empty$\r
+    'skip$\r
+    { pop$\r
+      type "l" change.case$\r
+    }\r
+  if$\r
+}\r
+\r
+FUNCTION {format.tr.number}\r
+{ type empty$\r
+    { "Tech. Report" }\r
+    'type\r
+  if$\r
+  number empty$\r
+    { "l" change.case$ }\r
+    { number tie.or.space.connect }\r
+  if$\r
+}\r
+\r
+FUNCTION {format.article.crossref}\r
+{ key empty$\r
+    { journal empty$\r
+    { "need key or journal for " cite$ * " to crossref " * crossref *\r
+      warning$\r
+      ""\r
+    }\r
+    { "in " journal * }\r
+      if$\r
+    }\r
+    { "in " key * }\r
+  if$\r
+  " \cite{" * crossref * "}" *\r
+}\r
+\r
+FUNCTION {format.crossref.editor}\r
+{ editor #1 "{vv~}{ll}" format.name$\r
+  editor num.names$ duplicate$\r
+  #2 >\r
+    { pop$ " et~al." * }\r
+    { #2 <\r
+    'skip$\r
+    { editor #2 "{ff }{vv }{ll}{ jj}" format.name$ "others" =\r
+        { " et~al." * }\r
+        { " and " * editor #2 "{vv~}{ll}" format.name$ * }\r
+      if$\r
+    }\r
+      if$\r
+    }\r
+  if$\r
+}\r
+\r
+FUNCTION {format.book.crossref}\r
+{ volume empty$\r
+    { "empty volume in " cite$ * "'s crossref of " * crossref * warning$\r
+      "in "\r
+    }\r
+    { "vol.~" volume *\r
+      " of " *\r
+    }\r
+  if$\r
+  editor empty$\r
+  editor field.or.null author field.or.null =\r
+  or\r
+    { key empty$\r
+    { series empty$\r
+        { "need editor, key, or series for " cite$ * " to crossref " *\r
+          crossref * warning$\r
+          "" *\r
+        }\r
+        { series * }\r
+      if$\r
+    }\r
+    { key * }\r
+      if$\r
+    }\r
+    { format.crossref.editor * }\r
+  if$\r
+  " \cite{" * crossref * "}" *\r
+}\r
+\r
+FUNCTION {format.incoll.inproc.crossref}\r
+{ editor empty$\r
+  editor field.or.null author field.or.null =\r
+  or\r
+    { key empty$\r
+    { booktitle empty$\r
+        { "need editor, key, or booktitle for " cite$ * " to crossref " *\r
+          crossref * warning$\r
+          ""\r
+        }\r
+        { "in " booktitle * }\r
+      if$\r
+    }\r
+    { "in " key * }\r
+      if$\r
+    }\r
+    { "in " format.crossref.editor * }\r
+  if$\r
+  " \cite{" * crossref * "}" *\r
+}\r
+\r
+FUNCTION {article}\r
+{ output.bibitem\r
+  format.authors "author" output.check\r
+  format.title "title" output.check\r
+  crossref missing$\r
+    { journal "journal" output.check\r
+      format.vol.year output\r
+    }\r
+    { format.article.crossref output.nonnull }\r
+  if$\r
+  format.pages output\r
+  new.block\r
+  note output\r
+  fin.entry\r
+}\r
+\r
+FUNCTION {book}\r
+{ output.bibitem\r
+  author empty$\r
+    { format.editors "author and editor" output.check }\r
+    { format.authors output.nonnull\r
+      crossref missing$\r
+    { "author and editor" editor either.or.check }\r
+    'skip$\r
+      if$\r
+    }\r
+  if$\r
+  format.btitle "title" output.check\r
+  crossref missing$\r
+    { format.bvolume output\r
+      format.number.series output\r
+      publisher "publisher" output.check\r
+      address output\r
+    }\r
+    { format.book.crossref output.nonnull }\r
+  if$\r
+  format.edition output\r
+  format.date "year" output.check\r
+  new.block\r
+  note output\r
+  fin.entry\r
+}\r
+\r
+FUNCTION {booklet}\r
+{ output.bibitem\r
+  format.authors output\r
+  format.title "title" output.check\r
+  howpublished new.block.checka\r
+  howpublished output\r
+  address output\r
+  format.date output\r
+  new.block\r
+  note output\r
+  fin.entry\r
+}\r
+\r
+FUNCTION {inbook}\r
+{ output.bibitem\r
+  author empty$\r
+    { format.editors "author and editor" output.check }\r
+    { format.authors output.nonnull\r
+      crossref missing$\r
+    { "author and editor" editor either.or.check }\r
+    'skip$\r
+      if$\r
+    }\r
+  if$\r
+  format.btitle "title" output.check\r
+  crossref missing$\r
+    { format.bvolume output\r
+      format.number.series output\r
+      publisher "publisher" output.check\r
+      address output\r
+    }\r
+    { format.book.crossref output.nonnull }\r
+  if$\r
+  format.edition output\r
+  format.date "year" output.check\r
+  format.chapter.pages "chapter and pages" output.check\r
+  new.block\r
+  note output\r
+  fin.entry\r
+}\r
+\r
+FUNCTION {incollection}\r
+{ output.bibitem\r
+  format.authors "author" output.check\r
+  format.title "title" output.check\r
+  crossref missing$\r
+    { format.in.ed.booktitle "booktitle" output.check\r
+      format.bvolume output\r
+      format.number.series output\r
+      publisher "publisher" output.check\r
+      address output\r
+      format.edition output\r
+      format.date "year" output.check\r
+    }\r
+    { format.incoll.inproc.crossref output.nonnull }\r
+  if$\r
+  format.chapter.pages output\r
+  new.block\r
+  note output\r
+  fin.entry\r
+}\r
+\r
+FUNCTION {inproceedings}\r
+{ output.bibitem\r
+  format.authors "author" output.check\r
+  format.title "title" output.check\r
+  crossref missing$\r
+    { format.in.ed.booktitle "booktitle" output.check\r
+      format.bvolume output\r
+      format.number.series output\r
+      address empty$\r
+    { organization output\r
+      publisher output\r
+      format.date "year" output.check\r
+    }\r
+    { address output.nonnull\r
+      format.date "year" output.check\r
+      organization output\r
+      publisher output\r
+    }\r
+      if$\r
+    }\r
+    { format.incoll.inproc.crossref output.nonnull }\r
+  if$\r
+  format.pages output\r
+  new.block\r
+  note output\r
+  fin.entry\r
+}\r
+\r
+FUNCTION {conference} { inproceedings }\r
+\r
+FUNCTION {manual}\r
+{ output.bibitem\r
+  author empty$\r
+    { format.organization output }\r
+    { format.authors output.nonnull }\r
+  if$\r
+  format.btitle "title" output.check\r
+  author empty$\r
+    'skip$\r
+    { organization output }\r
+  if$\r
+  address output\r
+  format.edition output\r
+  format.date output\r
+  new.block\r
+  note output\r
+  fin.entry\r
+}\r
+\r
+FUNCTION {mastersthesis}\r
+{ output.bibitem\r
+  format.authors "author" output.check\r
+  format.title "title" output.check\r
+  "master's thesis" format.thesis.type output.nonnull\r
+  school "school" output.check\r
+  address output\r
+  format.date "year" output.check\r
+  new.block\r
+  note output\r
+  fin.entry\r
+}\r
+\r
+FUNCTION {misc}\r
+{ output.bibitem\r
+  format.authors output\r
+  format.title output\r
+  howpublished new.block.checka\r
+  howpublished output\r
+  format.date output\r
+  new.block\r
+  note output\r
+  fin.entry\r
+  empty.misc.check\r
+}\r
+\r
+FUNCTION {phdthesis}\r
+{ output.bibitem\r
+  format.authors "author" output.check\r
+  format.btitle "title" output.check\r
+  "PhD thesis" format.thesis.type output.nonnull\r
+  school "school" output.check\r
+  address output\r
+  format.date "year" output.check\r
+  new.block\r
+  note output\r
+  fin.entry\r
+}\r
+\r
+FUNCTION {proceedings}\r
+{ output.bibitem\r
+  editor empty$\r
+    { format.organization output }\r
+    { format.editors output.nonnull }\r
+  if$\r
+  format.btitle "title" output.check\r
+  format.bvolume output\r
+  format.number.series output\r
+  address empty$\r
+    { editor empty$\r
+    'skip$\r
+    { organization output }\r
+      if$\r
+      publisher output\r
+      format.date "year" output.check\r
+    }\r
+    { address output.nonnull\r
+      format.date "year" output.check\r
+      editor empty$\r
+    'skip$\r
+    { organization output }\r
+      if$\r
+      publisher output\r
+    }\r
+  if$\r
+  new.block\r
+  note output\r
+  fin.entry\r
+}\r
+\r
+FUNCTION {techreport}\r
+{ output.bibitem\r
+  format.authors "author" output.check\r
+  format.title "title" output.check\r
+  format.tr.number output.nonnull\r
+  institution "institution" output.check\r
+  address output\r
+  format.date "year" output.check\r
+  new.block\r
+  note output\r
+  fin.entry\r
+}\r
+\r
+FUNCTION {unpublished}\r
+{ output.bibitem\r
+  format.authors "author" output.check\r
+  format.title "title" output.check\r
+  new.block\r
+  note "note" output.check\r
+  format.date output\r
+  fin.entry\r
+}\r
+\r
+FUNCTION {default.type} { misc }\r
+\r
+MACRO {jan} {"Jan."}\r
+\r
+MACRO {feb} {"Feb."}\r
+\r
+MACRO {mar} {"Mar."}\r
+\r
+MACRO {apr} {"Apr."}\r
+\r
+MACRO {may} {"May"}\r
+\r
+MACRO {jun} {"June"}\r
+\r
+MACRO {jul} {"July"}\r
+\r
+MACRO {aug} {"Aug."}\r
+\r
+MACRO {sep} {"Sept."}\r
+\r
+MACRO {oct} {"Oct."}\r
+\r
+MACRO {nov} {"Nov."}\r
+\r
+MACRO {dec} {"Dec."}\r
+\r
+MACRO {acmcs} {"ACM Comput. Surveys"}\r
+\r
+MACRO {acta} {"Acta Inf."}\r
+\r
+MACRO {cacm} {"Comm. ACM"}\r
+\r
+MACRO {ibmjrd} {"IBM J. Res. Dev."}\r
+\r
+MACRO {ibmsj} {"IBM Syst.~J."}\r
+\r
+MACRO {ieeese} {"IEEE Trans. Softw. Eng."}\r
+\r
+MACRO {ieeetc} {"IEEE Trans. Comput."}\r
+\r
+MACRO {ieeetcad}\r
+ {"IEEE Trans. Comput.-Aided Design Integrated Circuits"}\r
+\r
+MACRO {ipl} {"Inf. Process. Lett."}\r
+\r
+MACRO {jacm} {"J.~Assoc. Comput. Mach."}\r
+\r
+MACRO {jcss} {"J.~Comput. System Sci."}\r
+\r
+MACRO {scp} {"Sci. Comput. Programming"}\r
+\r
+MACRO {sicomp} {"SIAM J. Comput."}\r
+\r
+MACRO {tocs} {"ACM Trans. Comput. Syst."}\r
+\r
+MACRO {tods} {"ACM Trans. Database Syst."}\r
+\r
+MACRO {tog} {"ACM Trans. Gr."}\r
+\r
+MACRO {toms} {"ACM Trans. Math. Softw."}\r
+\r
+MACRO {toois} {"ACM Trans. Office Inf. Syst."}\r
+\r
+MACRO {toplas} {"ACM Trans. Prog. Lang. Syst."}\r
+\r
+MACRO {tcs} {"Theoretical Comput. Sci."}\r
+\r
+READ\r
+\r
+FUNCTION {sortify}\r
+{ purify$\r
+  "l" change.case$\r
+}\r
+\r
+INTEGERS { len }\r
+\r
+FUNCTION {chop.word}\r
+{ 's :=\r
+  'len :=\r
+  s #1 len substring$ =\r
+    { s len #1 + global.max$ substring$ }\r
+    's\r
+  if$\r
+}\r
+\r
+FUNCTION {sort.format.names}\r
+{ 's :=\r
+  #1 'nameptr :=\r
+  ""\r
+  s num.names$ 'numnames :=\r
+  numnames 'namesleft :=\r
+    { namesleft #0 > }\r
+    { nameptr #1 >\r
+    { "   " * }\r
+    'skip$\r
+      if$\r
+      s nameptr "{vv{ } }{ll{ }}{  f{ }}{  jj{ }}" format.name$ 't :=\r
+      nameptr numnames = t "others" = and\r
+    { "et al" * }\r
+    { t sortify * }\r
+      if$\r
+      nameptr #1 + 'nameptr :=\r
+      namesleft #1 - 'namesleft :=\r
+    }\r
+  while$\r
+}\r
+\r
+FUNCTION {sort.format.title}\r
+{ 't :=\r
+  "A " #2\r
+    "An " #3\r
+      "The " #4 t chop.word\r
+    chop.word\r
+  chop.word\r
+  sortify\r
+  #1 global.max$ substring$\r
+}\r
+\r
+FUNCTION {author.sort}\r
+{ author empty$\r
+    { key empty$\r
+    { "to sort, need author or key in " cite$ * warning$\r
+      ""\r
+    }\r
+    { key sortify }\r
+      if$\r
+    }\r
+    { author sort.format.names }\r
+  if$\r
+}\r
+\r
+FUNCTION {author.editor.sort}\r
+{ author empty$\r
+    { editor empty$\r
+    { key empty$\r
+        { "to sort, need author, editor, or key in " cite$ * warning$\r
+          ""\r
+        }\r
+        { key sortify }\r
+      if$\r
+    }\r
+    { editor sort.format.names }\r
+      if$\r
+    }\r
+    { author sort.format.names }\r
+  if$\r
+}\r
+\r
+FUNCTION {author.organization.sort}\r
+{ author empty$\r
+    { organization empty$\r
+    { key empty$\r
+        { "to sort, need author, organization, or key in " cite$ * warning$\r
+          ""\r
+        }\r
+        { key sortify }\r
+      if$\r
+    }\r
+    { "The " #4 organization chop.word sortify }\r
+      if$\r
+    }\r
+    { author sort.format.names }\r
+  if$\r
+}\r
+\r
+FUNCTION {editor.organization.sort}\r
+{ editor empty$\r
+    { organization empty$\r
+    { key empty$\r
+        { "to sort, need editor, organization, or key in " cite$ * warning$\r
+          ""\r
+        }\r
+        { key sortify }\r
+      if$\r
+    }\r
+    { "The " #4 organization chop.word sortify }\r
+      if$\r
+    }\r
+    { editor sort.format.names }\r
+  if$\r
+}\r
+\r
+FUNCTION {presort}\r
+{ type$ "book" =\r
+  type$ "inbook" =\r
+  or\r
+    'author.editor.sort\r
+    { type$ "proceedings" =\r
+    'editor.organization.sort\r
+    { type$ "manual" =\r
+        'author.organization.sort\r
+        'author.sort\r
+      if$\r
+    }\r
+      if$\r
+    }\r
+  if$\r
+  "    "\r
+  *\r
+  year field.or.null sortify\r
+  *\r
+  "    "\r
+  *\r
+  title field.or.null\r
+  sort.format.title\r
+  *\r
+  #1 entry.max$ substring$\r
+  'sort.key$ :=\r
+}\r
+\r
+ITERATE {presort}\r
+\r
+SORT\r
+\r
+STRINGS { longest.label }\r
+\r
+INTEGERS { number.label longest.label.width }\r
+\r
+FUNCTION {initialize.longest.label}\r
+{ "" 'longest.label :=\r
+  #1 'number.label :=\r
+  #0 'longest.label.width :=\r
+}\r
+\r
+FUNCTION {longest.label.pass}\r
+{ number.label int.to.str$ 'label :=\r
+  number.label #1 + 'number.label :=\r
+  label width$ longest.label.width >\r
+    { label 'longest.label :=\r
+      label width$ 'longest.label.width :=\r
+    }\r
+    'skip$\r
+  if$\r
+}\r
+\r
+EXECUTE {initialize.longest.label}\r
+\r
+ITERATE {longest.label.pass}\r
+\r
+FUNCTION {begin.bib}\r
+{ preamble$ empty$\r
+    'skip$\r
+    { preamble$ write$ newline$ }\r
+  if$\r
+  "\begin{thebibliography}{"  longest.label  * "}" * write$ newline$\r
+}\r
+\r
+EXECUTE {begin.bib}\r
+\r
+EXECUTE {init.state.consts}\r
+\r
+EXECUTE {init.last.authors}\r
+\r
+ITERATE {call.type$}\r
+\r
+FUNCTION {end.bib}\r
+{ newline$\r
+  "\end{thebibliography}" write$ newline$\r
+}\r
+\r
+EXECUTE {end.bib}\r
\r
diff --git a/8.0/siam10.clo b/8.0/siam10.clo
new file mode 100644 (file)
index 0000000..8232745
--- /dev/null
@@ -0,0 +1,209 @@
+%% \r
+%% This is file `siam10.clo', based on size10.clo\r
+%% Revision of siam macros for use with LaTeX 2e\r
+%% \r
+%% By Paul Duggan for the Society for Industrial and Applied\r
+%% Mathematics. \r
+%% \r
+%% February 4, 1997\r
+%%\r
+%% Version 1.1\r
+%% \r
+%% You are not allowed to change this file. \r
+%% \r
+%% You are allowed to distribute this file under the condition that \r
+%% it is distributed together with all of the files in the siam macro \r
+%% distribution. These are:\r
+%%\r
+%%  siamltex.cls (main LaTeX macro for SIAM)\r
+%%  siamltex.sty (includes siamltex.cls for compatibility mode)\r
+%%  siam10.clo   (this file)\r
+%%  subeqn.clo   (allows equation numbners with lettered subelements)\r
+%%  siam.bst     (bibliographic style file for use with BibTeX)\r
+%%  docultex.tex (documentation file)\r
+%%  lexample.tex (example file for latex macro) \r
+%% \r
+%% If you receive only some of these files from someone, complain! \r
+%% \r
+%% You are NOT ALLOWED to distribute this file alone. You are NOT \r
+%% ALLOWED to take money for the distribution or use of either this \r
+%% file or a changed version, except for a nominal charge for copying \r
+%% etc. \r
+%% \CharacterTable\r
+%%  {Upper-case    \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z\r
+%%   Lower-case    \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z\r
+%%   Digits        \0\1\2\3\4\5\6\7\8\9\r
+%%   Exclamation   \!     Double quote  \"     Hash (number) \#\r
+%%   Dollar        \$     Percent       \%     Ampersand     \&\r
+%%   Acute accent  \'     Left paren    \(     Right paren   \)\r
+%%   Asterisk      \*     Plus          \+     Comma         \,\r
+%%   Minus         \-     Point         \.     Solidus       \/\r
+%%   Colon         \:     Semicolon     \;     Less than     \<\r
+%%   Equals        \=     Greater than  \>     Question mark \?\r
+%%   Commercial at \@     Left bracket  \[     Backslash     \\\r
+%%   Right bracket \]     Circumflex    \^     Underscore    \_\r
+%%   Grave accent  \`     Left brace    \{     Vertical bar  \|\r
+%%   Right brace   \}     Tilde         \~}\r
+\ProvidesFile{siam10.clo}\r
+              [1994/10/01 v1.0\r
+      SIAM LaTeX file (size option)]\r
+\renewcommand{\normalsize}{%\r
+   \@setfontsize\normalsize\@xpt\@xiipt\r
+   \abovedisplayskip 10\p@ \@plus2\p@ \@minus5\p@\r
+   \abovedisplayshortskip \abovedisplayskip\r
+   \belowdisplayshortskip \belowdisplayskip\r
+   \belowdisplayskip \abovedisplayskip\r
+   \let\@listi\@listI}\r
+\normalsize\r
+\newcommand{\small}{%\r
+   \@setfontsize\small\@ixpt{11}%\r
+   \abovedisplayskip 8.5\p@ \@plus3\p@ \@minus4\p@\r
+   \abovedisplayshortskip \z@ \@plus2\p@\r
+   \belowdisplayshortskip 4\p@ \@plus2\p@ \@minus2\p@\r
+   \def\@listi{\leftmargin\leftmargini\r
+               \topsep 4\p@ \@plus2\p@ \@minus2\p@\r
+               \parsep 2\p@ \@plus\p@ \@minus\p@\r
+               \itemsep \parsep}%\r
+   \belowdisplayskip \abovedisplayskip\r
+}\r
+\newcommand{\footnotesize}{%\r
+   \@setfontsize\footnotesize\@viiipt{9.5}%\r
+   \abovedisplayskip 6\p@ \@plus2\p@ \@minus4\p@\r
+   \abovedisplayshortskip \abovedisplayskip\r
+   \belowdisplayshortskip \belowdisplayskip\r
+   \def\@listi{\leftmargin\leftmargini\r
+               \topsep \z@\r
+               \parsep \z@\r
+               \itemsep \parsep}%\r
+   \belowdisplayskip \abovedisplayskip\r
+}\r
+\newcommand{\scriptsize}{\@setfontsize\scriptsize\@viipt\@viiipt}\r
+\newcommand{\tiny}{\@setfontsize\tiny\@vpt\@vipt}\r
+\newcommand{\large}{\@setfontsize\large\@xiipt{14}}\r
+\newcommand{\Large}{\@setfontsize\Large\@xivpt{18}}\r
+\newcommand{\LARGE}{\@setfontsize\LARGE\@xviipt{22}}\r
+\newcommand{\huge}{\@setfontsize\huge\@xxpt{25}}\r
+\newcommand{\Huge}{\@setfontsize\Huge\@xxvpt{30}}\r
+\if@twocolumn\r
+  \setlength\parindent{1em}\r
+\else\r
+  \setlength\parindent{.25in}\r
+\fi\r
+\setlength\headheight{10\p@}\r
+\setlength\headsep   {.2in}\r
+%\setlength\topskip   {10\p@}\r
+\setlength\footskip{.2in}\r
+\if@compatibility \r
+ \setlength\maxdepth{4\p@}\r
+\else\r
+ \setlength\maxdepth{.5\topskip} \r
+\fi\r
+\setlength\@maxdepth\maxdepth\r
+\if@compatibility\r
+  \if@twocolumn\r
+    \setlength\textwidth{410\p@}\r
+  \else\r
+    \setlength\textwidth{5.125in}\r
+  \fi\r
+\else\r
+  \if@twocolumn\r
+    \setlength\textwidth{410\p@}\r
+  \else\r
+    \setlength\textwidth{5.125in}\r
+  \fi\r
+\fi\r
+%\if@compatibility\else\r
+%  \@settopoint\textwidth\r
+%\fi\r
+\if@compatibility\r
+  \setlength\textheight{8.25in}\r
+\else\r
+  \setlength\textheight{8.25in}\r
+\fi\r
+%\addtolength\textheight{\topskip}\r
+\if@compatibility\r
+  \if@twoside\r
+%     \setlength\oddsidemargin   {.5in}\r
+%     \setlength\evensidemargin  {.5in}\r
+     \setlength\marginparwidth {1.25in}\r
+  \else\r
+%     \setlength\oddsidemargin   {.5in}\r
+%     \setlength\evensidemargin  {.5in}\r
+     \setlength\marginparwidth  {1.25in}\r
+  \fi\r
+  \if@twocolumn\r
+     \setlength\oddsidemargin  {30\p@}\r
+     \setlength\evensidemargin {30\p@}\r
+     \setlength\marginparwidth {48\p@}\r
+  \fi\r
+\else\r
+  \if@twoside\r
+%     \setlength\oddsidemargin   {.5in}\r
+%     \setlength\evensidemargin  {.5in}\r
+     \setlength\marginparwidth {1.25in}\r
+  \else\r
+%     \setlength\oddsidemargin   {.5in}\r
+%     \setlength\evensidemargin  {.5in}\r
+     \setlength\marginparwidth {1.25in}\r
+  \fi\r
+  \@settopoint\oddsidemargin\r
+  \@settopoint\marginparwidth\r
+\fi\r
+\if@twocolumn\r
+  \setlength\marginparsep {10\p@}\r
+\else\r
+  \setlength\marginparsep{11\p@}\r
+\fi\r
+\setlength\marginparpush{5\p@}\r
+\if@compatibility\r
+  \setlength\topmargin{\z@}\r
+\else\r
+\setlength\topmargin {\z@}\r
+%  \@settopoint\topmargin\r
+\fi\r
+\r
+\setlength\footnotesep{6.65\p@}\r
+\skip\footins 13\p@ \@plus 4\p@ \@minus 2\p@\r
+\setlength\floatsep    {12\p@ \@plus 2\p@ \@minus 2\p@}\r
+\setlength\textfloatsep{20\p@ \@plus 2\p@ \@minus 4\p@}\r
+\setlength\intextsep   {12\p@ \@plus 2\p@ \@minus 2\p@}\r
+\setlength\dblfloatsep    {12\p@ \@plus 2\p@ \@minus 2\p@}\r
+\setlength\dbltextfloatsep{20\p@ \@plus 2\p@ \@minus 4\p@}\r
+\setlength\@fptop{0\p@ \@plus 1fil}\r
+\setlength\@fpsep{8\p@ \@plus 2fil}\r
+\setlength\@fpbot{0\p@ \@plus 1fil}\r
+\setlength\@dblfptop{0\p@ \@plus 1fil}\r
+\setlength\@dblfpsep{8\p@ \@plus 2fil}\r
+\setlength\@dblfpbot{0\p@ \@plus 1fil}\r
+\setlength\partopsep{\z@}\r
+\def\@listI{\leftmargin\leftmargini\r
+            \parsep \z@\r
+            \topsep \z@\r
+            \itemsep \parsep}\r
+\let\@listi\@listI\r
+\@listi\r
+\def\@listii {\leftmargin\leftmarginii\r
+              \labelwidth\leftmarginii\r
+              \advance\labelwidth-\labelsep\r
+              \topsep    \z@\r
+              \parsep    \z@\r
+              \itemsep   \parsep}\r
+\def\@listiii{\leftmargin\leftmarginiii\r
+              \labelwidth\leftmarginiii\r
+              \advance\labelwidth-\labelsep\r
+              \topsep    \z@\r
+              \parsep    \z@\r
+              \partopsep \z@\r
+              \itemsep   \topsep}\r
+\def\@listiv {\leftmargin\leftmarginiv\r
+              \labelwidth\leftmarginiv\r
+              \advance\labelwidth-\labelsep}\r
+\def\@listv  {\leftmargin\leftmarginv\r
+              \labelwidth\leftmarginv\r
+              \advance\labelwidth-\labelsep}\r
+\def\@listvi {\leftmargin\leftmarginvi\r
+              \labelwidth\leftmarginvi\r
+              \advance\labelwidth-\labelsep}\r
+\endinput\r
+%% \r
+%% End of file `siam10.clo'.\r
diff --git a/8.0/siamltex.cls b/8.0/siamltex.cls
new file mode 100644 (file)
index 0000000..fedf3e8
--- /dev/null
@@ -0,0 +1,778 @@
+%%\r
+%% This is file `siamltex.cls', based on article.cls\r
+%% Revision of siam macros for use with LaTeX 2e\r
+%%\r
+%% By Paul Duggan for the Society for Industrial and Applied\r
+%% Mathematics.\r
+%%\r
+%% November 13, 1996\r
+%%\r
+%% Version 1.2.1\r
+%%\r
+%% You are not allowed to change this file.\r
+%%\r
+%% You are allowed to distribute this file under the condition that\r
+%% it is distributed together with all of the files in the siam macro\r
+%% distribution. These are:\r
+%%\r
+%%  siamltex.cls (this file)\r
+%%  siamltex.sty (includes siamltex.cls for compatibility mode)\r
+%%  siam10.clo   (size option for 10pt papers)\r
+%%  subeqn.clo   (allows equation numbners with lettered subelements)\r
+%%  siam.bst     (bibliographic style file for BibTeX)\r
+%%  docultex.tex (documentation file)\r
+%%  lexample.tex (example file for latex macro)\r
+%%\r
+%% If you receive only some of these files from someone, complain!\r
+%%\r
+%% You are NOT ALLOWED to distribute this file alone. You are NOT\r
+%% ALLOWED to take money for the distribution or use of either this\r
+%% file or a changed version, except for a nominal charge for copying\r
+%% etc.\r
+%% \CharacterTable\r
+%%  {Upper-case    \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z\r
+%%   Lower-case    \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z\r
+%%   Digits        \0\1\2\3\4\5\6\7\8\9\r
+%%   Exclamation   \!     Double quote  \"     Hash (number) \#\r
+%%   Dollar        \$     Percent       \%     Ampersand     \&\r
+%%   Acute accent  \'     Left paren    \(     Right paren   \)\r
+%%   Asterisk      \*     Plus          \+     Comma         \,\r
+%%   Minus         \-     Point         \.     Solidus       \/\r
+%%   Colon         \:     Semicolon     \;     Less than     \<\r
+%%   Equals        \=     Greater than  \>     Question mark \?\r
+%%   Commercial at \@     Left bracket  \[     Backslash     \\\r
+%%   Right bracket \]     Circumflex    \^     Underscore    \_\r
+%%   Grave accent  \`     Left brace    \{     Vertical bar  \|\r
+%%   Right brace   \}     Tilde         \~}\r
+\NeedsTeXFormat{LaTeX2e}[1995/06/01]\r
+\ProvidesClass{siamltex}[1996/10/11 v1.2 LaTeX document class]\r
+\newcommand\@ptsize{}\r
+\newif\if@restonecol\r
+\newif\if@titlepage\r
+\@titlepagefalse\r
+\newif\if@oneeqnum\r
+\@oneeqnumfalse\r
+\newif\if@onetabnum\r
+\@onetabnumfalse\r
+\newif\if@onefignum\r
+\@onefignumfalse\r
+\newif\if@onethmnum\r
+\@onethmnumfalse\r
+%_%_%_%_%\r
+\newif\if@translated\r
+\@translatedfalse\r
+%_%_%_%_%\r
+%\newif\if@openbib\r
+%\@openbibfalse\r
+\DeclareOption{a4paper}\r
+   {\setlength\paperheight {297mm}%\r
+    \setlength\paperwidth  {210mm}}\r
+\DeclareOption{a5paper}\r
+   {\setlength\paperheight {210mm}%\r
+    \setlength\paperwidth  {148mm}}\r
+\DeclareOption{b5paper}\r
+   {\setlength\paperheight {250mm}%\r
+    \setlength\paperwidth  {176mm}}\r
+\DeclareOption{letterpaper}\r
+   {\setlength\paperheight {11in}%\r
+    \setlength\paperwidth  {8.5in}}\r
+\DeclareOption{legalpaper}\r
+   {\setlength\paperheight {14in}%\r
+    \setlength\paperwidth  {8.5in}}\r
+\DeclareOption{executivepaper}\r
+   {\setlength\paperheight {10.5in}%\r
+    \setlength\paperwidth  {7.25in}}\r
+\DeclareOption{landscape}\r
+   {\setlength\@tempdima   {\paperheight}%\r
+    \setlength\paperheight {\paperwidth}%\r
+    \setlength\paperwidth  {\@tempdima}}\r
+\DeclareOption{10pt}{\renewcommand\@ptsize{0}}\r
+\DeclareOption{11pt}{\renewcommand\@ptsize{1}}\r
+\DeclareOption{12pt}{\renewcommand\@ptsize{2}}\r
+\DeclareOption{twoside}{\@twosidetrue  \@mparswitchtrue}\r
+\DeclareOption{draft}{\setlength\overfullrule{5pt}}\r
+\DeclareOption{final}{\setlength\overfullrule{0pt}}\r
+\DeclareOption{notitlepage}{\@titlepagefalse}\r
+\DeclareOption{onecolumn}{\@twocolumnfalse}\r
+\DeclareOption{twocolumn}{\@twocolumntrue}\r
+\DeclareOption{leqno}{\input{leqno.clo}}\r
+\DeclareOption{subeqn}{\input{subeqn.clo}}\r
+\DeclareOption{oneeqnum}{\@oneeqnumtrue} % added 7.19.96\r
+\DeclareOption{onetabnum}{\@onetabnumtrue} % added 7.19.96\r
+\DeclareOption{onefignum}{\@onefignumtrue} % added 7.19.96\r
+\DeclareOption{onethmnum}{\@onethmnumtrue} % added 7.29.96\r
+\DeclareOption{translated}{\@translatedtrue} % jan 7 2004\r
+%\DeclareOption{openbib}{\@openbibtrue}\r
+\ExecuteOptions{letterpaper,10pt,twoside,onecolumn,leqno,draft,notitlepage}\r
+\ProcessOptions\r
+\input{siam1\@ptsize.clo}\r
+\setlength\lineskip{1\p@}\r
+\setlength\normallineskip{1\p@}\r
+\renewcommand\baselinestretch{}\r
+\setlength\parskip{0\p@ \@plus \p@}\r
+\@lowpenalty   51\r
+\@medpenalty  151\r
+\@highpenalty 301\r
+\setcounter{topnumber}{2}\r
+\renewcommand\topfraction{.9}\r
+\setcounter{bottomnumber}{1}\r
+\renewcommand\bottomfraction{.1}\r
+\setcounter{totalnumber}{3}\r
+\renewcommand\textfraction{.1}\r
+\renewcommand\floatpagefraction{.91}\r
+\setcounter{dbltopnumber}{2}\r
+\renewcommand\dbltopfraction{.7}\r
+\renewcommand\dblfloatpagefraction{.5}\r
+\renewcommand{\ps@plain}{\let\@mkboth\@gobbletwo%\r
+  \renewcommand{\@oddhead}{}%\r
+  \renewcommand{\@evenhead}{}%\r
+  \renewcommand{\@evenfoot}{\hfil\footnotesize\textrm{\thepage}\hfil}%\r
+  \renewcommand{\@oddfoot}{\@evenfoot}}\r
+\r
+    \def\ps@headings{%\r
+      \let\@oddfoot\@empty\let\@evenfoot\@empty\r
+      \def\@evenhead{\rlap{\thepage}\hfil\upshape\footnotesize\leftmark\hfil}%          %!\r
+      \def\@oddhead{\hbox{}\hfil{\upshape\footnotesize\rightmark}\hfil\llap{\thepage}}% %!\r
+      \let\@mkboth\markboth\r
+      \def\sectionmark##1{%\r
+        \markboth {\uppercase{\ifnum \c@secnumdepth >\z@\r
+            \thesection.\hskip 1em\relax\fi\r
+            ##1}}{}}%\r
+      \def\subsectionmark##1{%\r
+        \markright {\ifnum \c@secnumdepth >\@ne\r
+            \thesubsection\hskip 1em\relax \fi\r
+            ##1}}}\r
+\r
+\def\ps@myheadings{%\r
+    \let\@oddfoot\@empty\let\@evenfoot\@empty\r
+    \def\@evenhead{\rlap{\thepage}\hfil\upshape\footnotesize\leftmark\hfil}%          %!\r
+    \def\@oddhead{\hbox{}\hfil{\upshape\footnotesize\rightmark}\hfil\llap{\thepage}}% %!\r
+    \let\@mkboth\@gobbletwo\r
+    \let\sectionmark\@gobble\r
+    \let\subsectionmark\@gobble\r
+    }\r
+\r
+\r
+\newcommand\maketitle{\par\r
+  \begingroup\r
+    \renewcommand{\thefootnote}{\fnsymbol{footnote}}%\r
+    \def\@makefnmark{\hbox to\z@{$\m@th^{\@thefnmark}$\hss}}%\r
+    \long\def\@makefntext##1{\parindent 1em\noindent\r
+            \hbox to1.8em{\hss$\m@th^{\@thefnmark}$}##1}%\r
+    \if@twocolumn\r
+      \ifnum \col@number=\@ne\r
+        \@maketitle\r
+      \else\r
+        \twocolumn[\@maketitle]%\r
+      \fi\r
+    \else\r
+      \global\@topnum\z@   % Prevents figures from going at top of page.\r
+      \@maketitle\r
+    \fi\r
+    \thispagestyle{plain}\@thanks\r
+  \endgroup\r
+  \setcounter{footnote}{0}%\r
+  \let\maketitle\relax\let\@maketitle\relax\r
+  \gdef\@thanks{}\gdef\@author{}\gdef\@title{}\let\thanks\relax}\r
+%_%_%_%_%\r
+%_%_%_%_% Macros for subtitle (subauthor?), altered slugline/slugger for translated version\r
+%_%_%_%_%\r
+\long\def\subtitle#1{\gdef\@subtitle{\par\vskip8pt\footnotesize#1}}\r
+\def\@subtitle{}\r
+%\r
+\long\def\supertitle#1{\gdef\@supertitle{\par\bfseries#1\vskip17.5pt\par}}\r
+\def\@supertitle{}\r
+%_%_%_%_%\r
+%_%_%_%_%\r
+%_%_%_%_%\r
+%\r
+\def\@translation{}\r
+%\r
+\def\slugger#1#2#3#4#5{\gdef\@slugger{\thispagestyle{plain}%\r
+\vspace*{-36pt}\r
+{\sixptsize\baselineskip10pt\r
+\noindent\r
+\expandafter\csname#1\endcsname.\hspace*{\fill}\r
+{\scriptsize{\copyright}} #2 Society for Industrial and\r
+Applied\vspace*{-1.2mm}  Mathematics\\\r
+Vol.\ #3, No.\ #4, pp.\ #5\r
+\hspace*{\fill} \@translation\par}\r
+\normalsize\vskip19.7pt}}\r
+%\r
+\if@translated\r
+\newcommand\tpa{T{\fiveptsize HEORY}~P{\fiveptsize ROBAB.}~A{\fiveptsize PPL}}% added 1/7/04\r
+\def\@translation{Translated from Russian Journal}  \r
+\else%%%%%%%%%%%%%%%%%%%%%%%%%%%%\r
+\newcommand\tpa{T{\fiveptsize HEORY}~P{\fiveptsize ROBAB.}~A{\fiveptsize PPL}}% added 1/7/04  \r
+\fi\r
+%\r
+\def\@slugger{}\r
+\def\@slugline{}\r
+%_%_%_%_%\r
+%_%_%_%_%\r
+%_%_%_%_%\r
+\def\@maketitle{%\r
+  \null\r
+\@slugger\r
+  \begin{center}%\r
+\@supertitle%\r
+    {\bfseries\@ucnothanks\@title\par}%\r
+    \vskip .075in%\r
+    {\footnotesize\r
+      \spaceskip=1.5\fontdimen2\the\font\r
+      \def\and{\ \scriptsize AND }\r
+      \@tempswafalse\expandafter\@doauth\@author\and\relax}%\r
+\@subtitle%\r
+  \end{center}%\r
+  \par\r
+  \vskip .11in}\r
+\def\@ucnothanks#1{\expandafter\@ucnt#1\thanks\relax}\r
+\def\@ucnt#1\thanks{\uppercase{#1}\futurelet\@tempa\@ucnta}\r
+\def\@ucnta{\ifx\@tempa\relax\else\@ucntb\fi}\r
+\def\@ucntb#1\thanks\relax{\thanks{#1}}\r
+\def\@doauth#1\and{\let\@nextdoa=\@doauth\r
+ \def\@tempc{\@ucnothanks{#1}}\r
+ \futurelet\@tempa\@doautha}\r
+\def\@doautha{\ifx\@tempa\relax\r
+  \if@tempswa {\and}\fi\r
+  \let\@nextdoa=\relax\r
+ \else\r
+  \if@tempswa \gdef\and{,\ \scriptsize AND }, \fi\r
+ \fi\r
+ \@tempc\unskip\@tempswatrue\@nextdoa}\r
+\let\and=\relax\r
+\r
+\newcommand{\sixptsize}{%\r
+   \@setfontsize\sixptsize{6}{8}}\r
+\r
+%%create five-point size\r
+\newcommand{\fiveptsize}{%\r
+   \@setfontsize\fiveptsize{5}{7}}\r
+\r
+\r
+\newcommand\simac{SIAM J{\fiveptsize OURNAL} M{\fiveptsize ACRO}}\r
+\newcommand\siap{SIAM J.\ A{\fiveptsize PPL.} M{\fiveptsize ATH}}\r
+\newcommand\sicomp{SIAM J.\ C{\fiveptsize OMPUT}}\r
+\newcommand\sicon{SIAM J.\ C{\fiveptsize ONTROL}  O{\fiveptsize PTIM}}\r
+\newcommand\sidma{SIAM J.\ D{\fiveptsize ISCRETE} M{\fiveptsize ATH}}\r
+\newcommand\sima{SIAM J.\ M{\fiveptsize ATH.} A{\fiveptsize NAL}}\r
+\newcommand\simax{SIAM J.\ M{\fiveptsize ATRIX} A{\fiveptsize NAL.} A{\fiveptsize PPL}}\r
+\newcommand\sinum{SIAM J.\ N{\fiveptsize UMER.} A{\fiveptsize NAL}}\r
+\newcommand\siopt{SIAM J.\ O{\fiveptsize PTIM}}\r
+\newcommand\sisc{SIAM J.\ S{\fiveptsize CI.} C{\fiveptsize OMPUT}}\r
+\newcommand\sirev{SIAM R{\fiveptsize EV}}\r
+\newcommand\mms{M{\fiveptsize ULTISCALE}~M{\fiveptsize ODEL.}~S{\fiveptsize IMUL}} % Added 9/17/02  \r
+   \r
+       \r
+\setcounter{secnumdepth}{3}\r
+\newcounter {section}\r
+\newcounter {subsection}[section]\r
+\newcounter {subsubsection}[subsection]\r
+\newcounter {paragraph}[subsubsection]\r
+\newcounter {subparagraph}[paragraph]\r
+\renewcommand\thesection       {\arabic{section}}\r
+\renewcommand\thesubsection    {\thesection.\arabic{subsection}}\r
+\renewcommand\thesubsubsection {\thesubsection.\arabic{subsubsection}}\r
+\renewcommand\theparagraph     {\thesubsubsection.\arabic{paragraph}}\r
+\renewcommand\thesubparagraph  {\theparagraph.\arabic{subparagraph}}\r
+\r
+\r
+\def\@sect#1#2#3#4#5#6[#7]#8{\ifnum #2>\c@secnumdepth\r
+     \def\@svsec{}\else\r
+     \refstepcounter{#1}\edef\@svsec{\csname the#1\endcsname.\hskip .5em }\fi\r
+     \@tempskipa #5\relax\r
+      \ifdim \@tempskipa>\z@\r
+        \begingroup #6\relax\r
+          \@hangfrom{\hskip #3\relax\@svsec}{\interlinepenalty \@M #8\par}\r
+        \endgroup\r
+       \csname #1mark\endcsname{#7}\addcontentsline\r
+         {toc}{#1}{\ifnum #2>\c@secnumdepth \else\r
+                      \protect\numberline{\csname the#1\endcsname}\fi\r
+                    #7}\else\r
+        \def\@svsechd{#6\hskip #3\@svsec #8.\csname #1mark\endcsname\r
+                      {#7}\addcontentsline\r
+                           {toc}{#1}{\ifnum #2>\c@secnumdepth \else\r
+                             \protect\numberline{\csname the#1\endcsname}\fi\r
+                       #7}}\fi\r
+     \@xsect{#5}}\r
+\def\@ssect#1#2#3#4#5{\@tempskipa #3\relax\r
+   \ifdim \@tempskipa>\z@\r
+     \begingroup #4\@hangfrom{\hskip #1}{\interlinepenalty \@M\r
+#5.\par}\endgroup\r
+   \else \def\@svsechd{#4\hskip #1\relax #5.}\fi\r
+    \@xsect{#3}}\r
+\r
+             \r
+\newcommand\section{\@startsection{section}{1}{.25in}%\r
+                                   {1.3ex \@plus .5ex \@minus .2ex}%\r
+                                   {-.5em \@plus -.1em}%\r
+                                   {\reset@font\normalsize\bfseries}}\r
+\newcommand\subsection{\@startsection{subsection}{2}{.25in}%\r
+                                     {1.3ex\@plus .5ex \@minus .2ex}%\r
+                                     {-.5em \@plus -.1em}%\r
+                                     {\reset@font\normalsize\bfseries}}\r
+\newcommand\subsubsection{\@startsection{subsubsection}{3}{.25in}%\r
+                                     {1.3ex\@plus .5ex \@minus .2ex}%\r
+                                     {-.5em \@plus -.1em}%\r
+                                     {\reset@font\normalsize\bfseries}}\r
+\newcommand\paragraph{\@startsection{paragraph}{4}{.25in}%\r
+                                    {\parskip}%\r
+                                    {-.5em plus -.1em}%\r
+                                    {\reset@font\normalsize\itshape}}\r
+\newcommand\subparagraph{\@startsection{subparagraph}{5}{\parindent}%\r
+                                       {\parskip}%\r
+                                       {-.5em plus -.1em}%\r
+                                      {\reset@font\normalsize\itshape}}\r
+\if@twocolumn\r
+  \setlength\leftmargini  {2em}\r
+\else\r
+  \setlength\leftmargini  {0.5in}\r
+\fi\r
+\setlength\leftmarginii  {22pt}\r
+\setlength\leftmarginiii {18.7pt}\r
+\setlength\leftmarginiv  {17pt}\r
+\if@twocolumn\r
+  \setlength\leftmarginv  {.5em}\r
+  \setlength\leftmarginvi {.5em}\r
+\else\r
+  \setlength\leftmarginv  {10pt}\r
+  \setlength\leftmarginvi {10pt}\r
+\fi\r
+\setlength  \leftmargin{\leftmargini}\r
+\setlength  \labelsep  {.5em}\r
+\setlength  \labelwidth{\leftmargini}\r
+\addtolength\labelwidth{-\labelsep}\r
+\@beginparpenalty -\@lowpenalty\r
+\@endparpenalty   -\@lowpenalty\r
+\@itempenalty     -\@lowpenalty\r
+\renewcommand\theenumi{\arabic{enumi}}\r
+\renewcommand\theenumii{\alph{enumii}}\r
+\renewcommand\theenumiii{\roman{enumiii}}\r
+\renewcommand\theenumiv{\Alph{enumiv}}\r
+\newcommand\labelenumi{\theenumi.}\r
+\newcommand\labelenumii{(\theenumii)}\r
+\newcommand\labelenumiii{\theenumiii.}\r
+\newcommand\labelenumiv{\theenumiv.}\r
+\renewcommand\p@enumii{\theenumi}\r
+\renewcommand\p@enumiii{\theenumi\theenumii}\r
+\renewcommand\p@enumiv{\p@enumiii\theenumiii}\r
+\newcommand\labelitemi{$\m@th\bullet$}\r
+\newcommand\labelitemii{\normalfont\bfseries --}\r
+\newcommand\labelitemiii{$\m@th\ast$}\r
+\newcommand\labelitemiv{$\m@th\cdot$}\r
+\newenvironment{description}\r
+               {\list{}{\labelwidth\z@ \itemindent-\leftmargin\r
+                        \let\makelabel\descriptionlabel}}\r
+               {\endlist}\r
+\newcommand\descriptionlabel[1]{\hspace\labelsep\r
+                                \normalfont\bfseries #1}\r
+\newcounter{rmnum}\r
+\newenvironment{romannum}\r
+               {\begin{list}{{\upshape (\roman{rmnum})}}{\usecounter{rmnum}\r
+                \setlength{\leftmargin}{0pt}\r
+                \setlength{\itemindent}{42pt}}}{\end{list}}\r
+\newcounter{muni}\r
+\newenvironment{remunerate}\r
+               {\begin{list}{{\upshape \arabic{muni}.}}{\usecounter{muni}\r
+                \setlength{\leftmargin}{0pt}\r
+                \setlength{\itemindent}{38pt}}}{\end{list}}\r
+                               \r
+\newenvironment{@abssec}[1]{%\r
+     \if@twocolumn\r
+       \section*{#1}%\r
+     \else\r
+       \vspace{.05in}\footnotesize\r
+       \parindent .2in\r
+         {\upshape\bfseries #1. }\ignorespaces\r
+     \fi}\r
+     {\if@twocolumn\else\par\vspace{.1in}\fi}\r
+\r
+\newenvironment{@doisec}[1]{%\r
+     \if@twocolumn\r
+       \section*{#1}%\r
+     \else\r
+       \vspace{.05in}\footnotesize\r
+       \parindent .2in\r
+         {\upshape\bfseries #1. }\ignorespaces\ignorespaces\r
+     \fi}\r
+     {\if@twocolumn\else\par\vspace{.1in}\fi}\r
+\r
+\newenvironment{abstract}{\begin{@abssec}{\abstractname}}{\end{@abssec}}\r
+\newenvironment{keywords}{\begin{@abssec}{\keywordsname}}{\end{@abssec}}\r
+\newenvironment{AMS}{\begin{@abssec}{\AMSname}}{\end{@abssec}}\r
+\newenvironment{AM}{\begin{@abssec}{\AMname}}{\end{@abssec}}\r
+%\newenvironment{PII}{\begin{@abssec}{\PIIname}}{\end{@abssec}}\r
+\newenvironment{DOI}{\begin{@doisec}{\DOIname}}{\end{@doisec}}\r
+\r
+\r
+\newenvironment{verse}\r
+               {\let\\=\@centercr\r
+                \list{}{\itemsep      \z@\r
+                        \itemindent   -1.5em%\r
+                        \listparindent\itemindent\r
+                        \rightmargin  \leftmargin\r
+                        \advance\leftmargin 1.5em}%\r
+                \item[]}\r
+               {\endlist}\r
+\newenvironment{quotation}\r
+               {\list{}{\listparindent 1.5em%\r
+                        \itemindent    \listparindent\r
+                        \rightmargin   \leftmargin\r
+                        \parsep        \z@ \@plus\p@}%\r
+                \item[]}\r
+               {\endlist}\r
+\newenvironment{quote}\r
+               {\list{}{\rightmargin\leftmargin}%\r
+                \item[]}\r
+               {\endlist}\r
+\def\@begintheorem#1#2{\par\bgroup{\scshape #1\ #2. }\it\ignorespaces}\r
+\def\@opargbegintheorem#1#2#3{\par\bgroup%\r
+   {\scshape #1\ #2\ ({\upshape #3}). }\it\ignorespaces}\r
+\def\@endtheorem{\egroup}\r
+\def\proof{\par{\it Proof}. \ignorespaces}\r
+\r
+\def\endproof{\vbox{\hrule height0.6pt\hbox{%\r
+   \vrule height1.3ex width0.6pt\hskip0.8ex\r
+   \vrule width0.6pt}\hrule height0.6pt\r
+  }}\r
+\r
+\if@onethmnum\r
+  \newtheorem{theorem}{Theorem}\r
+  \newtheorem{lemma}[theorem]{Lemma}\r
+  \newtheorem{corollary}[theorem]{Corollary}\r
+  \newtheorem{proposition}[theorem]{Proposition}\r
+  \newtheorem{definition}[theorem]{Definition}\r
+\else\r
+  \newtheorem{theorem}{Theorem}[section]\r
+  \newtheorem{lemma}[theorem]{Lemma}\r
+  \newtheorem{corollary}[theorem]{Corollary}\r
+  \newtheorem{proposition}[theorem]{Proposition}\r
+  \newtheorem{definition}[theorem]{Definition}\r
+\fi\r
+\r
+\r
+% FROM FIXUP.STY\r
+% We now redefine the eqnarray environment to correct the space around\r
+% the operator.   Any changes to the definition in LaTeX itself\r
+% will cause the `Warning: unable...'\r
+% message to appear.  If this happens it will be necessary to update the\r
+% definition of  \@tempb below and incorperate the changes into\r
+% the new definitions of \eqnarray.\r
\r
\r
+% This is the current definition of \eqnarray for the fleqn document style\r
+% latex.ltx\r
\r
+\def\@tempb{%\r
+   \stepcounter{equation}%\r
+   \def\@currentlabel{\p@equation\theequation}%\r
+   \global\@eqnswtrue\r
+   \m@th\r
+   \global\@eqcnt\z@\r
+   \tabskip\@centering\r
+   \let\\\@eqncr\r
+   $$\everycr{}\halign to\displaywidth\bgroup\r
+       \hskip\@centering$\displaystyle\tabskip\z@skip{##}$\@eqnsel\r
+      &\global\@eqcnt\@ne\hskip \tw@\arraycolsep \hfil${##}$\hfil\r
+      &\global\@eqcnt\tw@ \hskip \tw@\arraycolsep\r
+         $\displaystyle{##}$\hfil\tabskip\@centering\r
+      &\global\@eqcnt\thr@@ \hb@xt@\z@\bgroup\hss##\egroup\r
+         \tabskip\z@skip\r
+      \cr\r
+}\r
+\ifx\eqnarray\@tempb    % Try the default eqnarray environment\r
+  \def\eqnarray{%\r
+   \stepcounter{equation}%\r
+   \def\@currentlabel{\p@equation\theequation}%\r
+   \global\@eqnswtrue\r
+   \m@th\r
+   \global\@eqcnt\z@\r
+   \tabskip\@centering\r
+   \let\\\@eqncr\r
+   $$\everycr{}\halign to\displaywidth\bgroup\r
+       \hskip\@centering$\displaystyle\tabskip\z@skip{##}$\@eqnsel\r
+      &\global\@eqcnt\@ne \hfil$\displaystyle{{}##{}}$\hfil\r
+      &\global\@eqcnt\tw@ $\displaystyle{##}$\hfil\tabskip\@centering\r
+      &\global\@eqcnt\thr@@ \hb@xt@\z@\bgroup\hss##\egroup\r
+         \tabskip\z@skip\r
+      \cr\r
+}\r
+\else    \typeout{Warning: Unable to fix unknown version of \string\eqnarray.}\r
+\fi\r
\r
+\def\@tempb{}\r
+\r
+\r
+%% New Mathops.\r
+\r
+\newcommand\const{\mathop{\operator@font const}\nolimits}\r
+\newcommand\diag{\mathop{\operator@font diag}\nolimits}\r
+\newcommand\grad{\mathop{\operator@font grad}\nolimits}\r
+\newcommand\Range{\mathop{\operator@font Range}\nolimits}\r
+\newcommand\rank{\mathop{\operator@font rank}\nolimits}\r
+\newcommand\supp{\mathop{\operator@font supp}\nolimits}\r
+\r
+\newcommand\appendix{%\r
+\renewcommand{\section}{%\r
+\secdef\append\sappend}%\r
+ \setcounter{section}{0}%\r
+ \setcounter{subsection}{0}%\r
+ \renewcommand\thesection{\Alph{section}}}\r
+\r
+\newcommand\Appendix{%\r
+\renewcommand{\section}{%\r
+\secdef\Append\sAppend}%\r
+ \setcounter{section}{0}%\r
+ \setcounter{subsection}{0}%\r
+ \renewcommand\thesection{\Alph{section}}}\r
+\r
+\newcommand\append[2][?]{%\r
+\refstepcounter{section}%\r
+{\vskip 1.3ex \@plus .5ex \@minus .2ex\r
+\reset@font\normalsize\bfseries\appendixname\ \thesection. #2.}}\r
+\r
+\newcommand\sappend[1]{%\r
+\refstepcounter{section}\r
+{\vskip 1.3ex \@plus .5ex \@minus .2ex\r
+\reset@font\normalsize\bfseries\appendixname\ \thesection.}}\r
+\r
+\newcommand\Append[2][?]{%\r
+\refstepcounter{section}%\r
+{\vskip 1.3ex \@plus .5ex \@minus .2ex\r
+\reset@font\normalsize\bfseries\appendixname. #2.}}\r
+\r
+\newcommand\sAppend[1]{%\r
+\refstepcounter{section}\r
+{\vskip 1.3ex \@plus .5ex \@minus .2ex\r
+\reset@font\normalsize\bfseries\appendixname.}}\r
+\r
+\setlength\arraycolsep{5\p@}\r
+\setlength\tabcolsep{6\p@}\r
+\setlength\arrayrulewidth{.4\p@}\r
+\setlength\doublerulesep{2\p@}\r
+\setlength\tabbingsep{\labelsep}\r
+\skip\@mpfootins = \skip\footins\r
+\setlength\fboxsep{3\p@}\r
+\setlength\fboxrule{.4\p@}\r
+\r
+\r
+\newcounter{figure}\r
+\renewcommand\thefigure{\@arabic\c@figure}\r
+\def\fps@figure{tp}\r
+\def\ftype@figure{1}\r
+\def\ext@figure{lof}\r
+\def\fnum@figure{\figurename~\thefigure}\r
+\newenvironment{figure}\r
+               {\@float{figure}}\r
+               {\end@float}\r
+\newenvironment{figure*}\r
+               {\@dblfloat{figure}}\r
+               {\end@dblfloat}\r
+\newcounter{table}\r
+\renewcommand{\thetable}{\@arabic\c@table}\r
+\def\fps@table{tp}\r
+\def\ftype@table{2}\r
+\def\ext@table{lot}\r
+\def\fnum@table{\tablename~\thetable}\r
+\newenvironment{table}\r
+               {\@float{table}}\r
+               {\end@float}\r
+\newenvironment{table*}\r
+               {\@dblfloat{table}}\r
+               {\end@dblfloat}\r
+\newlength\abovecaptionskip\r
+\newlength\belowcaptionskip\r
+\setlength\abovecaptionskip{10\p@}\r
+\setlength\belowcaptionskip{10\p@}\r
+\def\@figtxt{figure}\r
+\long\def\@makecaption#1#2{%\r
+    \footnotesize\r
+    \setlength{\parindent}{1.5pc}\r
+  \ifx\@captype\@figtxt\r
+    \vskip\abovecaptionskip\r
+    \setbox\@tempboxa\hbox{{\normalfont\scshape #1}. {\normalfont\itshape #2}}%\r
+    \ifdim \wd\@tempboxa >\hsize\r
+      {\normalfont\scshape #1}. {\normalfont\itshape #2}\par\r
+    \else\r
+      \global\@minipagefalse\r
+      \hb@xt@\hsize{\hfil\box\@tempboxa\hfil}%\r
+    \fi\r
+  \else\r
+    \hbox to\hsize{\hfil{\normalfont\scshape #1}\hfil}%\r
+    \setbox\@tempboxa\hbox{{\normalfont\itshape #2}}%\r
+    \ifdim \wd\@tempboxa >\hsize\r
+      {\normalfont\itshape #2}\par\r
+    \else\r
+     \global\@minipagefalse\r
+      \hb@xt@\hsize{\hfil\box\@tempboxa\hfil}%\r
+    \fi\r
+    \vskip\belowcaptionskip\r
+  \fi}\r
+\DeclareOldFontCommand{\rm}{\normalfont\rmfamily}{\mathrm}\r
+\DeclareOldFontCommand{\sf}{\normalfont\sffamily}{\mathsf}\r
+\DeclareOldFontCommand{\tt}{\normalfont\ttfamily}{\mathtt}\r
+\DeclareOldFontCommand{\bf}{\normalfont\bfseries}{\mathbf}\r
+\DeclareOldFontCommand{\it}{\normalfont\itshape}{\mathit}\r
+\DeclareOldFontCommand{\sl}{\normalfont\slshape}{\@nomath\sl}\r
+\DeclareOldFontCommand{\sc}{\normalfont\scshape}{\@nomath\sc}\r
+\DeclareRobustCommand*\cal{\@fontswitch{\relax}{\mathcal}}\r
+\DeclareRobustCommand*\mit{\@fontswitch{\relax}{\mathnormal}}\r
+\newcommand\@pnumwidth{1.55em}\r
+\newcommand\@tocrmarg {2.55em}\r
+\newcommand\@dotsep{4.5}\r
+\r
+\newdimen\bibindent\r
+\bibindent=16pt\r
+\newenvironment{thebibliography}[1]\r
+     {\par\addvspace{.25in}\r
+     \begin{center}\r
+     \footnotesize\uppercase\expandafter{\refname}\r
+     \end{center}\r
+     \@mkboth{\uppercase\expandafter{\refname}}{\uppercase\expandafter{\refname}}\r
+     \addvspace{.15in}\nopagebreak%\r
+      \list{\@biblabel{\arabic{enumi}}}%\r
+           {\settowidth\labelwidth{\@biblabel{#1}}%\r
+            \leftmargin\labelwidth\r
+            \advance\leftmargin\labelsep\r
+%            \if@openbib\r
+              \advance\leftmargin\bibindent\r
+              \itemindent -\bibindent\r
+              \listparindent \itemindent\r
+              \parsep \z@\r
+%            \fi\r
+            \usecounter{enumi}%\r
+            \let\p@enumi\@empty\r
+            \renewcommand\theenumi{\arabic{enumi}}}%\r
+%      \if@openbib\r
+%        \renewcommand\newblock{\par}\r
+%      \else\r
+        \renewcommand\newblock{\hskip .11em \@plus.33em \@minus.07em}%\r
+%      \fi\r
+      \sloppy\clubpenalty4000\widowpenalty4000%\r
+      \sfcode`\.=\@m\relax\footnotesize}\r
+     {\def\@noitemerr\r
+       {\@latex@warning{Empty `thebibliography' environment}}%\r
+      \endlist}\r
+\newcommand\newblock{}\r
+\newenvironment{theindex}\r
+               {\if@twocolumn\r
+                  \@restonecolfalse\r
+                \else\r
+                  \@restonecoltrue\r
+                \fi\r
+                \columnseprule \z@\r
+                \columnsep 35\p@\r
+                \twocolumn[\section*{\indexname}]%\r
+                \@mkboth{\uppercase{\indexname}}%\r
+                        {\uppercase{\indexname}}%\r
+                \thispagestyle{plain}\parindent\z@\r
+                \parskip\z@ \@plus .3\p@\relax\r
+                \let\item\@idxitem}\r
+               {\if@restonecol\onecolumn\else\clearpage\fi}\r
+\newcommand\@idxitem  {\par\hangindent 40\p@}\r
+\newcommand\subitem   {\par\hangindent 40\p@ \hspace*{20\p@}}\r
+\newcommand\subsubitem{\par\hangindent 40\p@ \hspace*{30\p@}}\r
+\newcommand\indexspace{\par \vskip 10\p@ \@plus5\p@ \@minus3\p@\relax}\r
+\renewcommand\footnoterule{%\r
+  \kern-3\p@\r
+  \hrule width .5in\r
+  \kern 2.6\p@}\r
+\long\def\@makefntext#1{%\r
+    \parindent .25in%\r
+    \noindent\r
+    \hbox to .25in{\hss\@makefnmark}#1}\r
+\newcommand\contentsname{Contents}\r
+\newcommand\listfigurename{List of Figures}\r
+\newcommand\listtablename{List of Tables}\r
+\newcommand\refname{References}\r
+\newcommand\indexname{Index}\r
+\newcommand\figurename{Fig.}\r
+\newcommand\tablename{Table}\r
+\newcommand\partname{Part}\r
+\newcommand\appendixname{Appendix}\r
+\newcommand\abstractname{Abstract}\r
+\newcommand\keywordsname{Key words}\r
+\newcommand\AMSname{AMS subject classifications}\r
+\newcommand\AMname{AMS subject classification}\r
+%\newcommand\PIIname{PII}\r
+\newcommand\DOIname{DOI}\r
+\newcommand\URL{\protect\\ \hspace*{15.37pt}http://www.siam.org/journals/}\r
+\newcommand\today{\ifcase\month\or\r
+  January\or February\or March\or April\or May\or June\or\r
+  July\or August\or September\or October\or November\or December\fi\r
+  \space\number\day, \number\year}\r
+\newcommand\sameauthor{\leavevmode\vrule height 2pt depth -1.6pt width 23pt}\r
+\setlength\columnsep{10\p@}\r
+\setlength\columnseprule{0\p@}\r
+\pagestyle{plain}\r
+\pagenumbering{arabic}      % Arabic page numbers\r
+\r
+\if@compatibility%\r
+\else\r
+  \if@oneeqnum\r
+  \else\r
+     \@addtoreset{equation}{section}   %  \section resets 'equation' counter\r
+     \renewcommand{\theequation}{\thesection.\arabic{equation}}  \r
+  \fi\r
+%\r
+  \if@onefignum\r
+  \else\r
+    \@addtoreset{figure}{section}\r
+    \renewcommand{\thefigure}{\thesection.\@arabic\c@figure}\r
+  \fi\r
+%\r
+  \if@onetabnum\r
+  \else\r
+    \@addtoreset{table}{section}\r
+    \renewcommand{\thetable}{\thesection.\@arabic\c@table}\r
+  \fi\r
+%\r
+  \if@onethmnum\r
+  \else\r
+    \@addtoreset{theorem}{section}\r
+    \renewcommand{\thetheorem}{\thesection.\arabic{theorem}}\r
+  \fi\r
+\fi\r
+\r
+\onecolumn\r
+\r
+\gdef\@siamlabel@error#1#2{%\r
+   \GenericError{%\r
+      \space\space\space\@spaces\@spaces\@spaces\r
+   }{%\r
+      SIAM Label Error: #1%\r
+   }{%\r
+      Correct multiply-defined labels.%\r
+   }{#2}%\r
+}\r
+\r
+%%% NEW -- causes multiply defined labels to generate errors\r
+\def\@newl@bel#1#2#3{%\r
+  \@ifundefined{#1@#2}%\r
+    \relax\r
+    {\gdef \@multiplelabels {%\r
+      \@latex@warning@no@line{Label `#2' multiply defined}}%\r
+      \@siamlabel@error{There were multiply-defined labels}{}}%\r
+  \global\@namedef{#1@#2}{#3}}\r
+\def\newlabel{\@newl@bel r}\r
+\@onlypreamble\@newl@bel\r
+\let \@multiplelabels \relax\r
+\def\label#1{\@bsphack\r
+  \protected@write\@auxout{}%\r
+         {\string\newlabel{#1}{{\@currentlabel}{\thepage}}}%\r
+  \@esphack}\r
+\def\refstepcounter#1{\stepcounter{#1}%\r
+    \protected@edef\@currentlabel\r
+       {\csname p@#1\endcsname\csname the#1\endcsname}%\r
+}\r
+%%%\r
+\r
+\r
+\r
+\def\newarticle{\input{newart.tex}}\r
+\r
+\endinput\r
+%%\r
+%% End of file `siamltex.cls'.\r
+\r
+\r
diff --git a/8.1/deal81.bib b/8.1/deal81.bib
new file mode 100644 (file)
index 0000000..7ae83b1
--- /dev/null
@@ -0,0 +1,211 @@
+%% 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}
+}
+
+
+@article{dealII81,
+  title = {The {\tt deal.{I}{I}} 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{dealII80,
+  title = {The {\tt deal.{I}{I}} 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},
+}
+
+
+%% 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}}
+
+@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}
+
diff --git a/8.1/deal81.tex b/8.1/deal81.tex
new file mode 100644 (file)
index 0000000..fb8808d
--- /dev/null
@@ -0,0 +1,366 @@
+\documentclass{siamltex}
+
+\usepackage{ucs}
+\usepackage[utf8x]{inputenc}
+\usepackage{amsmath}
+\usepackage{cite}
+
+\usepackage{fontenc}
+\usepackage[pdftex]{graphicx}
+
+\usepackage[pdftex,
+            pdfauthor={Wolfgang Bangerth, Timo Heister, Luca Heltai, Guido Kanschat, Martin Kronbichler, Matthias Maier, Toby D. Young},
+            pdftitle={The deal.II Library, Version 8.1, 2013},
+            colorlinks,linkcolor=blue,urlcolor=blue,citecolor=blue]{hyperref}
+
+\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.1}
+\author{
+  Wolfgang Bangerth%
+  \thanks{Department of Mathematics, Texas A\&M University, College Station, 
+    TX 77843, USA,
+    \href{mailto:bangerth@math.tamu.edu}{\texttt{bangerth@math.tamu.edu}}}
+  \and
+  Timo Heister%
+  \thanks{Mathematical Sciences,
+O-110 Martin Hall.
+Clemson University.
+Clemson, SC 29634, USA,
+    \href{mailto:heister@clemson.edu}{\texttt{heister@clemson.edu}}}
+  \and
+  Luca Heltai%
+  \thanks{SISSA - International School for Advanced Studies, Via
+    Bonomea 265, 34136 Trieste, Italy,
+    \href{mailto:luca.heltai@sissa.it}{\texttt{luca.heltai@sissa.it}}}
+  \and
+  Guido Kanschat%
+  \thanks{Interdisciplinary Center for Scientific Computing, Heidelberg
+          University, Im Neuenheimer Feld 368, 69120 Heidelberg, Germany,
+          \href{mailto:kanschat@uni-heidelberg.de}{\texttt{kanschat@uni-heidelberg.de}}}
+  \and
+  Martin Kronbichler%
+  \thanks{Institute for Computational Mechanics, Technische Universit\"at M\"unchen, Boltzmannstr.~15, 85748 Garching b. M\"unchen, Germany, \href{mailto:kronbichler@lnm.mw.tum.de}{\texttt{kronbichler@lnm.mw.tum.de}}}
+  \and
+  Matthias Maier%
+  \thanks{Institute of Applied Mathematics, Heidelberg
+          University, Im Neuenheimer Feld 293/294, 69120 Heidelberg, Germany,
+          \href{mailto:matthias.maier@iwr.uni-heidelberg.de}{\texttt{matthias.maier@iwr.uni-heidelberg.de}}}
+  \and
+  Bruno Turcksin%
+  \thanks{Department of Mathematics, Texas A\&M University, College Station, 
+    TX 77843, USA,
+    \href{mailto:turcksin@math.tamu.edu}{\texttt{turcksin@math.tamu.edu}}}
+  \and
+  Toby~D.~Young%
+  \thanks{Institute of Fundamental Technological Research of the Polish Academy of Sciences, ul. Pawi\'nskiego 5b, Warsaw 02-106, Poland,
+    \href{mailto:tyoung@ippt.pan.pl}{\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.1.
+\end{abstract}
+
+
+\section{Overview}
+
+\dealii{} version 8.1 was released December 24, 2013. 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.1. \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/}.
+
+
+Version 8.1 contains,  along
+with the usual set of bug fixes and documentation updates, the following noteworthy changes:
+\begin{itemize}
+\item Three new tutorial programs (see Section \ref{sec:step26}, \ref{sec:step42}, and \ref{sec:step51});
+\item Improved support for multicore parallelization on shared memory machines (Section \ref{sec:threading});
+\item The testsuite was ported to CTest/CDash (Section \ref{sec:testsuite});
+\item Post-install tests (see Section \ref{sec:installtests}).
+\end{itemize}
+Information on how to cite \dealii{} is provided in Section \ref{sec:cite}.
+
+
+\section{Changes to the governance structure}
+
+\dealii{} has been a project with contributors from around the world for a
+long time already. However, there has never been a formalized way to recognize
+contributions other than by listing the authors in a file that is part of
+the documentation.
+
+Starting with this release, \dealii{} now has a more open governance structure
+that we hope will more accurately reflect the extensive contributions of many
+participants in this project: in addition to listing all contributors as
+before, \dealii{} is now governed by a council of \textit{developers} --
+currently Luca Heltai, Martin Kronbichler, Matthias Maier, Bruno Turcksin, and
+Toby Young -- along with \textit{principal developers} who are responsible for
+running the technical infrastructure -- currently Wolfgang
+Bangerth, Timo Heister, and Guido Kanschat. It is our hope that this new
+structure is a more adequate representation of many contributors' long-term
+effort for this project. It is our intention that this structure remains open
+to others and that this serves as motivation for others to participate!
+
+\section{Changes to the library}
+
+\subsection{A new tutorial: Elasto-plastic contact problem (step-42)}
+\label{sec:step42}
+
+The first of the three new tutorial programs, step-42 (written by Jörg Frohne,
+Timo Heister, and Wolfgang Bangerth), shows how to solve an elasto-plastic
+contact problem. The program is an extension of step-41 to a much more complex
+equation (nonlinear elasto-plasticity) and also demonstrates how to compute
+solutions for such problems in parallel.
+
+The example shows how to solve a 3d, non-linear problem with a semi-smooth
+Newton method coupled with an active set strategy on adaptively refined meshes
+and scales well up to at least 1024 cores and 1 billion unknowns. An
+accompanying paper \cite{FHB13} explains the details and design of the
+algorithms behind this tutorial. It also shows scalability results for
+parallel computations.
+
+\subsection{A new tutorial: A hybridizable discontinuous Galerkin method (step-51)}
+\label{sec:step51}
+
+Step-51, written by Martin Kronbichler and Scott Miller, shows how to
+implement a hybridizable discontinuous Galerkin method (HDG) in \dealii{}. An
+HDG method is a special DG method which features a reduced number of
+globally coupled degrees of freedom compared to other DG schemes for implicit
+systems. This is achieved by
+introducing a new variable for the numerical trace, i.e., the operator that
+connects the solution of the subproblems on each element. The linear system to
+be solved globally then only consists of degrees of freedom in the trace variable,
+whereas the DG contributions interior to cells are eliminated during assembly by static
+condensation. The tutorial program shows how to implement this concept in \dealii{},
+where the class \texttt{FE\_FaceQ} represents the trace element for the usual
+DG element \texttt{FE\_DGQ} applied to the scalar convection-diffusion
+equation written as a first order system. 
+
+The tutorial program includes a few
+practical aspects of an HDG implementation, namely the realization of
+superconvergent post-processing and the utilization of the parallel character
+of the assembly and static condensation process with the \texttt{WorkStream}
+class. The tutorial also contains an extensive discussion of efficiency of
+this approach compared to standard continuous finite elements. The results
+show that the HDG method is competitive to continuous elements for medium
+order between about 3 and 6 in terms of solution time on diffusion-dominated
+systems. For convection-dominated problems, the method inherits the superior
+stability properties of low to medium order DG methods, which allows for good
+solution quality already on coarser meshes.
+
+Furthermore, a new element \texttt{FE\_FaceP} has been added to the \dealii{}
+library that can used for hybridization of the discontinuous elements of
+complete degree $p$, \texttt{FE\_DGP}. \texttt{FE\_DGP} and \texttt{FE\_FaceP}
+of degree $p$ have fewer degrees of freedom per cell compared to the elements
+\texttt{FE\_DGQ} and \texttt{FE\_FaceQ} of tensor product degree $p$.
+
+
+\subsection{A new tutorial: An adaptive mesh solver for the heat
+  equation (step-26)}
+\label{sec:step26}
+
+\dealii{} has long had tutorial programs for the wave equation, but none for
+the conceptually simpler heat equation. Furthermore, there was no simple
+tutorial program that showed how one can solve time dependent problems where
+the mesh changes every few time steps.
+
+The new step-26 tutorial program closes this gap. It is a rather simple
+program -- the program has just 151 lines with a semicolon -- and as such
+serves as a gentle introduction to these topics.
+
+
+\subsection{Improved WorkStream implementation}
+\label{sec:threading}
+The \texttt{WorkStream} namespace has already in the past contained the
+functions that are used to parallelize (using multithreading) many of the loops over all cells or
+faces that one encounters in finite element computations. Extensive
+documentation on how to use this class and the rationale behind it is provided
+in the ``Parallel computing with multiple processors accessing shared memory''
+module.
+
+This class has been significantly revamped in an effort to improve scaling to
+large multicore workstations. In particular, we now use thread-local variables
+in some places to improve cache performance. In addition, the namespace has
+obtained another implementation of \texttt{WorkStream::run} that does not just
+take a sequence of cells (or other objects to work on), but such a sequence
+that has been colored in a way to indicate which cells will conflict with
+others when writing into the global matrix, right hand side, or other
+object. Using this function instead of the previously existing one obviously
+requires changes to existing code bases, but can provide significant speedups
+in some circumstances when using significant numbers of threads (say, above 16
+or 32). The details of these algorithms have been documented in \cite{TKB13}.
+
+As part of the changes necessary to allow this, \dealii{} has also gained a
+set of generic functions that provide graph coloring algorithms. The are
+located in namespace \texttt{GraphColoring}.
+
+
+
+\subsection{Testsuite ported to CTest/CDash}
+\label{sec:testsuite}
+
+With this minor release \dealii{} is now fully ported to \cmake. The last
+remaining step was the migration of the testsuite to \textsc{CTest} as test
+driver and \textsc{CDash} as web front end. This involved porting over 3000
+tests to a new directory structure. Furthermore, the regression and build
+tests are no longer independent testsuites, but a combined one; and tests
+are by default run against both the debug and release versions of the
+library.
+
+The port of the testsuite was also motivated by the fact that, in order to
+provide official support for at least three major compiler brands
+(\textsc{GCC}, \textsc{Clang} and \textsc{ICC}) on multiple platforms such
+as Linux, MAC OSX and BSD, it is highly necessary to have regular
+regression tests available for these platforms. Hence, in addition to the
+regression tester already present (whose main purpose is to test every
+single subversion revision) dedicated nightly build tests for a big variety
+of above compilers and platforms (and external dependencies) have been set
+up.
+
+The testsuite is set up in the build directory via \texttt{make
+setup\_tests}. After that, tests can be run by invoking the test driver
+\texttt{ctest} with suitable options. In order to submit test results a
+\texttt{CTest} script is available that can be passed as an option to the
+driver, e.\,g. by \texttt{ctest -S ../tests/run\_testsuite.cmake} (or if
+just the build tests should be run, \texttt{\dots/run\_buildtest.cmake}).
+The scripts run a configure, build and test stage as necessary and submit
+the results to a \texttt{CDash} instance. Public, anonymous submission
+of test results to the \textsc{CDash} site is possible in order to
+easily upload and share regression test results.
+
+\subsection{Post-install tests}
+\label{sec:installtests}
+
+Every installation now ships with a small collection of tests that can be executed by calling \texttt{make test} in the build directory. This is used to identify common configuration problems, bugs in external dependencies, problems in the MPI wrappers, and to check the correct setup of some of the external packages.
+Running the tests is now part of the installation instructions and we especially recommend to run the tests on new machines.
+
+\subsection{Other Changes}\label{sec:other}
+
+The \dealii{} release 8.1 also includes improvements in the following areas:
+
+\begin{itemize}
+\item The handling of periodic boundary conditions has been improved and extended
+  to distributed triangulations.
+\item \dealii{}'s output capabilities have been extended in several
+  aspects. In particular, it is now possible to merge output from vectors
+  belonging to several different \texttt{DoFHandler} objects (a common case
+  when solving multiphysics problems) within a single file instead of forcing
+  the user to join the data in one \texttt{DoFHandler} for output.
+\item Higher order polynomial boundary descriptions now use support points of
+  the Gauss-Lobatto quadrature formula instead of equidistant ones, which
+  gives much better stability at high orders and more accuracy for some curved
+  boundary shapes due to superconvergence effects.
+\end{itemize}
+
+
+
+\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 as follows:
+\begin{verbatim}
+@article{dealII81,
+  title = {The {\tt deal.{I}{I}} 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},
+}
+\end{verbatim}
+
+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}.
+\end{itemize}
+
+
+
+
+\nocite{BangerthKanschat1999}
+
+\section{Acknowledgements}
+
+\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: 
+  Fahad Alrashed,
+  Daniel Arndt,
+  Juan Carlos Araujo Cabarcas,
+  Krzyszof Bzowski,
+  Francesco Cattoglio,
+  Denis Davydov,
+  David Emerson,
+  Armin Ghajar Jazi,
+  Eric Heien,
+  Tobin Isaac, 
+  Oleh Krehel,
+  Craig Michoski,
+  Scott Miller,
+  Jean-Paul Pelteret,
+  Andreas Putz,
+  Mayank Sabharwal,
+  Martin Steigemann.
+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; 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 through
+Award No.~KUS-C1-016-04, made by King Abdullah University of Science
+and Technology (KAUST). 
+
+L.~Heltai was partially supported by the project OpenSHIP,
+``Simulazioni di fluidodinamica computazionale (CFD) di alta qualit\`a
+per le previsioni di prestazioni idrodinamiche del sistema
+carena-elica in ambiente OpenSOURCE'', financed by Regione FVG - POR
+FESR 2007–2013 Obiettivo competitivit\`a regionale e occupazione.
+
+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 through Award No. KUS-
+C1-016-04, made by King Abdullah University of Science and Technology (KAUST).
+
+The Interdisciplinary Center for Scientific Computing (IWR) at Heidelberg University has provided 
+hosting services for the deal.II web page and the SVN archive.
+%\marginpar{Everyone's funding, please}
+
+
+
+
+
+
+\bibliography{deal81}{}
+\bibliographystyle{plain}
+
+\end{document}
diff --git a/8.1/siam.bst b/8.1/siam.bst
new file mode 100644 (file)
index 0000000..7710f12
--- /dev/null
@@ -0,0 +1,1040 @@
+\r
+% ====================== SIAM.BST ================================ % \r
+% SIAM bibliography style (24-Jan-88 version)\r
+%    numeric labels, alphabetic order, Mathematical Reviews abbreviations,\r
+%    names in \sc, titles in italics, book titles mixed upper-lower and\r
+%article\r
+%    titles lowercase, commas separate all fields except before "notes".\r
+%\r
+%   History\r
+%    1/30/86    (HWT)    Original version, by Howard Trickey.\r
+%    6/15/87    (HWT)    Fix format.editors---Martin Costabel.\r
+%    1/24/88    (OP&HWT) Updated for BibTeX version 0.99a, Oren Patashnik;\r
+%            THIS `siam' VERSION DOES NOT WORK WITH BIBTEX 0.98i.\r
+\r
+ENTRY\r
+  { address\r
+    author\r
+    booktitle\r
+    chapter\r
+    edition\r
+    editor\r
+    howpublished\r
+    institution\r
+    journal\r
+    key\r
+    month\r
+    note\r
+    number\r
+    organization\r
+    pages\r
+    publisher\r
+    school\r
+    series\r
+    title\r
+    type\r
+    volume\r
+    year\r
+  }\r
+  {}\r
+  { label }\r
+\r
+INTEGERS { output.state before.all mid.sentence after.block }\r
+\r
+FUNCTION {init.state.consts}\r
+{ #0 'before.all :=\r
+  #1 'mid.sentence :=\r
+  #2 'after.block :=\r
+}\r
+\r
+STRINGS { s t }\r
+\r
+FUNCTION {output.nonnull}\r
+{ 's :=\r
+  output.state mid.sentence =\r
+    { ", " * write$ }\r
+    { output.state after.block =\r
+    { add.period$ write$\r
+      newline$\r
+      "\newblock " write$\r
+    }\r
+    'write$\r
+      if$\r
+      mid.sentence 'output.state :=\r
+    }\r
+  if$\r
+  s\r
+}\r
+\r
+FUNCTION {output}\r
+{ duplicate$ empty$\r
+    'pop$\r
+    'output.nonnull\r
+  if$\r
+}\r
+\r
+FUNCTION {output.check}\r
+{ 't :=\r
+  duplicate$ empty$\r
+    { pop$ "empty " t * " in " * cite$ * warning$ }\r
+    'output.nonnull\r
+  if$\r
+}\r
+\r
+FUNCTION {output.bibitem}\r
+{ newline$\r
+  "\bibitem{" write$\r
+  cite$ write$\r
+  "}" write$\r
+  newline$\r
+  ""\r
+  before.all 'output.state :=\r
+}\r
+\r
+FUNCTION {fin.entry}\r
+{ add.period$\r
+  write$\r
+  newline$\r
+}\r
+\r
+FUNCTION {new.block}\r
+{ output.state before.all =\r
+    'skip$\r
+    { after.block 'output.state := }\r
+  if$\r
+}\r
+\r
+FUNCTION {not}\r
+{   { #0 }\r
+    { #1 }\r
+  if$\r
+}\r
+\r
+FUNCTION {and}\r
+{   'skip$\r
+    { pop$ #0 }\r
+  if$\r
+}\r
+\r
+FUNCTION {or}\r
+{   { pop$ #1 }\r
+    'skip$\r
+  if$\r
+}\r
+\r
+FUNCTION {new.block.checka}\r
+{ empty$\r
+    'skip$\r
+    'new.block\r
+  if$\r
+}\r
+\r
+FUNCTION {field.or.null}\r
+{ duplicate$ empty$\r
+    { pop$ "" }\r
+    'skip$\r
+  if$\r
+}\r
+\r
+FUNCTION {emphasize}\r
+{ duplicate$ empty$\r
+    { pop$ "" }\r
+    { "{\em " swap$ * "}" * }\r
+  if$\r
+}\r
+\r
+FUNCTION {scapify}\r
+{ duplicate$ empty$\r
+    { pop$ "" }\r
+    { "{\sc " swap$ * "}" * }\r
+  if$\r
+}\r
+\r
+INTEGERS { nameptr namesleft numnames }\r
+\r
+FUNCTION {format.names}\r
+{ 's :=\r
+  #1 'nameptr :=\r
+  s num.names$ 'numnames :=\r
+  numnames 'namesleft :=\r
+    { namesleft #0 > }\r
+%    { s nameptr "{f.~}{vv~}{ll}{, jj}" format.name$ 't :=\r
+    { s nameptr "{ff~}{vv~}{ll}{, jj}" format.name$ 't :=\r
+      nameptr #1 >\r
+    { namesleft #1 >\r
+        { ", " * t * }\r
+        { numnames #2 >\r
+        { "," * }\r
+        'skip$\r
+          if$\r
+          t "others" =\r
+        { " et~al." * }\r
+        { " and " * t * }\r
+          if$\r
+        }\r
+      if$\r
+    }\r
+    't\r
+      if$\r
+      nameptr #1 + 'nameptr :=\r
+      namesleft #1 - 'namesleft :=\r
+    }\r
+  while$\r
+}\r
+\r
+STRINGS { last.authors }\r
+\r
+FUNCTION {init.last.authors}\r
+{ "" 'last.authors :=\r
+}\r
+\r
+FUNCTION {format.authors}\r
+{ author empty$\r
+    { "" 'last.authors :=\r
+      ""\r
+    }\r
+    { author last.authors =\r
+        { "\leavevmode\vrule height 2pt depth -1.6pt width 23pt" }\r
+        { author format.names scapify }\r
+      if$\r
+      author 'last.authors :=\r
+    }\r
+  if$\r
+}\r
+\r
+FUNCTION {format.organization}\r
+{ organization empty$\r
+    { "" 'last.authors :=\r
+      ""\r
+    }\r
+    { organization last.authors =\r
+        { "\leavevmode\vrule height 2pt depth -1.6pt width 23pt" }\r
+        { organization scapify }\r
+      if$\r
+      organization 'last.authors :=\r
+    }\r
+  if$\r
+}\r
+\r
+FUNCTION {format.editors}\r
+{ editor empty$\r
+    { "" 'last.authors :=\r
+      ""\r
+    }\r
+    { editor last.authors =\r
+        { "\leavevmode\vrule height 2pt depth -1.6pt width 23pt" }\r
+    { editor format.names scapify }\r
+      if$\r
+      editor num.names$ #1 >\r
+        { ", eds." * }\r
+    { ", ed." * }\r
+      if$\r
+      editor 'last.authors :=\r
+    }\r
+  if$\r
+}\r
+\r
+FUNCTION {format.ineditors}\r
+{ editor empty$\r
+    { "" }\r
+    { editor format.names\r
+      editor num.names$ #1 >\r
+    { ", eds." * }\r
+    { ", ed." * }\r
+      if$\r
+    }\r
+  if$\r
+}\r
+\r
+FUNCTION {format.title}\r
+{ title empty$\r
+    { "" }\r
+    { title "t" change.case$ emphasize }\r
+  if$\r
+}\r
+\r
+FUNCTION {n.dashify}\r
+{ 't :=\r
+  ""\r
+    { t empty$ not }\r
+    { t #1 #1 substring$ "-" =\r
+    { t #1 #2 substring$ "--" = not\r
+        { "--" *\r
+          t #2 global.max$ substring$ 't :=\r
+        }\r
+        {   { t #1 #1 substring$ "-" = }\r
+        { "-" *\r
+          t #2 global.max$ substring$ 't :=\r
+        }\r
+          while$\r
+        }\r
+      if$\r
+    }\r
+    { t #1 #1 substring$ *\r
+      t #2 global.max$ substring$ 't :=\r
+    }\r
+      if$\r
+    }\r
+  while$\r
+}\r
+\r
+FUNCTION {format.date}\r
+{ year empty$\r
+    { month empty$\r
+    { "" }\r
+    { "there's a month but no year in " cite$ * warning$\r
+      month\r
+    }\r
+      if$\r
+    }\r
+    { month empty$\r
+    'year\r
+    { month " " * year * }\r
+      if$\r
+    }\r
+  if$\r
+}\r
+\r
+FUNCTION {format.btitle}\r
+{ title emphasize\r
+}\r
+\r
+FUNCTION {tie.or.space.connect}\r
+{ duplicate$ text.length$ #3 <\r
+    { "~" }\r
+    { " " }\r
+  if$\r
+  swap$ * *\r
+}\r
+\r
+FUNCTION {either.or.check}\r
+{ empty$\r
+    'pop$\r
+    { "can't use both " swap$ * " fields in " * cite$ * warning$ }\r
+  if$\r
+}\r
+\r
+FUNCTION {format.bvolume}\r
+{ volume empty$\r
+    { "" }\r
+    { "vol.~" volume *\r
+      series empty$\r
+    'skip$\r
+    { " of " * series * }\r
+      if$\r
+      "volume and number" number either.or.check\r
+    }\r
+  if$\r
+}\r
+\r
+FUNCTION {format.number.series}\r
+{ volume empty$\r
+    { number empty$\r
+    { series field.or.null }\r
+    { "no.~" number *\r
+      series empty$\r
+        { "there's a number but no series in " cite$ * warning$ }\r
+        { " in " * series * }\r
+      if$\r
+    }\r
+      if$\r
+    }\r
+    { "" }\r
+  if$\r
+}\r
+\r
+FUNCTION {format.edition}\r
+{ edition empty$\r
+    { "" }\r
+    { edition "l" change.case$ "~ed." * }\r
+  if$\r
+}\r
+\r
+INTEGERS { multiresult }\r
+\r
+FUNCTION {multi.page.check}\r
+{ 't :=\r
+  #0 'multiresult :=\r
+    { multiresult not\r
+      t empty$ not\r
+      and\r
+    }\r
+    { t #1 #1 substring$\r
+      duplicate$ "-" =\r
+      swap$ duplicate$ "," =\r
+      swap$ "+" =\r
+      or or\r
+    { #1 'multiresult := }\r
+    { t #2 global.max$ substring$ 't := }\r
+      if$\r
+    }\r
+  while$\r
+  multiresult\r
+}\r
+\r
+FUNCTION {format.pages}\r
+{ pages empty$\r
+    { "" }\r
+    { pages multi.page.check\r
+    { "pp.~" pages n.dashify * }\r
+    { "p.~" pages * }\r
+      if$\r
+    }\r
+  if$\r
+}\r
+\r
+FUNCTION {format.vol.year}\r
+{ volume field.or.null\r
+  year empty$\r
+    { "empty year in " cite$ * warning$ }\r
+    { " (" year * ")" * * }\r
+  if$\r
+}\r
+\r
+FUNCTION {format.chapter.pages}\r
+{ chapter empty$\r
+    'format.pages\r
+    { type empty$\r
+    { "ch.~" chapter * }\r
+    { type "l" change.case$ chapter tie.or.space.connect }\r
+      if$\r
+      pages empty$\r
+    'skip$\r
+    { ", " * format.pages * }\r
+      if$\r
+    }\r
+  if$\r
+}\r
+\r
+FUNCTION {format.in.ed.booktitle}\r
+{ booktitle empty$\r
+    { "" }\r
+    { editor empty$\r
+    { "in " booktitle * }\r
+    { "in " booktitle * ", " * format.ineditors * }\r
+      if$\r
+    }\r
+  if$\r
+}\r
+\r
+FUNCTION {empty.misc.check}\r
+{ author empty$ title empty$ howpublished empty$\r
+  month empty$ year empty$ note empty$\r
+  and and and and and\r
+  key empty$ not and\r
+    { "all relevant fields are empty in " cite$ * warning$ }\r
+    'skip$\r
+  if$\r
+}\r
+\r
+FUNCTION {format.thesis.type}\r
+{ type empty$\r
+    'skip$\r
+    { pop$\r
+      type "l" change.case$\r
+    }\r
+  if$\r
+}\r
+\r
+FUNCTION {format.tr.number}\r
+{ type empty$\r
+    { "Tech. Report" }\r
+    'type\r
+  if$\r
+  number empty$\r
+    { "l" change.case$ }\r
+    { number tie.or.space.connect }\r
+  if$\r
+}\r
+\r
+FUNCTION {format.article.crossref}\r
+{ key empty$\r
+    { journal empty$\r
+    { "need key or journal for " cite$ * " to crossref " * crossref *\r
+      warning$\r
+      ""\r
+    }\r
+    { "in " journal * }\r
+      if$\r
+    }\r
+    { "in " key * }\r
+  if$\r
+  " \cite{" * crossref * "}" *\r
+}\r
+\r
+FUNCTION {format.crossref.editor}\r
+{ editor #1 "{vv~}{ll}" format.name$\r
+  editor num.names$ duplicate$\r
+  #2 >\r
+    { pop$ " et~al." * }\r
+    { #2 <\r
+    'skip$\r
+    { editor #2 "{ff }{vv }{ll}{ jj}" format.name$ "others" =\r
+        { " et~al." * }\r
+        { " and " * editor #2 "{vv~}{ll}" format.name$ * }\r
+      if$\r
+    }\r
+      if$\r
+    }\r
+  if$\r
+}\r
+\r
+FUNCTION {format.book.crossref}\r
+{ volume empty$\r
+    { "empty volume in " cite$ * "'s crossref of " * crossref * warning$\r
+      "in "\r
+    }\r
+    { "vol.~" volume *\r
+      " of " *\r
+    }\r
+  if$\r
+  editor empty$\r
+  editor field.or.null author field.or.null =\r
+  or\r
+    { key empty$\r
+    { series empty$\r
+        { "need editor, key, or series for " cite$ * " to crossref " *\r
+          crossref * warning$\r
+          "" *\r
+        }\r
+        { series * }\r
+      if$\r
+    }\r
+    { key * }\r
+      if$\r
+    }\r
+    { format.crossref.editor * }\r
+  if$\r
+  " \cite{" * crossref * "}" *\r
+}\r
+\r
+FUNCTION {format.incoll.inproc.crossref}\r
+{ editor empty$\r
+  editor field.or.null author field.or.null =\r
+  or\r
+    { key empty$\r
+    { booktitle empty$\r
+        { "need editor, key, or booktitle for " cite$ * " to crossref " *\r
+          crossref * warning$\r
+          ""\r
+        }\r
+        { "in " booktitle * }\r
+      if$\r
+    }\r
+    { "in " key * }\r
+      if$\r
+    }\r
+    { "in " format.crossref.editor * }\r
+  if$\r
+  " \cite{" * crossref * "}" *\r
+}\r
+\r
+FUNCTION {article}\r
+{ output.bibitem\r
+  format.authors "author" output.check\r
+  format.title "title" output.check\r
+  crossref missing$\r
+    { journal "journal" output.check\r
+      format.vol.year output\r
+    }\r
+    { format.article.crossref output.nonnull }\r
+  if$\r
+  format.pages output\r
+  new.block\r
+  note output\r
+  fin.entry\r
+}\r
+\r
+FUNCTION {book}\r
+{ output.bibitem\r
+  author empty$\r
+    { format.editors "author and editor" output.check }\r
+    { format.authors output.nonnull\r
+      crossref missing$\r
+    { "author and editor" editor either.or.check }\r
+    'skip$\r
+      if$\r
+    }\r
+  if$\r
+  format.btitle "title" output.check\r
+  crossref missing$\r
+    { format.bvolume output\r
+      format.number.series output\r
+      publisher "publisher" output.check\r
+      address output\r
+    }\r
+    { format.book.crossref output.nonnull }\r
+  if$\r
+  format.edition output\r
+  format.date "year" output.check\r
+  new.block\r
+  note output\r
+  fin.entry\r
+}\r
+\r
+FUNCTION {booklet}\r
+{ output.bibitem\r
+  format.authors output\r
+  format.title "title" output.check\r
+  howpublished new.block.checka\r
+  howpublished output\r
+  address output\r
+  format.date output\r
+  new.block\r
+  note output\r
+  fin.entry\r
+}\r
+\r
+FUNCTION {inbook}\r
+{ output.bibitem\r
+  author empty$\r
+    { format.editors "author and editor" output.check }\r
+    { format.authors output.nonnull\r
+      crossref missing$\r
+    { "author and editor" editor either.or.check }\r
+    'skip$\r
+      if$\r
+    }\r
+  if$\r
+  format.btitle "title" output.check\r
+  crossref missing$\r
+    { format.bvolume output\r
+      format.number.series output\r
+      publisher "publisher" output.check\r
+      address output\r
+    }\r
+    { format.book.crossref output.nonnull }\r
+  if$\r
+  format.edition output\r
+  format.date "year" output.check\r
+  format.chapter.pages "chapter and pages" output.check\r
+  new.block\r
+  note output\r
+  fin.entry\r
+}\r
+\r
+FUNCTION {incollection}\r
+{ output.bibitem\r
+  format.authors "author" output.check\r
+  format.title "title" output.check\r
+  crossref missing$\r
+    { format.in.ed.booktitle "booktitle" output.check\r
+      format.bvolume output\r
+      format.number.series output\r
+      publisher "publisher" output.check\r
+      address output\r
+      format.edition output\r
+      format.date "year" output.check\r
+    }\r
+    { format.incoll.inproc.crossref output.nonnull }\r
+  if$\r
+  format.chapter.pages output\r
+  new.block\r
+  note output\r
+  fin.entry\r
+}\r
+\r
+FUNCTION {inproceedings}\r
+{ output.bibitem\r
+  format.authors "author" output.check\r
+  format.title "title" output.check\r
+  crossref missing$\r
+    { format.in.ed.booktitle "booktitle" output.check\r
+      format.bvolume output\r
+      format.number.series output\r
+      address empty$\r
+    { organization output\r
+      publisher output\r
+      format.date "year" output.check\r
+    }\r
+    { address output.nonnull\r
+      format.date "year" output.check\r
+      organization output\r
+      publisher output\r
+    }\r
+      if$\r
+    }\r
+    { format.incoll.inproc.crossref output.nonnull }\r
+  if$\r
+  format.pages output\r
+  new.block\r
+  note output\r
+  fin.entry\r
+}\r
+\r
+FUNCTION {conference} { inproceedings }\r
+\r
+FUNCTION {manual}\r
+{ output.bibitem\r
+  author empty$\r
+    { format.organization output }\r
+    { format.authors output.nonnull }\r
+  if$\r
+  format.btitle "title" output.check\r
+  author empty$\r
+    'skip$\r
+    { organization output }\r
+  if$\r
+  address output\r
+  format.edition output\r
+  format.date output\r
+  new.block\r
+  note output\r
+  fin.entry\r
+}\r
+\r
+FUNCTION {mastersthesis}\r
+{ output.bibitem\r
+  format.authors "author" output.check\r
+  format.title "title" output.check\r
+  "master's thesis" format.thesis.type output.nonnull\r
+  school "school" output.check\r
+  address output\r
+  format.date "year" output.check\r
+  new.block\r
+  note output\r
+  fin.entry\r
+}\r
+\r
+FUNCTION {misc}\r
+{ output.bibitem\r
+  format.authors output\r
+  format.title output\r
+  howpublished new.block.checka\r
+  howpublished output\r
+  format.date output\r
+  new.block\r
+  note output\r
+  fin.entry\r
+  empty.misc.check\r
+}\r
+\r
+FUNCTION {phdthesis}\r
+{ output.bibitem\r
+  format.authors "author" output.check\r
+  format.btitle "title" output.check\r
+  "PhD thesis" format.thesis.type output.nonnull\r
+  school "school" output.check\r
+  address output\r
+  format.date "year" output.check\r
+  new.block\r
+  note output\r
+  fin.entry\r
+}\r
+\r
+FUNCTION {proceedings}\r
+{ output.bibitem\r
+  editor empty$\r
+    { format.organization output }\r
+    { format.editors output.nonnull }\r
+  if$\r
+  format.btitle "title" output.check\r
+  format.bvolume output\r
+  format.number.series output\r
+  address empty$\r
+    { editor empty$\r
+    'skip$\r
+    { organization output }\r
+      if$\r
+      publisher output\r
+      format.date "year" output.check\r
+    }\r
+    { address output.nonnull\r
+      format.date "year" output.check\r
+      editor empty$\r
+    'skip$\r
+    { organization output }\r
+      if$\r
+      publisher output\r
+    }\r
+  if$\r
+  new.block\r
+  note output\r
+  fin.entry\r
+}\r
+\r
+FUNCTION {techreport}\r
+{ output.bibitem\r
+  format.authors "author" output.check\r
+  format.title "title" output.check\r
+  format.tr.number output.nonnull\r
+  institution "institution" output.check\r
+  address output\r
+  format.date "year" output.check\r
+  new.block\r
+  note output\r
+  fin.entry\r
+}\r
+\r
+FUNCTION {unpublished}\r
+{ output.bibitem\r
+  format.authors "author" output.check\r
+  format.title "title" output.check\r
+  new.block\r
+  note "note" output.check\r
+  format.date output\r
+  fin.entry\r
+}\r
+\r
+FUNCTION {default.type} { misc }\r
+\r
+MACRO {jan} {"Jan."}\r
+\r
+MACRO {feb} {"Feb."}\r
+\r
+MACRO {mar} {"Mar."}\r
+\r
+MACRO {apr} {"Apr."}\r
+\r
+MACRO {may} {"May"}\r
+\r
+MACRO {jun} {"June"}\r
+\r
+MACRO {jul} {"July"}\r
+\r
+MACRO {aug} {"Aug."}\r
+\r
+MACRO {sep} {"Sept."}\r
+\r
+MACRO {oct} {"Oct."}\r
+\r
+MACRO {nov} {"Nov."}\r
+\r
+MACRO {dec} {"Dec."}\r
+\r
+MACRO {acmcs} {"ACM Comput. Surveys"}\r
+\r
+MACRO {acta} {"Acta Inf."}\r
+\r
+MACRO {cacm} {"Comm. ACM"}\r
+\r
+MACRO {ibmjrd} {"IBM J. Res. Dev."}\r
+\r
+MACRO {ibmsj} {"IBM Syst.~J."}\r
+\r
+MACRO {ieeese} {"IEEE Trans. Softw. Eng."}\r
+\r
+MACRO {ieeetc} {"IEEE Trans. Comput."}\r
+\r
+MACRO {ieeetcad}\r
+ {"IEEE Trans. Comput.-Aided Design Integrated Circuits"}\r
+\r
+MACRO {ipl} {"Inf. Process. Lett."}\r
+\r
+MACRO {jacm} {"J.~Assoc. Comput. Mach."}\r
+\r
+MACRO {jcss} {"J.~Comput. System Sci."}\r
+\r
+MACRO {scp} {"Sci. Comput. Programming"}\r
+\r
+MACRO {sicomp} {"SIAM J. Comput."}\r
+\r
+MACRO {tocs} {"ACM Trans. Comput. Syst."}\r
+\r
+MACRO {tods} {"ACM Trans. Database Syst."}\r
+\r
+MACRO {tog} {"ACM Trans. Gr."}\r
+\r
+MACRO {toms} {"ACM Trans. Math. Softw."}\r
+\r
+MACRO {toois} {"ACM Trans. Office Inf. Syst."}\r
+\r
+MACRO {toplas} {"ACM Trans. Prog. Lang. Syst."}\r
+\r
+MACRO {tcs} {"Theoretical Comput. Sci."}\r
+\r
+READ\r
+\r
+FUNCTION {sortify}\r
+{ purify$\r
+  "l" change.case$\r
+}\r
+\r
+INTEGERS { len }\r
+\r
+FUNCTION {chop.word}\r
+{ 's :=\r
+  'len :=\r
+  s #1 len substring$ =\r
+    { s len #1 + global.max$ substring$ }\r
+    's\r
+  if$\r
+}\r
+\r
+FUNCTION {sort.format.names}\r
+{ 's :=\r
+  #1 'nameptr :=\r
+  ""\r
+  s num.names$ 'numnames :=\r
+  numnames 'namesleft :=\r
+    { namesleft #0 > }\r
+    { nameptr #1 >\r
+    { "   " * }\r
+    'skip$\r
+      if$\r
+      s nameptr "{vv{ } }{ll{ }}{  f{ }}{  jj{ }}" format.name$ 't :=\r
+      nameptr numnames = t "others" = and\r
+    { "et al" * }\r
+    { t sortify * }\r
+      if$\r
+      nameptr #1 + 'nameptr :=\r
+      namesleft #1 - 'namesleft :=\r
+    }\r
+  while$\r
+}\r
+\r
+FUNCTION {sort.format.title}\r
+{ 't :=\r
+  "A " #2\r
+    "An " #3\r
+      "The " #4 t chop.word\r
+    chop.word\r
+  chop.word\r
+  sortify\r
+  #1 global.max$ substring$\r
+}\r
+\r
+FUNCTION {author.sort}\r
+{ author empty$\r
+    { key empty$\r
+    { "to sort, need author or key in " cite$ * warning$\r
+      ""\r
+    }\r
+    { key sortify }\r
+      if$\r
+    }\r
+    { author sort.format.names }\r
+  if$\r
+}\r
+\r
+FUNCTION {author.editor.sort}\r
+{ author empty$\r
+    { editor empty$\r
+    { key empty$\r
+        { "to sort, need author, editor, or key in " cite$ * warning$\r
+          ""\r
+        }\r
+        { key sortify }\r
+      if$\r
+    }\r
+    { editor sort.format.names }\r
+      if$\r
+    }\r
+    { author sort.format.names }\r
+  if$\r
+}\r
+\r
+FUNCTION {author.organization.sort}\r
+{ author empty$\r
+    { organization empty$\r
+    { key empty$\r
+        { "to sort, need author, organization, or key in " cite$ * warning$\r
+          ""\r
+        }\r
+        { key sortify }\r
+      if$\r
+    }\r
+    { "The " #4 organization chop.word sortify }\r
+      if$\r
+    }\r
+    { author sort.format.names }\r
+  if$\r
+}\r
+\r
+FUNCTION {editor.organization.sort}\r
+{ editor empty$\r
+    { organization empty$\r
+    { key empty$\r
+        { "to sort, need editor, organization, or key in " cite$ * warning$\r
+          ""\r
+        }\r
+        { key sortify }\r
+      if$\r
+    }\r
+    { "The " #4 organization chop.word sortify }\r
+      if$\r
+    }\r
+    { editor sort.format.names }\r
+  if$\r
+}\r
+\r
+FUNCTION {presort}\r
+{ type$ "book" =\r
+  type$ "inbook" =\r
+  or\r
+    'author.editor.sort\r
+    { type$ "proceedings" =\r
+    'editor.organization.sort\r
+    { type$ "manual" =\r
+        'author.organization.sort\r
+        'author.sort\r
+      if$\r
+    }\r
+      if$\r
+    }\r
+  if$\r
+  "    "\r
+  *\r
+  year field.or.null sortify\r
+  *\r
+  "    "\r
+  *\r
+  title field.or.null\r
+  sort.format.title\r
+  *\r
+  #1 entry.max$ substring$\r
+  'sort.key$ :=\r
+}\r
+\r
+ITERATE {presort}\r
+\r
+SORT\r
+\r
+STRINGS { longest.label }\r
+\r
+INTEGERS { number.label longest.label.width }\r
+\r
+FUNCTION {initialize.longest.label}\r
+{ "" 'longest.label :=\r
+  #1 'number.label :=\r
+  #0 'longest.label.width :=\r
+}\r
+\r
+FUNCTION {longest.label.pass}\r
+{ number.label int.to.str$ 'label :=\r
+  number.label #1 + 'number.label :=\r
+  label width$ longest.label.width >\r
+    { label 'longest.label :=\r
+      label width$ 'longest.label.width :=\r
+    }\r
+    'skip$\r
+  if$\r
+}\r
+\r
+EXECUTE {initialize.longest.label}\r
+\r
+ITERATE {longest.label.pass}\r
+\r
+FUNCTION {begin.bib}\r
+{ preamble$ empty$\r
+    'skip$\r
+    { preamble$ write$ newline$ }\r
+  if$\r
+  "\begin{thebibliography}{"  longest.label  * "}" * write$ newline$\r
+}\r
+\r
+EXECUTE {begin.bib}\r
+\r
+EXECUTE {init.state.consts}\r
+\r
+EXECUTE {init.last.authors}\r
+\r
+ITERATE {call.type$}\r
+\r
+FUNCTION {end.bib}\r
+{ newline$\r
+  "\end{thebibliography}" write$ newline$\r
+}\r
+\r
+EXECUTE {end.bib}\r
\r
diff --git a/8.1/siam10.clo b/8.1/siam10.clo
new file mode 100644 (file)
index 0000000..8232745
--- /dev/null
@@ -0,0 +1,209 @@
+%% \r
+%% This is file `siam10.clo', based on size10.clo\r
+%% Revision of siam macros for use with LaTeX 2e\r
+%% \r
+%% By Paul Duggan for the Society for Industrial and Applied\r
+%% Mathematics. \r
+%% \r
+%% February 4, 1997\r
+%%\r
+%% Version 1.1\r
+%% \r
+%% You are not allowed to change this file. \r
+%% \r
+%% You are allowed to distribute this file under the condition that \r
+%% it is distributed together with all of the files in the siam macro \r
+%% distribution. These are:\r
+%%\r
+%%  siamltex.cls (main LaTeX macro for SIAM)\r
+%%  siamltex.sty (includes siamltex.cls for compatibility mode)\r
+%%  siam10.clo   (this file)\r
+%%  subeqn.clo   (allows equation numbners with lettered subelements)\r
+%%  siam.bst     (bibliographic style file for use with BibTeX)\r
+%%  docultex.tex (documentation file)\r
+%%  lexample.tex (example file for latex macro) \r
+%% \r
+%% If you receive only some of these files from someone, complain! \r
+%% \r
+%% You are NOT ALLOWED to distribute this file alone. You are NOT \r
+%% ALLOWED to take money for the distribution or use of either this \r
+%% file or a changed version, except for a nominal charge for copying \r
+%% etc. \r
+%% \CharacterTable\r
+%%  {Upper-case    \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z\r
+%%   Lower-case    \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z\r
+%%   Digits        \0\1\2\3\4\5\6\7\8\9\r
+%%   Exclamation   \!     Double quote  \"     Hash (number) \#\r
+%%   Dollar        \$     Percent       \%     Ampersand     \&\r
+%%   Acute accent  \'     Left paren    \(     Right paren   \)\r
+%%   Asterisk      \*     Plus          \+     Comma         \,\r
+%%   Minus         \-     Point         \.     Solidus       \/\r
+%%   Colon         \:     Semicolon     \;     Less than     \<\r
+%%   Equals        \=     Greater than  \>     Question mark \?\r
+%%   Commercial at \@     Left bracket  \[     Backslash     \\\r
+%%   Right bracket \]     Circumflex    \^     Underscore    \_\r
+%%   Grave accent  \`     Left brace    \{     Vertical bar  \|\r
+%%   Right brace   \}     Tilde         \~}\r
+\ProvidesFile{siam10.clo}\r
+              [1994/10/01 v1.0\r
+      SIAM LaTeX file (size option)]\r
+\renewcommand{\normalsize}{%\r
+   \@setfontsize\normalsize\@xpt\@xiipt\r
+   \abovedisplayskip 10\p@ \@plus2\p@ \@minus5\p@\r
+   \abovedisplayshortskip \abovedisplayskip\r
+   \belowdisplayshortskip \belowdisplayskip\r
+   \belowdisplayskip \abovedisplayskip\r
+   \let\@listi\@listI}\r
+\normalsize\r
+\newcommand{\small}{%\r
+   \@setfontsize\small\@ixpt{11}%\r
+   \abovedisplayskip 8.5\p@ \@plus3\p@ \@minus4\p@\r
+   \abovedisplayshortskip \z@ \@plus2\p@\r
+   \belowdisplayshortskip 4\p@ \@plus2\p@ \@minus2\p@\r
+   \def\@listi{\leftmargin\leftmargini\r
+               \topsep 4\p@ \@plus2\p@ \@minus2\p@\r
+               \parsep 2\p@ \@plus\p@ \@minus\p@\r
+               \itemsep \parsep}%\r
+   \belowdisplayskip \abovedisplayskip\r
+}\r
+\newcommand{\footnotesize}{%\r
+   \@setfontsize\footnotesize\@viiipt{9.5}%\r
+   \abovedisplayskip 6\p@ \@plus2\p@ \@minus4\p@\r
+   \abovedisplayshortskip \abovedisplayskip\r
+   \belowdisplayshortskip \belowdisplayskip\r
+   \def\@listi{\leftmargin\leftmargini\r
+               \topsep \z@\r
+               \parsep \z@\r
+               \itemsep \parsep}%\r
+   \belowdisplayskip \abovedisplayskip\r
+}\r
+\newcommand{\scriptsize}{\@setfontsize\scriptsize\@viipt\@viiipt}\r
+\newcommand{\tiny}{\@setfontsize\tiny\@vpt\@vipt}\r
+\newcommand{\large}{\@setfontsize\large\@xiipt{14}}\r
+\newcommand{\Large}{\@setfontsize\Large\@xivpt{18}}\r
+\newcommand{\LARGE}{\@setfontsize\LARGE\@xviipt{22}}\r
+\newcommand{\huge}{\@setfontsize\huge\@xxpt{25}}\r
+\newcommand{\Huge}{\@setfontsize\Huge\@xxvpt{30}}\r
+\if@twocolumn\r
+  \setlength\parindent{1em}\r
+\else\r
+  \setlength\parindent{.25in}\r
+\fi\r
+\setlength\headheight{10\p@}\r
+\setlength\headsep   {.2in}\r
+%\setlength\topskip   {10\p@}\r
+\setlength\footskip{.2in}\r
+\if@compatibility \r
+ \setlength\maxdepth{4\p@}\r
+\else\r
+ \setlength\maxdepth{.5\topskip} \r
+\fi\r
+\setlength\@maxdepth\maxdepth\r
+\if@compatibility\r
+  \if@twocolumn\r
+    \setlength\textwidth{410\p@}\r
+  \else\r
+    \setlength\textwidth{5.125in}\r
+  \fi\r
+\else\r
+  \if@twocolumn\r
+    \setlength\textwidth{410\p@}\r
+  \else\r
+    \setlength\textwidth{5.125in}\r
+  \fi\r
+\fi\r
+%\if@compatibility\else\r
+%  \@settopoint\textwidth\r
+%\fi\r
+\if@compatibility\r
+  \setlength\textheight{8.25in}\r
+\else\r
+  \setlength\textheight{8.25in}\r
+\fi\r
+%\addtolength\textheight{\topskip}\r
+\if@compatibility\r
+  \if@twoside\r
+%     \setlength\oddsidemargin   {.5in}\r
+%     \setlength\evensidemargin  {.5in}\r
+     \setlength\marginparwidth {1.25in}\r
+  \else\r
+%     \setlength\oddsidemargin   {.5in}\r
+%     \setlength\evensidemargin  {.5in}\r
+     \setlength\marginparwidth  {1.25in}\r
+  \fi\r
+  \if@twocolumn\r
+     \setlength\oddsidemargin  {30\p@}\r
+     \setlength\evensidemargin {30\p@}\r
+     \setlength\marginparwidth {48\p@}\r
+  \fi\r
+\else\r
+  \if@twoside\r
+%     \setlength\oddsidemargin   {.5in}\r
+%     \setlength\evensidemargin  {.5in}\r
+     \setlength\marginparwidth {1.25in}\r
+  \else\r
+%     \setlength\oddsidemargin   {.5in}\r
+%     \setlength\evensidemargin  {.5in}\r
+     \setlength\marginparwidth {1.25in}\r
+  \fi\r
+  \@settopoint\oddsidemargin\r
+  \@settopoint\marginparwidth\r
+\fi\r
+\if@twocolumn\r
+  \setlength\marginparsep {10\p@}\r
+\else\r
+  \setlength\marginparsep{11\p@}\r
+\fi\r
+\setlength\marginparpush{5\p@}\r
+\if@compatibility\r
+  \setlength\topmargin{\z@}\r
+\else\r
+\setlength\topmargin {\z@}\r
+%  \@settopoint\topmargin\r
+\fi\r
+\r
+\setlength\footnotesep{6.65\p@}\r
+\skip\footins 13\p@ \@plus 4\p@ \@minus 2\p@\r
+\setlength\floatsep    {12\p@ \@plus 2\p@ \@minus 2\p@}\r
+\setlength\textfloatsep{20\p@ \@plus 2\p@ \@minus 4\p@}\r
+\setlength\intextsep   {12\p@ \@plus 2\p@ \@minus 2\p@}\r
+\setlength\dblfloatsep    {12\p@ \@plus 2\p@ \@minus 2\p@}\r
+\setlength\dbltextfloatsep{20\p@ \@plus 2\p@ \@minus 4\p@}\r
+\setlength\@fptop{0\p@ \@plus 1fil}\r
+\setlength\@fpsep{8\p@ \@plus 2fil}\r
+\setlength\@fpbot{0\p@ \@plus 1fil}\r
+\setlength\@dblfptop{0\p@ \@plus 1fil}\r
+\setlength\@dblfpsep{8\p@ \@plus 2fil}\r
+\setlength\@dblfpbot{0\p@ \@plus 1fil}\r
+\setlength\partopsep{\z@}\r
+\def\@listI{\leftmargin\leftmargini\r
+            \parsep \z@\r
+            \topsep \z@\r
+            \itemsep \parsep}\r
+\let\@listi\@listI\r
+\@listi\r
+\def\@listii {\leftmargin\leftmarginii\r
+              \labelwidth\leftmarginii\r
+              \advance\labelwidth-\labelsep\r
+              \topsep    \z@\r
+              \parsep    \z@\r
+              \itemsep   \parsep}\r
+\def\@listiii{\leftmargin\leftmarginiii\r
+              \labelwidth\leftmarginiii\r
+              \advance\labelwidth-\labelsep\r
+              \topsep    \z@\r
+              \parsep    \z@\r
+              \partopsep \z@\r
+              \itemsep   \topsep}\r
+\def\@listiv {\leftmargin\leftmarginiv\r
+              \labelwidth\leftmarginiv\r
+              \advance\labelwidth-\labelsep}\r
+\def\@listv  {\leftmargin\leftmarginv\r
+              \labelwidth\leftmarginv\r
+              \advance\labelwidth-\labelsep}\r
+\def\@listvi {\leftmargin\leftmarginvi\r
+              \labelwidth\leftmarginvi\r
+              \advance\labelwidth-\labelsep}\r
+\endinput\r
+%% \r
+%% End of file `siam10.clo'.\r
diff --git a/8.1/siamltex.cls b/8.1/siamltex.cls
new file mode 100644 (file)
index 0000000..fedf3e8
--- /dev/null
@@ -0,0 +1,778 @@
+%%\r
+%% This is file `siamltex.cls', based on article.cls\r
+%% Revision of siam macros for use with LaTeX 2e\r
+%%\r
+%% By Paul Duggan for the Society for Industrial and Applied\r
+%% Mathematics.\r
+%%\r
+%% November 13, 1996\r
+%%\r
+%% Version 1.2.1\r
+%%\r
+%% You are not allowed to change this file.\r
+%%\r
+%% You are allowed to distribute this file under the condition that\r
+%% it is distributed together with all of the files in the siam macro\r
+%% distribution. These are:\r
+%%\r
+%%  siamltex.cls (this file)\r
+%%  siamltex.sty (includes siamltex.cls for compatibility mode)\r
+%%  siam10.clo   (size option for 10pt papers)\r
+%%  subeqn.clo   (allows equation numbners with lettered subelements)\r
+%%  siam.bst     (bibliographic style file for BibTeX)\r
+%%  docultex.tex (documentation file)\r
+%%  lexample.tex (example file for latex macro)\r
+%%\r
+%% If you receive only some of these files from someone, complain!\r
+%%\r
+%% You are NOT ALLOWED to distribute this file alone. You are NOT\r
+%% ALLOWED to take money for the distribution or use of either this\r
+%% file or a changed version, except for a nominal charge for copying\r
+%% etc.\r
+%% \CharacterTable\r
+%%  {Upper-case    \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z\r
+%%   Lower-case    \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z\r
+%%   Digits        \0\1\2\3\4\5\6\7\8\9\r
+%%   Exclamation   \!     Double quote  \"     Hash (number) \#\r
+%%   Dollar        \$     Percent       \%     Ampersand     \&\r
+%%   Acute accent  \'     Left paren    \(     Right paren   \)\r
+%%   Asterisk      \*     Plus          \+     Comma         \,\r
+%%   Minus         \-     Point         \.     Solidus       \/\r
+%%   Colon         \:     Semicolon     \;     Less than     \<\r
+%%   Equals        \=     Greater than  \>     Question mark \?\r
+%%   Commercial at \@     Left bracket  \[     Backslash     \\\r
+%%   Right bracket \]     Circumflex    \^     Underscore    \_\r
+%%   Grave accent  \`     Left brace    \{     Vertical bar  \|\r
+%%   Right brace   \}     Tilde         \~}\r
+\NeedsTeXFormat{LaTeX2e}[1995/06/01]\r
+\ProvidesClass{siamltex}[1996/10/11 v1.2 LaTeX document class]\r
+\newcommand\@ptsize{}\r
+\newif\if@restonecol\r
+\newif\if@titlepage\r
+\@titlepagefalse\r
+\newif\if@oneeqnum\r
+\@oneeqnumfalse\r
+\newif\if@onetabnum\r
+\@onetabnumfalse\r
+\newif\if@onefignum\r
+\@onefignumfalse\r
+\newif\if@onethmnum\r
+\@onethmnumfalse\r
+%_%_%_%_%\r
+\newif\if@translated\r
+\@translatedfalse\r
+%_%_%_%_%\r
+%\newif\if@openbib\r
+%\@openbibfalse\r
+\DeclareOption{a4paper}\r
+   {\setlength\paperheight {297mm}%\r
+    \setlength\paperwidth  {210mm}}\r
+\DeclareOption{a5paper}\r
+   {\setlength\paperheight {210mm}%\r
+    \setlength\paperwidth  {148mm}}\r
+\DeclareOption{b5paper}\r
+   {\setlength\paperheight {250mm}%\r
+    \setlength\paperwidth  {176mm}}\r
+\DeclareOption{letterpaper}\r
+   {\setlength\paperheight {11in}%\r
+    \setlength\paperwidth  {8.5in}}\r
+\DeclareOption{legalpaper}\r
+   {\setlength\paperheight {14in}%\r
+    \setlength\paperwidth  {8.5in}}\r
+\DeclareOption{executivepaper}\r
+   {\setlength\paperheight {10.5in}%\r
+    \setlength\paperwidth  {7.25in}}\r
+\DeclareOption{landscape}\r
+   {\setlength\@tempdima   {\paperheight}%\r
+    \setlength\paperheight {\paperwidth}%\r
+    \setlength\paperwidth  {\@tempdima}}\r
+\DeclareOption{10pt}{\renewcommand\@ptsize{0}}\r
+\DeclareOption{11pt}{\renewcommand\@ptsize{1}}\r
+\DeclareOption{12pt}{\renewcommand\@ptsize{2}}\r
+\DeclareOption{twoside}{\@twosidetrue  \@mparswitchtrue}\r
+\DeclareOption{draft}{\setlength\overfullrule{5pt}}\r
+\DeclareOption{final}{\setlength\overfullrule{0pt}}\r
+\DeclareOption{notitlepage}{\@titlepagefalse}\r
+\DeclareOption{onecolumn}{\@twocolumnfalse}\r
+\DeclareOption{twocolumn}{\@twocolumntrue}\r
+\DeclareOption{leqno}{\input{leqno.clo}}\r
+\DeclareOption{subeqn}{\input{subeqn.clo}}\r
+\DeclareOption{oneeqnum}{\@oneeqnumtrue} % added 7.19.96\r
+\DeclareOption{onetabnum}{\@onetabnumtrue} % added 7.19.96\r
+\DeclareOption{onefignum}{\@onefignumtrue} % added 7.19.96\r
+\DeclareOption{onethmnum}{\@onethmnumtrue} % added 7.29.96\r
+\DeclareOption{translated}{\@translatedtrue} % jan 7 2004\r
+%\DeclareOption{openbib}{\@openbibtrue}\r
+\ExecuteOptions{letterpaper,10pt,twoside,onecolumn,leqno,draft,notitlepage}\r
+\ProcessOptions\r
+\input{siam1\@ptsize.clo}\r
+\setlength\lineskip{1\p@}\r
+\setlength\normallineskip{1\p@}\r
+\renewcommand\baselinestretch{}\r
+\setlength\parskip{0\p@ \@plus \p@}\r
+\@lowpenalty   51\r
+\@medpenalty  151\r
+\@highpenalty 301\r
+\setcounter{topnumber}{2}\r
+\renewcommand\topfraction{.9}\r
+\setcounter{bottomnumber}{1}\r
+\renewcommand\bottomfraction{.1}\r
+\setcounter{totalnumber}{3}\r
+\renewcommand\textfraction{.1}\r
+\renewcommand\floatpagefraction{.91}\r
+\setcounter{dbltopnumber}{2}\r
+\renewcommand\dbltopfraction{.7}\r
+\renewcommand\dblfloatpagefraction{.5}\r
+\renewcommand{\ps@plain}{\let\@mkboth\@gobbletwo%\r
+  \renewcommand{\@oddhead}{}%\r
+  \renewcommand{\@evenhead}{}%\r
+  \renewcommand{\@evenfoot}{\hfil\footnotesize\textrm{\thepage}\hfil}%\r
+  \renewcommand{\@oddfoot}{\@evenfoot}}\r
+\r
+    \def\ps@headings{%\r
+      \let\@oddfoot\@empty\let\@evenfoot\@empty\r
+      \def\@evenhead{\rlap{\thepage}\hfil\upshape\footnotesize\leftmark\hfil}%          %!\r
+      \def\@oddhead{\hbox{}\hfil{\upshape\footnotesize\rightmark}\hfil\llap{\thepage}}% %!\r
+      \let\@mkboth\markboth\r
+      \def\sectionmark##1{%\r
+        \markboth {\uppercase{\ifnum \c@secnumdepth >\z@\r
+            \thesection.\hskip 1em\relax\fi\r
+            ##1}}{}}%\r
+      \def\subsectionmark##1{%\r
+        \markright {\ifnum \c@secnumdepth >\@ne\r
+            \thesubsection\hskip 1em\relax \fi\r
+            ##1}}}\r
+\r
+\def\ps@myheadings{%\r
+    \let\@oddfoot\@empty\let\@evenfoot\@empty\r
+    \def\@evenhead{\rlap{\thepage}\hfil\upshape\footnotesize\leftmark\hfil}%          %!\r
+    \def\@oddhead{\hbox{}\hfil{\upshape\footnotesize\rightmark}\hfil\llap{\thepage}}% %!\r
+    \let\@mkboth\@gobbletwo\r
+    \let\sectionmark\@gobble\r
+    \let\subsectionmark\@gobble\r
+    }\r
+\r
+\r
+\newcommand\maketitle{\par\r
+  \begingroup\r
+    \renewcommand{\thefootnote}{\fnsymbol{footnote}}%\r
+    \def\@makefnmark{\hbox to\z@{$\m@th^{\@thefnmark}$\hss}}%\r
+    \long\def\@makefntext##1{\parindent 1em\noindent\r
+            \hbox to1.8em{\hss$\m@th^{\@thefnmark}$}##1}%\r
+    \if@twocolumn\r
+      \ifnum \col@number=\@ne\r
+        \@maketitle\r
+      \else\r
+        \twocolumn[\@maketitle]%\r
+      \fi\r
+    \else\r
+      \global\@topnum\z@   % Prevents figures from going at top of page.\r
+      \@maketitle\r
+    \fi\r
+    \thispagestyle{plain}\@thanks\r
+  \endgroup\r
+  \setcounter{footnote}{0}%\r
+  \let\maketitle\relax\let\@maketitle\relax\r
+  \gdef\@thanks{}\gdef\@author{}\gdef\@title{}\let\thanks\relax}\r
+%_%_%_%_%\r
+%_%_%_%_% Macros for subtitle (subauthor?), altered slugline/slugger for translated version\r
+%_%_%_%_%\r
+\long\def\subtitle#1{\gdef\@subtitle{\par\vskip8pt\footnotesize#1}}\r
+\def\@subtitle{}\r
+%\r
+\long\def\supertitle#1{\gdef\@supertitle{\par\bfseries#1\vskip17.5pt\par}}\r
+\def\@supertitle{}\r
+%_%_%_%_%\r
+%_%_%_%_%\r
+%_%_%_%_%\r
+%\r
+\def\@translation{}\r
+%\r
+\def\slugger#1#2#3#4#5{\gdef\@slugger{\thispagestyle{plain}%\r
+\vspace*{-36pt}\r
+{\sixptsize\baselineskip10pt\r
+\noindent\r
+\expandafter\csname#1\endcsname.\hspace*{\fill}\r
+{\scriptsize{\copyright}} #2 Society for Industrial and\r
+Applied\vspace*{-1.2mm}  Mathematics\\\r
+Vol.\ #3, No.\ #4, pp.\ #5\r
+\hspace*{\fill} \@translation\par}\r
+\normalsize\vskip19.7pt}}\r
+%\r
+\if@translated\r
+\newcommand\tpa{T{\fiveptsize HEORY}~P{\fiveptsize ROBAB.}~A{\fiveptsize PPL}}% added 1/7/04\r
+\def\@translation{Translated from Russian Journal}  \r
+\else%%%%%%%%%%%%%%%%%%%%%%%%%%%%\r
+\newcommand\tpa{T{\fiveptsize HEORY}~P{\fiveptsize ROBAB.}~A{\fiveptsize PPL}}% added 1/7/04  \r
+\fi\r
+%\r
+\def\@slugger{}\r
+\def\@slugline{}\r
+%_%_%_%_%\r
+%_%_%_%_%\r
+%_%_%_%_%\r
+\def\@maketitle{%\r
+  \null\r
+\@slugger\r
+  \begin{center}%\r
+\@supertitle%\r
+    {\bfseries\@ucnothanks\@title\par}%\r
+    \vskip .075in%\r
+    {\footnotesize\r
+      \spaceskip=1.5\fontdimen2\the\font\r
+      \def\and{\ \scriptsize AND }\r
+      \@tempswafalse\expandafter\@doauth\@author\and\relax}%\r
+\@subtitle%\r
+  \end{center}%\r
+  \par\r
+  \vskip .11in}\r
+\def\@ucnothanks#1{\expandafter\@ucnt#1\thanks\relax}\r
+\def\@ucnt#1\thanks{\uppercase{#1}\futurelet\@tempa\@ucnta}\r
+\def\@ucnta{\ifx\@tempa\relax\else\@ucntb\fi}\r
+\def\@ucntb#1\thanks\relax{\thanks{#1}}\r
+\def\@doauth#1\and{\let\@nextdoa=\@doauth\r
+ \def\@tempc{\@ucnothanks{#1}}\r
+ \futurelet\@tempa\@doautha}\r
+\def\@doautha{\ifx\@tempa\relax\r
+  \if@tempswa {\and}\fi\r
+  \let\@nextdoa=\relax\r
+ \else\r
+  \if@tempswa \gdef\and{,\ \scriptsize AND }, \fi\r
+ \fi\r
+ \@tempc\unskip\@tempswatrue\@nextdoa}\r
+\let\and=\relax\r
+\r
+\newcommand{\sixptsize}{%\r
+   \@setfontsize\sixptsize{6}{8}}\r
+\r
+%%create five-point size\r
+\newcommand{\fiveptsize}{%\r
+   \@setfontsize\fiveptsize{5}{7}}\r
+\r
+\r
+\newcommand\simac{SIAM J{\fiveptsize OURNAL} M{\fiveptsize ACRO}}\r
+\newcommand\siap{SIAM J.\ A{\fiveptsize PPL.} M{\fiveptsize ATH}}\r
+\newcommand\sicomp{SIAM J.\ C{\fiveptsize OMPUT}}\r
+\newcommand\sicon{SIAM J.\ C{\fiveptsize ONTROL}  O{\fiveptsize PTIM}}\r
+\newcommand\sidma{SIAM J.\ D{\fiveptsize ISCRETE} M{\fiveptsize ATH}}\r
+\newcommand\sima{SIAM J.\ M{\fiveptsize ATH.} A{\fiveptsize NAL}}\r
+\newcommand\simax{SIAM J.\ M{\fiveptsize ATRIX} A{\fiveptsize NAL.} A{\fiveptsize PPL}}\r
+\newcommand\sinum{SIAM J.\ N{\fiveptsize UMER.} A{\fiveptsize NAL}}\r
+\newcommand\siopt{SIAM J.\ O{\fiveptsize PTIM}}\r
+\newcommand\sisc{SIAM J.\ S{\fiveptsize CI.} C{\fiveptsize OMPUT}}\r
+\newcommand\sirev{SIAM R{\fiveptsize EV}}\r
+\newcommand\mms{M{\fiveptsize ULTISCALE}~M{\fiveptsize ODEL.}~S{\fiveptsize IMUL}} % Added 9/17/02  \r
+   \r
+       \r
+\setcounter{secnumdepth}{3}\r
+\newcounter {section}\r
+\newcounter {subsection}[section]\r
+\newcounter {subsubsection}[subsection]\r
+\newcounter {paragraph}[subsubsection]\r
+\newcounter {subparagraph}[paragraph]\r
+\renewcommand\thesection       {\arabic{section}}\r
+\renewcommand\thesubsection    {\thesection.\arabic{subsection}}\r
+\renewcommand\thesubsubsection {\thesubsection.\arabic{subsubsection}}\r
+\renewcommand\theparagraph     {\thesubsubsection.\arabic{paragraph}}\r
+\renewcommand\thesubparagraph  {\theparagraph.\arabic{subparagraph}}\r
+\r
+\r
+\def\@sect#1#2#3#4#5#6[#7]#8{\ifnum #2>\c@secnumdepth\r
+     \def\@svsec{}\else\r
+     \refstepcounter{#1}\edef\@svsec{\csname the#1\endcsname.\hskip .5em }\fi\r
+     \@tempskipa #5\relax\r
+      \ifdim \@tempskipa>\z@\r
+        \begingroup #6\relax\r
+          \@hangfrom{\hskip #3\relax\@svsec}{\interlinepenalty \@M #8\par}\r
+        \endgroup\r
+       \csname #1mark\endcsname{#7}\addcontentsline\r
+         {toc}{#1}{\ifnum #2>\c@secnumdepth \else\r
+                      \protect\numberline{\csname the#1\endcsname}\fi\r
+                    #7}\else\r
+        \def\@svsechd{#6\hskip #3\@svsec #8.\csname #1mark\endcsname\r
+                      {#7}\addcontentsline\r
+                           {toc}{#1}{\ifnum #2>\c@secnumdepth \else\r
+                             \protect\numberline{\csname the#1\endcsname}\fi\r
+                       #7}}\fi\r
+     \@xsect{#5}}\r
+\def\@ssect#1#2#3#4#5{\@tempskipa #3\relax\r
+   \ifdim \@tempskipa>\z@\r
+     \begingroup #4\@hangfrom{\hskip #1}{\interlinepenalty \@M\r
+#5.\par}\endgroup\r
+   \else \def\@svsechd{#4\hskip #1\relax #5.}\fi\r
+    \@xsect{#3}}\r
+\r
+             \r
+\newcommand\section{\@startsection{section}{1}{.25in}%\r
+                                   {1.3ex \@plus .5ex \@minus .2ex}%\r
+                                   {-.5em \@plus -.1em}%\r
+                                   {\reset@font\normalsize\bfseries}}\r
+\newcommand\subsection{\@startsection{subsection}{2}{.25in}%\r
+                                     {1.3ex\@plus .5ex \@minus .2ex}%\r
+                                     {-.5em \@plus -.1em}%\r
+                                     {\reset@font\normalsize\bfseries}}\r
+\newcommand\subsubsection{\@startsection{subsubsection}{3}{.25in}%\r
+                                     {1.3ex\@plus .5ex \@minus .2ex}%\r
+                                     {-.5em \@plus -.1em}%\r
+                                     {\reset@font\normalsize\bfseries}}\r
+\newcommand\paragraph{\@startsection{paragraph}{4}{.25in}%\r
+                                    {\parskip}%\r
+                                    {-.5em plus -.1em}%\r
+                                    {\reset@font\normalsize\itshape}}\r
+\newcommand\subparagraph{\@startsection{subparagraph}{5}{\parindent}%\r
+                                       {\parskip}%\r
+                                       {-.5em plus -.1em}%\r
+                                      {\reset@font\normalsize\itshape}}\r
+\if@twocolumn\r
+  \setlength\leftmargini  {2em}\r
+\else\r
+  \setlength\leftmargini  {0.5in}\r
+\fi\r
+\setlength\leftmarginii  {22pt}\r
+\setlength\leftmarginiii {18.7pt}\r
+\setlength\leftmarginiv  {17pt}\r
+\if@twocolumn\r
+  \setlength\leftmarginv  {.5em}\r
+  \setlength\leftmarginvi {.5em}\r
+\else\r
+  \setlength\leftmarginv  {10pt}\r
+  \setlength\leftmarginvi {10pt}\r
+\fi\r
+\setlength  \leftmargin{\leftmargini}\r
+\setlength  \labelsep  {.5em}\r
+\setlength  \labelwidth{\leftmargini}\r
+\addtolength\labelwidth{-\labelsep}\r
+\@beginparpenalty -\@lowpenalty\r
+\@endparpenalty   -\@lowpenalty\r
+\@itempenalty     -\@lowpenalty\r
+\renewcommand\theenumi{\arabic{enumi}}\r
+\renewcommand\theenumii{\alph{enumii}}\r
+\renewcommand\theenumiii{\roman{enumiii}}\r
+\renewcommand\theenumiv{\Alph{enumiv}}\r
+\newcommand\labelenumi{\theenumi.}\r
+\newcommand\labelenumii{(\theenumii)}\r
+\newcommand\labelenumiii{\theenumiii.}\r
+\newcommand\labelenumiv{\theenumiv.}\r
+\renewcommand\p@enumii{\theenumi}\r
+\renewcommand\p@enumiii{\theenumi\theenumii}\r
+\renewcommand\p@enumiv{\p@enumiii\theenumiii}\r
+\newcommand\labelitemi{$\m@th\bullet$}\r
+\newcommand\labelitemii{\normalfont\bfseries --}\r
+\newcommand\labelitemiii{$\m@th\ast$}\r
+\newcommand\labelitemiv{$\m@th\cdot$}\r
+\newenvironment{description}\r
+               {\list{}{\labelwidth\z@ \itemindent-\leftmargin\r
+                        \let\makelabel\descriptionlabel}}\r
+               {\endlist}\r
+\newcommand\descriptionlabel[1]{\hspace\labelsep\r
+                                \normalfont\bfseries #1}\r
+\newcounter{rmnum}\r
+\newenvironment{romannum}\r
+               {\begin{list}{{\upshape (\roman{rmnum})}}{\usecounter{rmnum}\r
+                \setlength{\leftmargin}{0pt}\r
+                \setlength{\itemindent}{42pt}}}{\end{list}}\r
+\newcounter{muni}\r
+\newenvironment{remunerate}\r
+               {\begin{list}{{\upshape \arabic{muni}.}}{\usecounter{muni}\r
+                \setlength{\leftmargin}{0pt}\r
+                \setlength{\itemindent}{38pt}}}{\end{list}}\r
+                               \r
+\newenvironment{@abssec}[1]{%\r
+     \if@twocolumn\r
+       \section*{#1}%\r
+     \else\r
+       \vspace{.05in}\footnotesize\r
+       \parindent .2in\r
+         {\upshape\bfseries #1. }\ignorespaces\r
+     \fi}\r
+     {\if@twocolumn\else\par\vspace{.1in}\fi}\r
+\r
+\newenvironment{@doisec}[1]{%\r
+     \if@twocolumn\r
+       \section*{#1}%\r
+     \else\r
+       \vspace{.05in}\footnotesize\r
+       \parindent .2in\r
+         {\upshape\bfseries #1. }\ignorespaces\ignorespaces\r
+     \fi}\r
+     {\if@twocolumn\else\par\vspace{.1in}\fi}\r
+\r
+\newenvironment{abstract}{\begin{@abssec}{\abstractname}}{\end{@abssec}}\r
+\newenvironment{keywords}{\begin{@abssec}{\keywordsname}}{\end{@abssec}}\r
+\newenvironment{AMS}{\begin{@abssec}{\AMSname}}{\end{@abssec}}\r
+\newenvironment{AM}{\begin{@abssec}{\AMname}}{\end{@abssec}}\r
+%\newenvironment{PII}{\begin{@abssec}{\PIIname}}{\end{@abssec}}\r
+\newenvironment{DOI}{\begin{@doisec}{\DOIname}}{\end{@doisec}}\r
+\r
+\r
+\newenvironment{verse}\r
+               {\let\\=\@centercr\r
+                \list{}{\itemsep      \z@\r
+                        \itemindent   -1.5em%\r
+                        \listparindent\itemindent\r
+                        \rightmargin  \leftmargin\r
+                        \advance\leftmargin 1.5em}%\r
+                \item[]}\r
+               {\endlist}\r
+\newenvironment{quotation}\r
+               {\list{}{\listparindent 1.5em%\r
+                        \itemindent    \listparindent\r
+                        \rightmargin   \leftmargin\r
+                        \parsep        \z@ \@plus\p@}%\r
+                \item[]}\r
+               {\endlist}\r
+\newenvironment{quote}\r
+               {\list{}{\rightmargin\leftmargin}%\r
+                \item[]}\r
+               {\endlist}\r
+\def\@begintheorem#1#2{\par\bgroup{\scshape #1\ #2. }\it\ignorespaces}\r
+\def\@opargbegintheorem#1#2#3{\par\bgroup%\r
+   {\scshape #1\ #2\ ({\upshape #3}). }\it\ignorespaces}\r
+\def\@endtheorem{\egroup}\r
+\def\proof{\par{\it Proof}. \ignorespaces}\r
+\r
+\def\endproof{\vbox{\hrule height0.6pt\hbox{%\r
+   \vrule height1.3ex width0.6pt\hskip0.8ex\r
+   \vrule width0.6pt}\hrule height0.6pt\r
+  }}\r
+\r
+\if@onethmnum\r
+  \newtheorem{theorem}{Theorem}\r
+  \newtheorem{lemma}[theorem]{Lemma}\r
+  \newtheorem{corollary}[theorem]{Corollary}\r
+  \newtheorem{proposition}[theorem]{Proposition}\r
+  \newtheorem{definition}[theorem]{Definition}\r
+\else\r
+  \newtheorem{theorem}{Theorem}[section]\r
+  \newtheorem{lemma}[theorem]{Lemma}\r
+  \newtheorem{corollary}[theorem]{Corollary}\r
+  \newtheorem{proposition}[theorem]{Proposition}\r
+  \newtheorem{definition}[theorem]{Definition}\r
+\fi\r
+\r
+\r
+% FROM FIXUP.STY\r
+% We now redefine the eqnarray environment to correct the space around\r
+% the operator.   Any changes to the definition in LaTeX itself\r
+% will cause the `Warning: unable...'\r
+% message to appear.  If this happens it will be necessary to update the\r
+% definition of  \@tempb below and incorperate the changes into\r
+% the new definitions of \eqnarray.\r
\r
\r
+% This is the current definition of \eqnarray for the fleqn document style\r
+% latex.ltx\r
\r
+\def\@tempb{%\r
+   \stepcounter{equation}%\r
+   \def\@currentlabel{\p@equation\theequation}%\r
+   \global\@eqnswtrue\r
+   \m@th\r
+   \global\@eqcnt\z@\r
+   \tabskip\@centering\r
+   \let\\\@eqncr\r
+   $$\everycr{}\halign to\displaywidth\bgroup\r
+       \hskip\@centering$\displaystyle\tabskip\z@skip{##}$\@eqnsel\r
+      &\global\@eqcnt\@ne\hskip \tw@\arraycolsep \hfil${##}$\hfil\r
+      &\global\@eqcnt\tw@ \hskip \tw@\arraycolsep\r
+         $\displaystyle{##}$\hfil\tabskip\@centering\r
+      &\global\@eqcnt\thr@@ \hb@xt@\z@\bgroup\hss##\egroup\r
+         \tabskip\z@skip\r
+      \cr\r
+}\r
+\ifx\eqnarray\@tempb    % Try the default eqnarray environment\r
+  \def\eqnarray{%\r
+   \stepcounter{equation}%\r
+   \def\@currentlabel{\p@equation\theequation}%\r
+   \global\@eqnswtrue\r
+   \m@th\r
+   \global\@eqcnt\z@\r
+   \tabskip\@centering\r
+   \let\\\@eqncr\r
+   $$\everycr{}\halign to\displaywidth\bgroup\r
+       \hskip\@centering$\displaystyle\tabskip\z@skip{##}$\@eqnsel\r
+      &\global\@eqcnt\@ne \hfil$\displaystyle{{}##{}}$\hfil\r
+      &\global\@eqcnt\tw@ $\displaystyle{##}$\hfil\tabskip\@centering\r
+      &\global\@eqcnt\thr@@ \hb@xt@\z@\bgroup\hss##\egroup\r
+         \tabskip\z@skip\r
+      \cr\r
+}\r
+\else    \typeout{Warning: Unable to fix unknown version of \string\eqnarray.}\r
+\fi\r
\r
+\def\@tempb{}\r
+\r
+\r
+%% New Mathops.\r
+\r
+\newcommand\const{\mathop{\operator@font const}\nolimits}\r
+\newcommand\diag{\mathop{\operator@font diag}\nolimits}\r
+\newcommand\grad{\mathop{\operator@font grad}\nolimits}\r
+\newcommand\Range{\mathop{\operator@font Range}\nolimits}\r
+\newcommand\rank{\mathop{\operator@font rank}\nolimits}\r
+\newcommand\supp{\mathop{\operator@font supp}\nolimits}\r
+\r
+\newcommand\appendix{%\r
+\renewcommand{\section}{%\r
+\secdef\append\sappend}%\r
+ \setcounter{section}{0}%\r
+ \setcounter{subsection}{0}%\r
+ \renewcommand\thesection{\Alph{section}}}\r
+\r
+\newcommand\Appendix{%\r
+\renewcommand{\section}{%\r
+\secdef\Append\sAppend}%\r
+ \setcounter{section}{0}%\r
+ \setcounter{subsection}{0}%\r
+ \renewcommand\thesection{\Alph{section}}}\r
+\r
+\newcommand\append[2][?]{%\r
+\refstepcounter{section}%\r
+{\vskip 1.3ex \@plus .5ex \@minus .2ex\r
+\reset@font\normalsize\bfseries\appendixname\ \thesection. #2.}}\r
+\r
+\newcommand\sappend[1]{%\r
+\refstepcounter{section}\r
+{\vskip 1.3ex \@plus .5ex \@minus .2ex\r
+\reset@font\normalsize\bfseries\appendixname\ \thesection.}}\r
+\r
+\newcommand\Append[2][?]{%\r
+\refstepcounter{section}%\r
+{\vskip 1.3ex \@plus .5ex \@minus .2ex\r
+\reset@font\normalsize\bfseries\appendixname. #2.}}\r
+\r
+\newcommand\sAppend[1]{%\r
+\refstepcounter{section}\r
+{\vskip 1.3ex \@plus .5ex \@minus .2ex\r
+\reset@font\normalsize\bfseries\appendixname.}}\r
+\r
+\setlength\arraycolsep{5\p@}\r
+\setlength\tabcolsep{6\p@}\r
+\setlength\arrayrulewidth{.4\p@}\r
+\setlength\doublerulesep{2\p@}\r
+\setlength\tabbingsep{\labelsep}\r
+\skip\@mpfootins = \skip\footins\r
+\setlength\fboxsep{3\p@}\r
+\setlength\fboxrule{.4\p@}\r
+\r
+\r
+\newcounter{figure}\r
+\renewcommand\thefigure{\@arabic\c@figure}\r
+\def\fps@figure{tp}\r
+\def\ftype@figure{1}\r
+\def\ext@figure{lof}\r
+\def\fnum@figure{\figurename~\thefigure}\r
+\newenvironment{figure}\r
+               {\@float{figure}}\r
+               {\end@float}\r
+\newenvironment{figure*}\r
+               {\@dblfloat{figure}}\r
+               {\end@dblfloat}\r
+\newcounter{table}\r
+\renewcommand{\thetable}{\@arabic\c@table}\r
+\def\fps@table{tp}\r
+\def\ftype@table{2}\r
+\def\ext@table{lot}\r
+\def\fnum@table{\tablename~\thetable}\r
+\newenvironment{table}\r
+               {\@float{table}}\r
+               {\end@float}\r
+\newenvironment{table*}\r
+               {\@dblfloat{table}}\r
+               {\end@dblfloat}\r
+\newlength\abovecaptionskip\r
+\newlength\belowcaptionskip\r
+\setlength\abovecaptionskip{10\p@}\r
+\setlength\belowcaptionskip{10\p@}\r
+\def\@figtxt{figure}\r
+\long\def\@makecaption#1#2{%\r
+    \footnotesize\r
+    \setlength{\parindent}{1.5pc}\r
+  \ifx\@captype\@figtxt\r
+    \vskip\abovecaptionskip\r
+    \setbox\@tempboxa\hbox{{\normalfont\scshape #1}. {\normalfont\itshape #2}}%\r
+    \ifdim \wd\@tempboxa >\hsize\r
+      {\normalfont\scshape #1}. {\normalfont\itshape #2}\par\r
+    \else\r
+      \global\@minipagefalse\r
+      \hb@xt@\hsize{\hfil\box\@tempboxa\hfil}%\r
+    \fi\r
+  \else\r
+    \hbox to\hsize{\hfil{\normalfont\scshape #1}\hfil}%\r
+    \setbox\@tempboxa\hbox{{\normalfont\itshape #2}}%\r
+    \ifdim \wd\@tempboxa >\hsize\r
+      {\normalfont\itshape #2}\par\r
+    \else\r
+     \global\@minipagefalse\r
+      \hb@xt@\hsize{\hfil\box\@tempboxa\hfil}%\r
+    \fi\r
+    \vskip\belowcaptionskip\r
+  \fi}\r
+\DeclareOldFontCommand{\rm}{\normalfont\rmfamily}{\mathrm}\r
+\DeclareOldFontCommand{\sf}{\normalfont\sffamily}{\mathsf}\r
+\DeclareOldFontCommand{\tt}{\normalfont\ttfamily}{\mathtt}\r
+\DeclareOldFontCommand{\bf}{\normalfont\bfseries}{\mathbf}\r
+\DeclareOldFontCommand{\it}{\normalfont\itshape}{\mathit}\r
+\DeclareOldFontCommand{\sl}{\normalfont\slshape}{\@nomath\sl}\r
+\DeclareOldFontCommand{\sc}{\normalfont\scshape}{\@nomath\sc}\r
+\DeclareRobustCommand*\cal{\@fontswitch{\relax}{\mathcal}}\r
+\DeclareRobustCommand*\mit{\@fontswitch{\relax}{\mathnormal}}\r
+\newcommand\@pnumwidth{1.55em}\r
+\newcommand\@tocrmarg {2.55em}\r
+\newcommand\@dotsep{4.5}\r
+\r
+\newdimen\bibindent\r
+\bibindent=16pt\r
+\newenvironment{thebibliography}[1]\r
+     {\par\addvspace{.25in}\r
+     \begin{center}\r
+     \footnotesize\uppercase\expandafter{\refname}\r
+     \end{center}\r
+     \@mkboth{\uppercase\expandafter{\refname}}{\uppercase\expandafter{\refname}}\r
+     \addvspace{.15in}\nopagebreak%\r
+      \list{\@biblabel{\arabic{enumi}}}%\r
+           {\settowidth\labelwidth{\@biblabel{#1}}%\r
+            \leftmargin\labelwidth\r
+            \advance\leftmargin\labelsep\r
+%            \if@openbib\r
+              \advance\leftmargin\bibindent\r
+              \itemindent -\bibindent\r
+              \listparindent \itemindent\r
+              \parsep \z@\r
+%            \fi\r
+            \usecounter{enumi}%\r
+            \let\p@enumi\@empty\r
+            \renewcommand\theenumi{\arabic{enumi}}}%\r
+%      \if@openbib\r
+%        \renewcommand\newblock{\par}\r
+%      \else\r
+        \renewcommand\newblock{\hskip .11em \@plus.33em \@minus.07em}%\r
+%      \fi\r
+      \sloppy\clubpenalty4000\widowpenalty4000%\r
+      \sfcode`\.=\@m\relax\footnotesize}\r
+     {\def\@noitemerr\r
+       {\@latex@warning{Empty `thebibliography' environment}}%\r
+      \endlist}\r
+\newcommand\newblock{}\r
+\newenvironment{theindex}\r
+               {\if@twocolumn\r
+                  \@restonecolfalse\r
+                \else\r
+                  \@restonecoltrue\r
+                \fi\r
+                \columnseprule \z@\r
+                \columnsep 35\p@\r
+                \twocolumn[\section*{\indexname}]%\r
+                \@mkboth{\uppercase{\indexname}}%\r
+                        {\uppercase{\indexname}}%\r
+                \thispagestyle{plain}\parindent\z@\r
+                \parskip\z@ \@plus .3\p@\relax\r
+                \let\item\@idxitem}\r
+               {\if@restonecol\onecolumn\else\clearpage\fi}\r
+\newcommand\@idxitem  {\par\hangindent 40\p@}\r
+\newcommand\subitem   {\par\hangindent 40\p@ \hspace*{20\p@}}\r
+\newcommand\subsubitem{\par\hangindent 40\p@ \hspace*{30\p@}}\r
+\newcommand\indexspace{\par \vskip 10\p@ \@plus5\p@ \@minus3\p@\relax}\r
+\renewcommand\footnoterule{%\r
+  \kern-3\p@\r
+  \hrule width .5in\r
+  \kern 2.6\p@}\r
+\long\def\@makefntext#1{%\r
+    \parindent .25in%\r
+    \noindent\r
+    \hbox to .25in{\hss\@makefnmark}#1}\r
+\newcommand\contentsname{Contents}\r
+\newcommand\listfigurename{List of Figures}\r
+\newcommand\listtablename{List of Tables}\r
+\newcommand\refname{References}\r
+\newcommand\indexname{Index}\r
+\newcommand\figurename{Fig.}\r
+\newcommand\tablename{Table}\r
+\newcommand\partname{Part}\r
+\newcommand\appendixname{Appendix}\r
+\newcommand\abstractname{Abstract}\r
+\newcommand\keywordsname{Key words}\r
+\newcommand\AMSname{AMS subject classifications}\r
+\newcommand\AMname{AMS subject classification}\r
+%\newcommand\PIIname{PII}\r
+\newcommand\DOIname{DOI}\r
+\newcommand\URL{\protect\\ \hspace*{15.37pt}http://www.siam.org/journals/}\r
+\newcommand\today{\ifcase\month\or\r
+  January\or February\or March\or April\or May\or June\or\r
+  July\or August\or September\or October\or November\or December\fi\r
+  \space\number\day, \number\year}\r
+\newcommand\sameauthor{\leavevmode\vrule height 2pt depth -1.6pt width 23pt}\r
+\setlength\columnsep{10\p@}\r
+\setlength\columnseprule{0\p@}\r
+\pagestyle{plain}\r
+\pagenumbering{arabic}      % Arabic page numbers\r
+\r
+\if@compatibility%\r
+\else\r
+  \if@oneeqnum\r
+  \else\r
+     \@addtoreset{equation}{section}   %  \section resets 'equation' counter\r
+     \renewcommand{\theequation}{\thesection.\arabic{equation}}  \r
+  \fi\r
+%\r
+  \if@onefignum\r
+  \else\r
+    \@addtoreset{figure}{section}\r
+    \renewcommand{\thefigure}{\thesection.\@arabic\c@figure}\r
+  \fi\r
+%\r
+  \if@onetabnum\r
+  \else\r
+    \@addtoreset{table}{section}\r
+    \renewcommand{\thetable}{\thesection.\@arabic\c@table}\r
+  \fi\r
+%\r
+  \if@onethmnum\r
+  \else\r
+    \@addtoreset{theorem}{section}\r
+    \renewcommand{\thetheorem}{\thesection.\arabic{theorem}}\r
+  \fi\r
+\fi\r
+\r
+\onecolumn\r
+\r
+\gdef\@siamlabel@error#1#2{%\r
+   \GenericError{%\r
+      \space\space\space\@spaces\@spaces\@spaces\r
+   }{%\r
+      SIAM Label Error: #1%\r
+   }{%\r
+      Correct multiply-defined labels.%\r
+   }{#2}%\r
+}\r
+\r
+%%% NEW -- causes multiply defined labels to generate errors\r
+\def\@newl@bel#1#2#3{%\r
+  \@ifundefined{#1@#2}%\r
+    \relax\r
+    {\gdef \@multiplelabels {%\r
+      \@latex@warning@no@line{Label `#2' multiply defined}}%\r
+      \@siamlabel@error{There were multiply-defined labels}{}}%\r
+  \global\@namedef{#1@#2}{#3}}\r
+\def\newlabel{\@newl@bel r}\r
+\@onlypreamble\@newl@bel\r
+\let \@multiplelabels \relax\r
+\def\label#1{\@bsphack\r
+  \protected@write\@auxout{}%\r
+         {\string\newlabel{#1}{{\@currentlabel}{\thepage}}}%\r
+  \@esphack}\r
+\def\refstepcounter#1{\stepcounter{#1}%\r
+    \protected@edef\@currentlabel\r
+       {\csname p@#1\endcsname\csname the#1\endcsname}%\r
+}\r
+%%%\r
+\r
+\r
+\r
+\def\newarticle{\input{newart.tex}}\r
+\r
+\endinput\r
+%%\r
+%% End of file `siamltex.cls'.\r
+\r
+\r
diff --git a/8.2/deal82.bib b/8.2/deal82.bib
new file mode 100644 (file)
index 0000000..cb9a992
--- /dev/null
@@ -0,0 +1,394 @@
+%% 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}
+}
+
+@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},
+}
+
+
+%% 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     = "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/}}}
+
+@ONLINE{hdf5,
+    author = {{The HDF Group}},
+    title = "{Hierarchical Data Format, version 5}",
+    year = {1997-NNNN},
+    note = {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"
+}
diff --git a/8.2/deal82.tex b/8.2/deal82.tex
new file mode 100644 (file)
index 0000000..f1af7d3
--- /dev/null
@@ -0,0 +1,432 @@
+\documentclass{ansarticle}
+%\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.2, 2015},
+}
+
+\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.2}
+\author[1]{Wolfgang Bangerth}
+\affil[1]{Department of Mathematics, Texas A\&M University, College Station, 
+    TX 77843, USA,
+    %\href{mailto:bangerth@math.tamu.edu}
+    {\texttt{bangerth@math.tamu.edu}}}
+\author[2]{Timo Heister}
+\affil[2]{Mathematical Sciences,
+O-110 Martin Hall.
+Clemson University.
+Clemson, SC 29634, USA,
+%\href{mailto:heister@clemson.edu}
+{\texttt{heister@clemson.edu}}}
+\author[3]{Luca Heltai}
+\affil[3]{SISSA - International School for Advanced Studies, Via
+  Bonomea 265, 34136 Trieste, Italy,
+  %\href{mailto:luca.heltai@sissa.it}
+  {\texttt{luca.heltai@sissa.it}}}
+\author[4]{Guido Kanschat}
+\affil[4]{Interdisciplinary Center for Scientific Computing (IWR),
+  Universität Heidelberg, Im Neuenheimer Feld 368, 69120 Heidelberg, Germany,
+  %\href{mailto:kanschat@uni-heidelberg.de}
+  {\texttt{kanschat@uni-heidelberg.de}}}
+\author[5]{Martin Kronbichler}
+\affil[5]{Institute for Computational Mechanics, Technische
+  Universität München, Boltzmannstr.~15, 85748 Garching b. München,
+  Germany,
+  %\href{mailto:kronbichler@lnm.mw.tum.de}
+  {\texttt{kronbichler@lnm.mw.tum.de}}}
+\author[6]{Matthias Maier}
+\affil[6]{Institute of Applied Mathematics, Heidelberg
+  University, Im Neuenheimer Feld 293/294, 69120 Heidelberg, Germany,
+  %\href{mailto:matthias.maier@iwr.uni-heidelberg.de}
+  {\texttt{matthias.maier@iwr.uni-heidelberg.de}}}
+\author[7]{Bruno Turcksin}
+\affil[7]{Department of Mathematics, Texas A\&M University, College Station, 
+  TX 77843, USA,
+  %\href{mailto:turcksin@math.tamu.edu}
+  {\texttt{turcksin@math.tamu.edu}}}
+\author[8]{Toby~D.~Young}
+\affil[8]{Institute of Fundamental Technological Research of the Polish Academy of Sciences, ul. Pawińskiego 5b, Warsaw 02-106, Poland,
+  %\href{mailto:tyoung@ippt.pan.pl}
+  {\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.2.
+\end{abstract}
+
+
+\section{Overview}
+
+\dealii{} version 8.2 was released January 1, 2015. 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.2. \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/}.
+
+
+Version 8.2 contains,  along
+with the usual set of new functions, bug fixes and documentation updates, the following noteworthy changes:
+\begin{itemize}
+\item Comprehensive support for geometries described by arbitrary manifolds
+  and meshes that respect this description not only on the boundary but
+  also internally
+\item Support for geometries imported from CAD using the OpenCASCADE library
+\item Three new tutorial programs on complex geometries, CAD geometries, and
+  time stepping methods
+\item Support for users wanting to use C++11 features
+\item Improvements to multithreading support
+\item Vectorization of many vector operations using OpenMP SIMD directives
+\end{itemize}
+Some 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 deal.II 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 in the file that lists all changes for this release and that is
+linked to from the web site of each release as well as the release
+announcement.
+
+
+\subsection{Supporting complex geometries through manifolds}
+
+Complex geometries can be described using the concept of a manifold, a
+topological space that resembles Euclidean space near each point. In
+mathematics, particularly topology, one describes a manifold using an
+atlas. An atlas consists of individual charts that, roughly speaking,
+describe individual regions of the manifold, by means of providing a
+local coordinate system near each point. (Such coordinate systems may not
+exist \textit{globally}, as in the case of the surface of a sphere, but it
+must be possible to cover the entire manifold with charts that are valid in
+some local neighborhood of every point.) In \dealii{} these concepts
+have been formalized in the abstract base class \verb|Manifold| that
+defines an interface by which the \verb|Triangulation| and
+\verb|Mapping| classes can query geometric information about the
+domain.
+
+Whenever a new point is required (for example upon mesh refinement, or
+when integrating over curved manifolds using higher order mappings), new points are typically
+obtained by providing a local coordinate system on the manifold,
+identifying existing points in the local coordinate system (pulling
+them back using the local chart to obtain their local coordinates),
+finding the new point in the local coordinate system by weighted sums of
+the existing points, and transforming the point back to the real space
+(pushing it forward using the local chart).
+
+A new identifier (the \verb|manifold_id|) has been introduced to
+describe geometrical features of complex domains: every entity of a mesh
+(i.e., cells, faces, and edges) now have a \verb|manifold_id| associated with
+them. This extends the existing behavior: Previous releases of
+the library allowed only boundaries to be curved, and used the
+\verb|boundary_id| of the faces of a triangulation to identify how to
+add new points upon mesh refinement.  In contrast, the new \verb|manifold_id|
+also exists for cells and interior faces. Upon refinement, the
+\verb|Triangulation| class queries each object (hex, quad or line)
+where new points should be placed. Attaching a custom \verb|Manifold|
+to any such object ensures that new points are created consistently
+with the underlying geometry.
+
+We provide a series of classes that implement this mechanism for
+commonly used geometries:
+\begin{itemize}
+\item \verb|FlatManifold|: in the simplest case, the
+  objects that make up the \verb|Triangulation| are straight line
+  segments, a bi-linear surface or a tri-linear volume. New vertices
+  are then simply put into the middle of the old ones (where
+  ``middle'' means a suitable average of the locations of the
+  pre-existing vertices). This is the default manifold associated to
+  each object of the \verb|Triangulation|;
+\item \verb|SphericalManifold|: you can use this manifold object to
+  describe any sphere, circle, hypersphere or hyperdisc in two or
+  three dimensions, both as a co-dimension one manifold descriptor or
+  as co-dimension zero manifold descriptor;
+\item \verb|CylindricalManifold|: in three dimensions, points are
+  transformed using a cylindrical coordinate system along an
+  arbitrarily oriented cylinder.
+\end{itemize}
+
+More general specialisations can be obtained by using the
+\verb|ChartManifold| partial specialisation: this class is intended to
+directly implement the topological concept of a chart, by explicitly
+providing \emph{pull back} and \emph{push forward} expressions. Classes
+derived from \verb|ChartManifold| only have to overload the \verb|pull_back|
+and \verb|push_forward| functions, while all other functions are then defined
+in terms of these two functions. \verb|ChartManifold| assumes that the
+manifold can be represented by a single, globally valid chart.
+The
+class \verb|FunctionManifold| further implements this using explicit \dealii{}
+\verb|Function| classes, and the new tutorial \verb|step-53| provides a
+concrete example on how to use these classes to work with complex
+geometries.
+
+\subsection{Interfacing with CAD geometries}
+
+If you have OpenCASCADE (\url{http://www.opencascade.org/})
+installed\cite{opencascade-web-page}, you can now use existing IGES or
+STEP CAD files to describe the boundary of your geometry to \dealii{}.
+
+The \dealii{} library allows the user to specify the geometry of the
+analysis in one of two possible ways: i) by creating a coarse grid
+internally (for simple geometries, such as boxes, cylinders, shells,
+etc.) or ii) by reading a mesh input file in one of the supported
+formats via the \verb|GridIn| class.
+
+Along with the default boundary descriptor \verb|StraightBoundary|
+which implements the standard behavior of \dealii{}, some elementary
+boundary descriptors are also included in the library to describe
+circles or spheres (\verb|HyperBallBoundary|), cylinders
+(\verb|CylinderBoundary|), half circles or half spheres
+(\verb|HalfHyperBallBoundary|), and so on. In general, \dealii{}
+provides a curved boundary descriptor for each one of the elementary
+mesh that can be created from within the library itself.
+
+Real world geometries, however, can rarely be described by straight
+lines, balls or cylinders, and much more complex structures are
+required if one wants to tackle industrial problems. The industry
+standard for the design of any geometry is based on Computer Aided
+Design (CAD) tools, which rely on Non Uniform Rational B-Splines
+(NURBS) descriptions of curves and surfaces. Virtually any object that
+surrounds us has been modeled using some NURBS patch in a CAD tool.
+
+The namespace \verb|dealii::OpenCASCADE| contains all utilities and
+wrappers that are needed to manipulate CAD files. Most of the
+functions in the \verb|dealii::OpenCASCADE| namespace deal with
+\verb|TopoDS_Shape| objects: the default topological object of the
+\verb|OpenCASCADE| library, and provide interfaces to deal.II objects,
+like \verb|Triangulation|, \verb|Manifold| and \verb|Boundary|.
+
+The new step-54 tutorial program of the \dealii{} library shows an example
+application of the functions and classes in the
+\verb|deal.II::OpenCASCADE| namespace. In step-54, a CAD shape and a
+coarse surface triangulation are imported from external files, and the
+resulting triangulation is then refined on the CAD surface using
+different projection strategies. A detailed description of these
+techniques is available in~\cite{HeltaiMola2015}.
+
+\subsection{A new tutorial: Support for time stepping methods (step-52)}
+The goal of this tutorial is to show how to use the different Runge--Kutta
+methods of the new TimeStepping class. The Runge--Kutta methods used in this
+tutorial include explicit methods, implicit methods, and embedded methods. In
+step-52, the time dependent neutron diffusion equation is solved on a uniform
+mesh. To compare the different time stepping methods, the solution of the
+problem is chosen such that its spatial component can be exactly represented on
+the uniform mesh by quadratic continuous finite elements. Moreover, at the
+end of the last time step the exact solution is zero. Therefore, the different
+time discretization methods can be compared by simply looking at the discretized
+solutions.
+
+\subsection{Support for some C++11 features}
+The C++11 standard \cite{cpp11} provides many convenient features that can
+help make writing finite element codes simpler. \dealii{} does not use any of
+these features itself to ensure that it can be used with compilers that do not
+implement C++11 yet. 
+
+However, this does not prevent users from using C++11
+features in their own codes. Among these, range-based for loops are
+particularly useful given that \dealii{} programs often contain many loops
+over all cells and that writing these loops is frequently quite verbose:
+\begin{c++}
+  Triangulation<dim> triangulation;
+  ...
+  typename Triangulation<dim>::active_cell_iterator
+    cell = triangulation.begin_active(),
+    endc = triangulation.end();
+  for (; cell!=endc; ++cell)
+    cell->set_refine_flag();
+\end{c++}
+Code such as this can be significantly simplified by combining C++11's
+range-based for loops and \texttt{auto}-typed variables. To support this,
+\dealii{}'s container classes (i.e., the triangulations and DoF handler
+classes) provide member functions that return objects that denote the entire
+set of cells, active cells, or cells on a particular level. This allows to
+write the same loop as above in the following, much shorter way:
+\begin{c++}
+  Triangulation<dim> triangulation;
+  ...
+  for (auto cell : triangulation.active_cell_iterators())
+    cell->set_refine_flag();
+\end{c++}
+The function
+\texttt{Triangulation::active\_cell\_iterators()}, 
+and equivalents in the
+\texttt{DoFHandler} and
+\texttt{hp::DoFHandler} classes, were added in \dealii{} 8.2
+to support this idiom.
+Other variants of these functions provide iterator ranges
+for all cells (not just the active ones) and for cells on individual
+levels. A new documentation module elaborates on support for C++11 in
+\dealii{}.
+
+
+\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}.
+\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}.
+
+\nocite{BangerthKanschat1999}
+
+\section{Acknowledgements}
+
+\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:
+Alexander Grayver,
+Andrea Mola,
+Andrew Baker,
+Angela Klewinghaus,
+Arezou Ghesmati,
+Ben Thompson,
+Christoph Heiniger,
+Damien Lebrun-Grandie,
+Daniel Arndt,
+David Wells,
+Denis Davydov,
+Fahad Alrashed,
+Giorgos Kourakos,
+Jean-Paul Pelteret,
+Kainan Wang,
+Kevin Drzycimski,
+Krysztof Bzowski,
+Lukas Korous,
+Manuel Quezada de Luna,
+Markus Bürg,
+Martin Steigemann,
+Mayank Sabharwal,
+Michal Wichrowski,
+Mihai Alexe,
+Minh Do-Quang,
+Shiva Rudraraju,
+Uwe Köcher,
+Valentin Zingan,
+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; 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 through
+Award No.~KUS-C1-016-04, made by King Abdullah University of Science
+and Technology (KAUST). 
+
+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.
+
+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 through Award No. KUS-
+C1-016-04, made by King Abdullah University of Science and Technology (KAUST).
+
+The Interdisciplinary Center for Scientific Computing (IWR) at Heidelberg University has provided 
+hosting services for the deal.II web page and the SVN archive.
+%\marginpar{Everyone's funding, please}
+
+
+
+
+
+
+\bibliography{deal82}{}
+\bibliographystyle{plain}
+
+\end{document}
+
+%%% Local Variables:
+%%% mode: latex
+%%% TeX-master: t
+%%% End:
diff --git a/8.3/ansarticle-preprint.cls b/8.3/ansarticle-preprint.cls
new file mode 100644 (file)
index 0000000..da94dde
--- /dev/null
@@ -0,0 +1,149 @@
+% $Id: ansarticle.cls 2730 2011-06-03 09:53:18Z logg $
+
+% FIXME: (AL) Need to choose a license for this style, I suggest GFDL
+
+% Basic setup
+\NeedsTeXFormat{LaTeX2e}
+\ProvidesClass{ansarticle-preprint}
+\LoadClass[twoside,a4paper]{article}
+
+% Load packages
+\RequirePackage{a4wide}
+\RequirePackage{anslistings}
+\RequirePackage{algorithm,algorithmicx,algpseudocode}
+\RequirePackage{amsmath,amssymb}
+\RequirePackage[noblocks]{authblk}
+\RequirePackage{booktabs}
+\RequirePackage{fancyhdr}
+\RequirePackage{graphicx}
+\RequirePackage[hyperfootnotes=false,colorlinks,linkcolor=blue,urlcolor=blue,citecolor=blue]{hyperref}
+\RequirePackage{natbib}
+
+\RequirePackage{lastpage}
+\RequirePackage{listings}
+\RequirePackage[colorinlistoftodos,textwidth=4cm,shadow]{todonotes}
+
+
+% Font selection
+\RequirePackage[T1]{fontenc}
+\RequirePackage{ae,aecompl}
+\RequirePackage{pxfonts}        % Palatino for running text and math
+\renewcommand{\sfdefault}{pag}  % Avantgarde for sans serif (section headings)
+
+% Section headings
+\renewcommand{\section}{%
+  \@startsection{section}{0}{0pt}{2ex}{1ex}{\large\bf\sffamily}}
+\renewcommand{\subsection}{%
+  \@startsection{subsection}{1}{0pt}{\baselineskip}{.5ex}{\bf\sffamily}}
+\renewcommand{\subsubsection}{%
+  \@startsection{subsubsection}{2}{0pt}{\baselineskip}{-1em}{\bf\sffamily}}
+\renewcommand{\paragraph}{%
+  \@startsection{paragraph}{3}{0pt}{0ex}{-0.5em}{\bf\sffamily}}
+\renewcommand{\subparagraph}{%
+  \@startsection{subparagraph}{4}{0pt}{0ex}{-0.5em}{\bf\sffamily}}
+\setcounter{secnumdepth}{10}
+
+% Paragraphs
+\setlength{\parindent}{0pt}
+\setlength{\parskip}{1ex plus 2ex}
+
+% Running title and author
+\let\@runningtitle\@empty
+\let\@runningauthor\@empty
+\newcommand{\runningtitle}[1]{\gdef\@runningtitle{#1}}
+\newcommand{\runningauthor}[1]{\gdef\@runningauthor{#1}}
+
+% Formatting volume and article number
+\newread\datafile
+\openin\datafile=ansinfo
+\ifeof\datafile
+\message{File datafile.tex with volume, number, and year is missing}
+\def\ANSreceived{never}
+\def\ANSrevised{never}
+\def\ANSaccepted{never}
+\def\ANSpublished{never}
+\def\ANSvolume{VV}
+\def\ANSnumber{NN}
+\def\ANSyear{}
+\else
+\closein\datafile
+\input{ansinfo}
+\fi
+
+% Page headers and footers
+\fancyhead[RO, LE]{\thepage}
+\fancyhead[LO]{\@runningtitle}
+\fancyhead[RE]{\@runningauthor}
+\fancyfoot[RE,LO]{%
+  %\footnotesize \copyright{} by the authors, \ANSyear
+  }
+\fancyfoot[RO,LE]{%
+  %\footnotesize Archive of Numerical Software \ANSvolume(\ANSnumber), \ANSyear
+  }
+\fancyfoot[C]{}
+\renewcommand{\headrulewidth}{0pt}
+\pagestyle{fancy}
+
+% Front matter
+\renewcommand*{\title}[2][]{\gdef\s@title{#1}\gdef\@title{#2}}
+\renewcommand{\Authfont}{\large\sffamily}
+\renewcommand{\Affilfont}{\normalsize\sffamily}
+\renewcommand{\maketitle}{
+  % Footnote stuff
+  \let\footnotesize\small
+  \def\footnoterule{\vspace*{-3pt}\rule{.4\columnwidth}{.4pt}\vspace*{2.6pt}}
+  \renewcommand\thefootnote{\sffamily\@fnsymbol\c@footnote}
+  \let\footnote\thanks
+  % Title
+%   \hfill\fboxrule2pt\fboxsep3mm\fbox{\parbox{5cm}{\centering
+%         Archive of Numerical Software\\
+%         vol. \ANSvolume, no. \ANSnumber, pages 1--\pageref*{LastPage}\\
+%         \copyright{} \ANSyear}}
+  \vskip 60\p@
+  \begin{center}
+    {\LARGE \textsf{\textbf{\@title}} \par}
+    \vskip 8mm
+    {\large \lineskip .75em \textsf{\@author} }
+    \vskip 4mm
+  \end{center}\par
+  % Affiliation stuff
+  \@thanks
+  % Paper received
+  \vskip 3mm
+%   \textbf{\sffamily Received: }\ANSreceived;
+%   \textbf{\sffamily final revision:} \ANSrevised;
+%   \textbf{\sffamily published:} \ANSpublished.
+%   % Some more fixes
+  \vskip 3mm
+  \setcounter{footnote}{0}%
+  \global\let\thanks\relax
+  \global\let\maketitle\relax
+  \global\let\@thanks\@empty
+  \global\let\@author\@empty
+  \global\let\@date\@empty
+  \global\let\@title\@empty
+  \global\let\title\relax
+  \global\let\author\relax
+  \global\let\date\relax
+  \global\let\and\relax
+  % No headers/footers on front page
+  \thispagestyle{empty}
+}
+
+% Abstract heading
+\renewenvironment{abstract}{\textsf{\textbf{Abstract: }}}{}
+
+% Useful macro
+\newcommand{\fixme}[1]{\todo[inline, color=red!40]{#1}}
+
+% Some useful notation macros
+\newcommand{\R}{\mathbb{R}}
+\newcommand{\dx}{\,\mathrm{d}x}
+\newcommand{\dX}{\,\mathrm{d}X}
+\newcommand{\ds}{\,\mathrm{d}s}
+\newcommand{\dS}{\,\mathrm{d}S}
+\newcommand{\dt}{\,\mathrm{d}t}
+\newcommand{\inner}[2]{\langle #1, #2 \rangle}
+\newcommand{\nedelec}{N\'ed\'elec}
+\newcommand{\babuska}{Babu\v{s}ka}
+\newcommand{\emp}[1]{\texttt{#1}}
diff --git a/8.3/anslistings.sty b/8.3/anslistings.sty
new file mode 100644 (file)
index 0000000..030301c
--- /dev/null
@@ -0,0 +1,442 @@
+%% Listings environments for Archive of Numerical Software.
+%%
+%% The following listings environments are provided:
+%%
+%% c++        for C++ code
+%% python     for Python code
+%% cython     for Cython code
+%% xml        for XML code
+%% bash       for BASH code
+%% swigcode   for SWIG code
+%% uflcode    for UFL code
+%% matlab     for MATLAB code
+%% anycode    for generic code
+%% progoutput for program output
+%% gencode    for generated code
+%% latexcode  for LaTeX code
+%% fortran    for FORTRAN code
+%%
+%% This style file is based on original work by Olivier Verdier
+%% <olivier.verdier@math.ntnu.no> (pythonhighlight.sty),
+%% with contributions from Johan Hake <johan.hake@gmail.com>.
+%%
+%% Modified for ANS by Anders Logg <logg@simula.no>, 2011.
+%%
+%% Modified by Hans Petter Langtangen <hpl@simula.no>, 2011, to
+%% have pairs c++ (with C++ title) and c++:nt (no title),
+%% python and python:nt, etc. (It is not always desirable to
+%% have a title with the language.) Added Cython and Fortran style.
+%%
+%% First added:   2011-05-16
+%% Last modified: 2011-06-03
+
+\NeedsTeXFormat{LaTeX2e}
+\ProvidesPackage{anslistings}[2009/03/28 code highlighting; provided by Olivier Verdier <olivier@maths.lth.se>]
+
+% Load required packages
+\RequirePackage{listings}
+\RequirePackage{xcolor}
+
+% Basic setup
+\renewcommand{\lstlistlistingname}{Code Listings}
+\renewcommand{\lstlistingname}{Code Listing}
+\newcommand{\codetitlestyle}[1]{\hspace{9cm}\small\textit{#1}\hspace{0.1cm}}
+%\newcommand{\codetitlestyle}[1]{\small\textit{#1}\hspace{0.1cm}}
+\newcommand{\belowtitleskip}{2pt}
+\newcommand{\captionposition}{t}
+\newcommand{\framemargin}{0.5ex}
+\newcommand{\literatecolour}{\textcolor{literatecolour}}
+
+% Colors
+\definecolor{gray}{gray}{0.5}
+\colorlet{commentcolour}{green!50!black}
+\colorlet{stringcolour}{red!60!black}
+\colorlet{keywordcolour}{magenta!90!black}
+\colorlet{exceptioncolour}{yellow!50!red}
+\colorlet{commandcolour}{blue!60!black}
+\colorlet{numpycolour}{blue!60!green}
+\colorlet{literatecolour}{magenta!90!black}
+\colorlet{promptcolour}{green!50!black}
+\colorlet{specmethodcolour}{violet}
+\colorlet{indendifiercolour}{green!70!white}
+
+% Define the common style to be shared by all languages
+\lstdefinestyle{c@mmon}{%
+showtabs=true,                       % show tabs in strings using underscore
+tab=,
+tabsize=2,                           % tab means 2 spaces
+basicstyle=\ttfamily\footnotesize,   % fonts used for the code
+breaklines=true,                     % break lines
+breakatwhitespace=true,              % let linebreaks happen at whitespace
+showspaces=false,                    % true: show spaces with a particular underscore
+aboveskip=1ex,
+frame=trbl,                          % top+right+bottom+left (TB draws double lines at top + bottom)
+%framerule=0.4pt                     % thickness of frame
+rulecolor=\color{black},             % frame color
+backgroundcolor=\color{yellow!10},
+xleftmargin=5pt,
+xrightmargin=5pt,
+%numbers=left,                       % put line numbers on the left
+%stepnumber=2,                       % stepnumber=1 numbers each line, =n every n lines
+}
+\lstset{style=c@mmon}
+
+%--- Typesetting LaTeX ---
+\lstnewenvironment{latexcode}{\lstset{language=[LaTeX]TeX,style=c@mmon}}{}
+\newcommand{\inputlatex}[1]{\lstset{language=[LaTeX]TeX,style=c@mmon}%
+  \lstinputlisting{#1}}
+\lstnewenvironment{latexcode:nt}{\lstset{language=[LaTeX]TeX,style=c@mmon}}{}
+
+%--- C++ ---
+
+\lstdefinestyle{cppstyle}{
+language=c++,
+style=c@mmon,
+stringstyle=\color{stringcolour},
+showstringspaces=false,
+alsoletter={1234567890},
+keywordstyle=\color{keywordcolour}\bfseries,
+emph={auto,const,struct,%
+break,continue,else,for,switch,void,%
+case,default,enum,goto,register,sizeof,typedef,%
+char,do,extern,if,return,static,union,while,%
+asm,dynamic_cast,namespace,reinterpret_cast,try,%
+bool,explicit,new,static_cast,typeid,volatile,%
+catch,operator,template,typename,%
+class,friend,private,this,using,%
+const_cast,inline,public,throw,virtual,%
+delete,mutable,protected,wchar_t,%
+or,and,xor,not,assert},
+emphstyle=\color{blue}\bfseries,
+emph={[2]true, false, NULL},
+emphstyle=[2]\color{keywordcolour},
+emph={[3]double,float,int,short,unsigned,long,signed},
+emphstyle=[3]\color{blue},
+emph={[4]1, 2, 3, 4, 5, 6, 7, 8, 9, 0},
+emph={[4]cos,sin,tan,acos,asin,atan,atan2,cosh,sinh,tanh,%
+exp,frexp,ldexp,log,log10,modf,pow,sqrt,ceil,fabs,floor,fmod},
+emphstyle=[4]\color{numpycolour},
+literate=*%
+{:}{{\literatecolour:}}{1}%
+{=}{{\literatecolour=}}{1}%
+{-}{{\literatecolour-}}{1}%
+{+}{{\literatecolour+}}{1}%
+{*}{{\literatecolour*}}{1}%
+{!}{{\literatecolour!}}{1}%
+{[}{{\literatecolour[}}{1}%
+{]}{{\literatecolour]}}{1}%
+{<}{{\literatecolour<}}{1}%
+{>}{{\literatecolour>}}{1}%
+{>>>}{{\textcolor{promptcolour}{>>>}}}{1}%
+,%
+commentstyle=\color{commentcolour}\slshape,
+morecomment=[l][commentstyle]{//},
+morecomment=[s][commentstyle]{/*}{*/},
+morestring=[b][stringstyle]",
+morestring=[d][stringstyle]'
+}
+
+\newcommand{\inputcpp}[1]{\lstinputlisting[style=cppstyle, title={\codetitlestyle{C++ code}}, belowcaptionskip=\belowtitleskip]{#1}}
+\lstnewenvironment{c++}[1][]{\lstset{style=cppstyle, title={\codetitlestyle{C++ code}}, belowcaptionskip=\belowtitleskip}}{}
+\lstnewenvironment{c++:nt}[1][]{\lstset{style=cppstyle}}{}
+\newcommand{\cppinline}{\lstinline[style=cppstyle,basicstyle=\ttfamily]}
+
+%--- Python and Cython ---
+
+ \lstdefinestyle{pythonstyle}{
+ language=python,
+ showtabs=true,
+ tab=,
+ tabsize=2,
+ basicstyle=\ttfamily\footnotesize,
+ stringstyle=\color{stringcolour},
+ showstringspaces=false,
+ alsoletter={1234567890},
+ otherkeywords={\ , \}, \{, \%, \&, \|},
+ keywordstyle=\color{keywordcolour}\bfseries,
+ emph={and,break,class,continue,def,yield,del,elif ,else,%
+ except,exec,finally,for,from,global,if,import,in,%
+ lambda,not,or,pass,print,raise,return,try,while,assert},
+ emphstyle=\color{blue}\bfseries,
+ emph={[2]True, False, None},
+ emphstyle=[2]\color{keywordcolour},
+ emph={[3]object,type,isinstance,copy,deepcopy,zip,enumerate,reversed,list,len,dict,tuple,xrange,append,execfile,real,imag,reduce,str,repr},
+ emphstyle=[3]\color{commandcolour},
+ emph={Exception,NameError,IndexError,SyntaxError,TypeError,ValueError,OverflowError,ZeroDivisionError},
+ emphstyle=\color{exceptioncolour}\bfseries,
+ commentstyle=\color{commentcolour}\slshape,
+ emph={[4]ode, fsolve, sqrt, exp, sin, cos, arccos, pi,  array, norm, solve, dot, arange, , isscalar, max, sum, flatten, shape, reshape, find, any, all, abs, plot, linspace, legend, quad, polyval,polyfit, hstack, concatenate,vstack,column_stack,empty,zeros,ones,rand,vander,grid,pcolor,eig,eigs,eigvals,svd,qr,tan,det,logspace,roll,min,mean,cumsum,cumprod,diff,vectorize,lstsq,cla,eye,xlabel,ylabel,squeeze},
+ emphstyle=[4]\color{numpycolour},
+ emph={[5]__init__,__add__,__mul__,__div__,__sub__,__call__,__getitem__,__setitem__,__eq__,__ne__,__nonzero__,__rmul__,__radd__,__repr__,__str__,__get__,__truediv__,__pow__,__name__,__future__,__all__},
+ emphstyle=[5]\color{specmethodcolour},
+ emph={[6]assert,range,yield},
+ emphstyle=[6]\color{keywordcolour}\bfseries,
+ literate=*%
+ {:}{{\literatecolour:}}{1}%
+ {=}{{\literatecolour=}}{1}%
+ {-}{{\literatecolour-}}{1}%
+ {+}{{\literatecolour+}}{1}%
+ {*}{{\literatecolour*}}{1}%
+ {/}{{\literatecolour/}}{1}%
+ {!}{{\literatecolour!}}{1}%
+ {[}{{\literatecolour[}}{1}%
+ {]}{{\literatecolour]}}{1}%
+ {<}{{\literatecolour<}}{1}%
+ {>}{{\literatecolour>}}{1}%
+ {>>>}{{\textcolor{promptcolour}{>>>}}}{1}%
+ ,%
+ breaklines=true,
+ breakatwhitespace= true,
+ aboveskip=1ex,
+ frame=trbl,
+ framesep=.3ex,
+ rulecolor=\color{black!40},
+ backgroundcolor=\color{yellow!10}
+}
+
+
+ \lstdefinestyle{cythonstyle}{
+ language=cython,
+ showtabs=true,
+ tab=,
+ tabsize=2,
+ basicstyle=\ttfamily\footnotesize,
+ stringstyle=\color{stringcolour},
+ showstringspaces=false,
+ alsoletter={1234567890},
+ otherkeywords={\ , \}, \{, \%, \&, \|},
+ keywordstyle=\color{keywordcolour}\bfseries,
+ emph={and,break,class,continue,def,cdef,cpdef,yield,del,elif ,else,%
+ except,exec,finally,for,from,global,if,import,in,%
+ lambda,not,or,pass,print,raise,return,try,while,assert,cdef,cpdef},
+ emphstyle=\color{blue}\bfseries,
+ emph={[2]True, False, None},
+ emphstyle=[2]\color{keywordcolour},
+ emph={[3]object,type,isinstance,copy,deepcopy,zip,enumerate,reversed,list,len,dict,tuple,xrange,append,execfile,real,imag,reduce,str,repr,float,int,ndarray,complex,double},
+ emphstyle=[3]\color{commandcolour},
+ emph={Exception,NameError,IndexError,SyntaxError,TypeError,ValueError,OverflowError,ZeroDivisionError},
+ emphstyle=\color{exceptioncolour}\bfseries,
+ commentstyle=\color{commentcolour}\slshape,
+ emph={[4]ode, fsolve, sqrt, exp, sin, cos, arccos, pi,  array, norm, solve, dot, arange, , isscalar, max, sum, flatten, shape, reshape, find, any, all, abs, plot, linspace, legend, quad, polyval,polyfit, hstack, concatenate,vstack,column_stack,empty,zeros,ones,rand,vander,grid,pcolor,eig,eigs,eigvals,svd,qr,tan,det,logspace,roll,min,mean,cumsum,cumprod,diff,vectorize,lstsq,cla,eye,xlabel,ylabel,squeeze},
+ emphstyle=[4]\color{numpycolour},
+ emph={[5]__init__,__add__,__mul__,__div__,__sub__,__call__,__getitem__,__setitem__,__eq__,__ne__,__nonzero__,__rmul__,__radd__,__repr__,__str__,__get__,__truediv__,__pow__,__name__,__future__,__all__},
+ emphstyle=[5]\color{specmethodcolour},
+ emph={[6]assert,range,yield},
+ emphstyle=[6]\color{keywordcolour}\bfseries,
+ literate=*%
+ {:}{{\literatecolour:}}{1}%
+ {=}{{\literatecolour=}}{1}%
+ {-}{{\literatecolour-}}{1}%
+ {+}{{\literatecolour+}}{1}%
+ {*}{{\literatecolour*}}{1}%
+ {/}{{\literatecolour/}}{1}%
+ {!}{{\literatecolour!}}{1}%
+ {[}{{\literatecolour[}}{1}%
+ {]}{{\literatecolour]}}{1}%
+ {<}{{\literatecolour<}}{1}%
+ {>}{{\literatecolour>}}{1}%
+ {>>>}{{\textcolor{promptcolour}{>>>}}}{1}%
+ ,%
+ breaklines=true,
+ breakatwhitespace= true,
+ aboveskip=1ex,
+ frame=trbl,
+ framesep=.3ex,
+ rulecolor=\color{black!40},
+ backgroundcolor=\color{yellow!10}
+}
+
+\newcommand{\inputpython}[1]{\lstinputlisting[style=pythonstyle,title={\codetitlestyle{Python code }},belowcaptionskip=\belowtitleskip]{#1}}
+\lstnewenvironment{python}[1][]{\lstset{style=pythonstyle,title={\codetitlestyle{Python code }},belowcaptionskip=\belowtitleskip}}{}
+%\lstnewenvironment{python}[1][]{\lstset{style=pythonstyle,title={\codetitlestyle{Python code }},belowcaptionskip=\belowtitleskip}}{}
+\lstnewenvironment{python:nt}[1][]{\lstset{style=pythonstyle}}{}
+\newcommand{\pythoninline}{\lstinline[style=pythonstyle,basicstyle=\ttfamily]}
+
+
+\newcommand{\inputcython}[1]{\lstinputlisting[style=cythonstyle,title={\codetitlestyle{Cython code }},belowcaptionskip=\belowtitleskip]{#1}}
+\lstnewenvironment{cython}[1][]{\lstset{style=cythonstyle,title={\codetitlestyle{Cython code }},belowcaptionskip=\belowtitleskip}}{}
+\lstnewenvironment{cython:nt}[1][]{\lstset{style=cythonstyle}}{}
+\newcommand{\cythoninline}{\lstinline[style=cythonstyle,basicstyle=\ttfamily]}
+
+%--- FORTRAN ---
+
+% Note: this is basically FORTRAN 77, not 90, 95, 2003/2008.
+\lstdefinestyle{fortranstyle}{
+language=fortran,
+style=c@mmon,
+stringstyle=\color{stringcolour},
+showstringspaces=false,
+alsoletter={1234567890},
+keywordstyle=\color{keywordcolour}\bfseries,
+emph={auto,do,while,if,else,end,endif,enddo,%
+subroutine,function,format,program},
+emphstyle=\color{blue}\bfseries,
+emphstyle=[2]\color{keywordcolour},
+emph={[3]double,real,precision,integer,logical},
+emphstyle=[3]\color{blue},
+emph={[4]1, 2, 3, 4, 5, 6, 7, 8, 9, 0},
+emph={[4]cos,sin,tan,acos,asin,atan,atan2,cosh,sinh,tanh,%
+exp,frexp,ldexp,log,log10,modf,pow,sqrt,ceil,fabs,floor,fmod},
+emphstyle=[4]\color{numpycolour},
+literate=*%
+{:}{{\literatecolour:}}{1}%
+{=}{{\literatecolour=}}{1}%
+{-}{{\literatecolour-}}{1}%
+{+}{{\literatecolour+}}{1}%
+{*}{{\literatecolour*}}{1}%
+{!}{{\literatecolour!}}{1}%
+{[}{{\literatecolour[}}{1}%
+{]}{{\literatecolour]}}{1}%
+{<}{{\literatecolour<}}{1}%
+{>}{{\literatecolour>}}{1}%
+,%
+commentstyle=\color{commentcolour}\slshape,
+morecomment=[l][commentstyle]{C},  % need ! as well for F90
+morestring=[b][stringstyle]",
+morestring=[d][stringstyle]'
+}
+
+\newcommand{\inputfortran}[1]{\lstinputlisting[style=fortranstyle, title={\codetitlestyle{FORTRAN code}}, belowcaptionskip=\belowtitleskip]{#1}}
+\lstnewenvironment{fortran}[1][]{\lstset{style=fortranstyle, title={\codetitlestyle{FORTRAN code}}, belowcaptionskip=\belowtitleskip}}{}
+\lstnewenvironment{fortran:nt}[1][]{\lstset{style=fortranstyle}}{}
+\newcommand{\fortraninline}{\lstinline[style=fortranstyle,basicstyle=\ttfamily]}
+
+
+%--- XML ---
+
+\lstdefinestyle{xmlstyle}{
+language=xml,
+showtabs=true,
+tab=,
+tabsize=2,
+basicstyle=\ttfamily\footnotesize,
+stringstyle=\color{stringcolour},
+showstringspaces=false,
+alsoletter={1234567890},
+emphstyle=\color{exceptioncolour}\bfseries,
+commentstyle=\color{commentcolour}\slshape,
+breaklines=true,
+breakatwhitespace= true,
+aboveskip=1ex,
+frame=trbl,
+framesep=.3ex,
+rulecolor=\color{black!40},
+backgroundcolor=\color{yellow!10}
+}
+
+\newcommand{\inputxml}[1]{\lstinputlisting[style=xmlstyle, title={\codetitlestyle{XML code}}, belowcaptionskip=\belowtitleskip]{#1}}
+\lstnewenvironment{xml}[1][]{\lstset{style=xmlstyle, title={\codetitlestyle{XML code}}, belowcaptionskip=\belowtitleskip}}{}
+\lstnewenvironment{xml:nt}[1][]{\lstset{style=xmlstyle}}{}
+
+%--- Typesetting Bash ---
+
+\lstdefinestyle{bashstyle}{
+language=bash,
+showtabs=true,
+tab=,
+tabsize=2,
+basicstyle=\ttfamily\footnotesize,
+stringstyle=\color{stringcolour},
+showstringspaces=false,
+alsoletter={1234567890},
+otherkeywords={\ , \}, \{, \%, \&, \|},
+emphstyle=\color{exceptioncolour}\bfseries,
+commentstyle=\color{commentcolour}\slshape,
+breaklines=true,
+breakatwhitespace= true,
+aboveskip=1ex,
+frame=trbl,
+framesep=.3ex,
+rulecolor=\color{black!40},
+backgroundcolor=\color{yellow!10}
+}
+
+\newcommand{\inputbash}[1]{\lstinputlisting[style=bashstyle, title={\codetitlestyle{Bash code}}, belowcaptionskip=\belowtitleskip]{#1}}
+\lstnewenvironment{bash}[1][]{\lstset{style=bashstyle, title={\codetitlestyle{Bash code}}, belowcaptionskip=\belowtitleskip}}{}
+\lstnewenvironment{bash:nt}[1][]{\lstset{style=bashstyle}}{}
+\lstnewenvironment{csh}[1][]{\lstset{style=bashstyle, title={\codetitlestyle{Csh code}}, belowcaptionskip=\belowtitleskip}}{}
+\lstnewenvironment{csh:nt}[1][]{\lstset{style=bashstyle}}{}
+
+%--- SWIG ---
+
+\newcommand{\inputswig}[1]{\lstinputlisting[style=cppstyle, title={\codetitlestyle{SWIG code}}, belowcaptionskip=\belowtitleskip]{#1}}
+\lstnewenvironment{swigcode}[1][]{\lstset{style=cppstyle, title={\codetitlestyle{SWIG code}}, belowcaptionskip=\belowtitleskip}}{}
+\lstnewenvironment{swigcode:nt}[1][]{\lstset{style=cppstyle}}{}
+
+%--- UFL ---
+
+\newcommand{\inputufl}[1]{\lstinputlisting[style=pythonstyle, title={\codetitlestyle{UFL code}}, belowcaptionskip=\belowtitleskip]{#1}}
+\lstnewenvironment{uflcode}[1][]{\lstset{style=pythonstyle, title={\codetitlestyle{UFL code}}, belowcaptionskip=\belowtitleskip}}{}
+\lstnewenvironment{uflcode:nt}[1][]{\lstset{style=pythonstyle}}{}
+
+%--- MATLAB ---
+
+% Note: problem with too large width of frame
+\lstnewenvironment{matlab}[1][]{
+\lstset{
+language=matlab,
+basicstyle=\ttfamily\small,
+backgroundcolor=\color{yellow!10}
+frame=trbl,
+rulecolor=\color{black!40},
+emphstyle=\color{blue},
+commentstyle=\color{commentcolour}\slshape,
+keywordstyle=\color{keywordcolour}\bfseries,
+}}{}
+
+%--- Other ---
+
+\lstdefinestyle{anycodestyle}{
+language=bash,
+showtabs=true,
+tab=,
+tabsize=2,
+basicstyle=\ttfamily\footnotesize,
+stringstyle=\color{stringcolour},
+showstringspaces=false,
+alsoletter={1234567890},
+emphstyle=\color{exceptioncolour}\bfseries,
+commentstyle=\color{commentcolour}\slshape,
+breaklines=true,
+breakatwhitespace= true,
+aboveskip=1ex,
+frame=trbl,
+framesep=.3ex,
+rulecolor=\color{black!40},
+backgroundcolor=\color{yellow!10}
+}
+
+\newcommand{\inputanycode}[1]{\lstinputlisting[style=anycodestyle, title={\codetitlestyle{Code}}, belowcaptionskip=\belowtitleskip]{#1}}
+\lstnewenvironment{anycode}[1][]{\lstset{style=anycodestyle, title={\codetitlestyle{Code}}, belowcaptionskip=\belowtitleskip}}{}
+\lstnewenvironment{anycode:nt}[1][]{\lstset{style=anycodestyle}}{}
+
+%--- Output from running programs ---
+
+\lstnewenvironment{progoutput}[1][]{\lstset{style=gencodestyle, title={\codetitlestyle{Output}}, belowcaptionskip=\belowtitleskip}}{}
+\lstnewenvironment{progoutput:nt}[1][]{\lstset{style=gencodestyle}}{}
+
+%--- Generated code ---
+
+\lstdefinestyle{gencodestyle}{
+language=bash,
+showtabs=true,
+tab=,
+tabsize=2,
+basicstyle=\ttfamily\footnotesize,
+stringstyle=\color{stringcolour},
+showstringspaces=false,
+alsoletter={1234567890},
+emphstyle=\color{exceptioncolour}\bfseries,
+commentstyle=\color{commentcolour}\slshape,
+breaklines=true,
+breakatwhitespace= true,
+aboveskip=1ex,
+frame=trbl,
+framesep=.3ex,
+rulecolor=\color{black!40},
+backgroundcolor=\color{yellow!10}
+}
+
+\newcommand{\inputgencode}[1]{\lstinputlisting[style=cppstyle, title={\codetitlestyle{Generated code}}, belowcaptionskip=\belowtitleskip]{#1}}
+\lstnewenvironment{gencode}[1][]{\lstset{style=gencodestyle, title={\codetitlestyle{Generated code}}, belowcaptionskip=\belowtitleskip}}{}
+\lstnewenvironment{gencode:nt}[1][]{\lstset{style=gencodestyle}}{}
diff --git a/8.3/deal83-review b/8.3/deal83-review
new file mode 100644 (file)
index 0000000..0dd18aa
--- /dev/null
@@ -0,0 +1,133 @@
+Reviewer B:
+
+-- MAJOR: --
+
+[X] Some features are not explained at all: improved handling of parallel
+    meshes, periodic boundary conditions with arbitrary orientations, and new
+    manifold boundaries. For each of these, I'd welcome a paragraph that
+    explains the central mechanism and innovation to the interested reader.
+
+    --> Not all of these really involve great innovation, instead of
+        just the labor to make stuff work that previously didn't work.
+        We therefore think that not all of them have to be elaborated
+        upon in more detail. However, we have added a paragraph for
+        the parallel meshes as this indeed was a significant step
+        forward. We have also elaborated upon the complex-valued
+        conversions and the manifold mechanism.
+
+-- MAJOR: --
+
+[X] There are three sections about code contributed by other developers,
+    named M. Tezzele, N. Giuliani, and G. Pitton, each totalling about one half
+    page. I would think, especially in a software paper, that one of these
+    three options may be in order, seperately for the three persons mentioned:
+
+      a. Provide proof that they agree to the publications as is.
+      b. Promote them to coauthor.
+      c. Remove the according paragraph.
+
+   --> We thought that this was an onerous requirement. One of us
+       supervises these students and had previously asked them for
+       their agreement, which they had gladly provided. We do not see
+       how this agreement should be recorded in the paper. Their
+       contributions are also not at the same level to warrant
+       authorship. At the same time, we wanted to give them credit
+       where credit is due, and therefore leave the paragraph as is.
+
+[X] The linear operator extension uses C++11. How does everything compile
+    and act if the compiler does not support that standard?
+
+    --> The footnote already explains this: These classes are simply
+        not available if not in C++11 mode.
+
+------------------------------------------------------
+
+Reviewer C:
+
+[X] The only topic I don't see specifically addressed is whether or not there
+    are any backward incompatibilities.  Perhaps I missed it, but I don't see
+    any list of interfaces that have bee removed or modified.  I am guessing
+    there are none of these, but even that should be explicitly
+    stated.
+
+    --> New section 2.5.
+
+------------------------------------------------------
+
+Reviewer D:
+
+[X] I thought this was a good summary of the changes for the new Deal.II
+    version, and it would be nice if everyone wrote one of these. I was
+    interested in what the coarse mesh numbering might be, but perhaps its only
+    me.
+
+    --> The coarse mesh is numbered in the same way as it is read from
+        the input file (or created internally). This may or may not be
+        a useful numbering for the purpose of partitioning a coarse
+        mesh onto processors, and so we previously re-numbered cells
+        according to a Cuthill-McKee algorithm. This turned out to
+        make things better for small coarse meshes, but not
+        necessarily for larger meshes. The new algorithm is better in
+        this regard, and is briefly described in the paper now.
+
+[X] Section 2: There is a textual description of the changes file, but in a PDF
+    the actual URL and hyperlink would be much more useful.
+
+    --> We made this a link.
+
+[X] Section 2.3.1: This quadrature is not as efficient (or simple) as Tanh-Sinh
+    quadrature: https://en.wikipedia.org/wiki/Tanh-sinh_quadrature
+
+    --> Maybe so, and we'll take that into account for the
+        future. Yet, we can only describe what has actually been
+        changed in any release :-)
+
+[X] Section 2.3.2: You do not say what orders are implemented, or if you have
+    an embedded solve to define all orders.
+
+    --> All orders. These formulas have explicit formulas for points
+    and weights.
+
+[x] ``Lagrangean'' --> ``Lagrangian''
+
+    --> Done.
+
+------------------------------------------------------
+
+Reviewer G:
+
+[x] Typo on page 3, appropriates should be appropriately
+
+    --> Done.
+
+[x] Considering the reference to “template metaprogramming”, I was initially
+    expecting a solution to loop fusion, which didn’t turn out to be there.
+    Your solution is neat and does solve the excessive intermediates problem as
+    you well describe, but for fairness I would like to see a comment that
+    clarifies that template metaprogramming has further benefits you do not
+    achieve here. In particular template metaprogramming techniques allow the
+    C++ compiler to fuse loops over e.g. vectors a,b,c in an expression like
+    “a + k*(b - c)” such that the memory is only iterated over once. This is
+    done by having each operator specify an apply function over single scalars
+    instead of over the whole Range. Of course this could be hard to achieve as
+    a wrapper around e.g. PETSc, but still worth mentioning. All in all it’s a
+    nice twist on operator overloading with C++11 features you present here.
+
+    --> Section 2.1 now contains a paragraph with a short remark.
+
+[X] In addition, following the installation procedure on OS X 10.10 resulted in
+    two minor obstacles I suggest improving in the future (this is not really a
+    flaw of the current article):
+
+    Warnings of possible malware because of “unidentified developers”. You can
+    possibly avoid this in the future by registering with Apple and signing the
+    .dmg. Cmake has the same issue. The user workaround is described in the
+    OS X documentation: simply open the app from Applications in Finder using
+    ctrl+click,Open the first time.
+
+    I didn’t get the option to install links for cmake presented when
+    installing it, but opening cmake from Applications and looking at the menus
+    provided easy instructions.
+
+    --> Good point. We'll take that into account when doing packages
+        in the future. Thanks for the suggestion.
diff --git a/8.3/deal83.bib b/8.3/deal83.bib
new file mode 100644 (file)
index 0000000..e43c4e7
--- /dev/null
@@ -0,0 +1,465 @@
+%% 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}
+}
+
+@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},
+}
+
+
+%% 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     = "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 = {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}
+}
+
+
+@techreport{MaierBardelloniHeltai-2015-a,
+        Author = {Matthias Maier and Mauro Bardelloni and Luca Heltai},
+        Institution = {SISSA},
+        Title = {LinearOperator -- a generic, high-level expression syntax for linear algebra},
+        Year = {2015}}
diff --git a/8.3/deal83.tex b/8.3/deal83.tex
new file mode 100644 (file)
index 0000000..874060f
--- /dev/null
@@ -0,0 +1,603 @@
+\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.3, 2015},
+}
+
+\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.3}
+\author[1]{Wolfgang Bangerth}
+\affil[1]{Department of Mathematics, Texas A\&M University, College Station,
+    TX 77843, USA,
+    %\href{mailto:bangerth@math.tamu.edu}
+    {\texttt{bangerth@math.tamu.edu}}}
+\author[2]{Timo Heister}
+\affil[2]{Mathematical Sciences,
+O-110 Martin Hall.
+Clemson University.
+Clemson, SC 29634, USA,
+%\href{mailto:heister@clemson.edu}
+{\texttt{heister@clemson.edu}}}
+\author[3]{Luca Heltai}
+\affil[3]{SISSA - International School for Advanced Studies, Via
+  Bonomea 265, 34136 Trieste, Italy,
+  %\href{mailto:luca.heltai@sissa.it}
+  {\texttt{luca.heltai@sissa.it}}}
+\author[4]{Guido Kanschat}
+\affil[4]{Interdisciplinary Center for Scientific Computing (IWR),
+  Universität Heidelberg, Im Neuenheimer Feld 368, 69120 Heidelberg, Germany,
+  %\href{mailto:kanschat@uni-heidelberg.de}
+  {\texttt{kanschat@uni-heidelberg.de}}}
+\author[5]{Martin Kronbichler}
+\affil[5]{Institute for Computational Mechanics, Technische
+  Universität München, Boltzmannstr.~15, 85748 Garching b. München,
+  Germany,
+  %\href{mailto:kronbichler@lnm.mw.tum.de}
+  {\texttt{kronbichler@lnm.mw.tum.de}}}
+\author[6]{Matthias Maier}
+\affil[6]{School of Mathematics, University of Minnesota, 127 Vincent Hall,
+  206 Church Street SE, Minneapolis, MN 55455, USA,
+  %\href{mailto:matthias.maier@iwr.uni-heidelberg.de}
+  {\texttt{msmaier@umn.edu}}}
+\author[7]{Bruno Turcksin}
+\affil[7]{Department of Mathematics, Texas A\&M University, College Station,
+  TX 77843, USA,
+  %\href{mailto:turcksin@math.tamu.edu}
+  {\texttt{turcksin@math.tamu.edu}}}
+%\author[8]{Toby~D.~Young}
+%\affil[8]{Institute of Fundamental Technological Research of the Polish
+%  Academy of Sciences, ul. Pawińskiego 5b, Warsaw 02-106, Poland,
+%  %\href{mailto:tyoung@ippt.pan.pl}
+%  {\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.3.
+\end{abstract}
+
+
+\section{Overview}
+
+\dealii{} version 8.3 was released August 1, 2015. 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.3. \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 Improved handling of parallel distributed meshes, including a better
+  numbering of cells on coarse meshes. For meshes with many coarse cells, the
+  previous Cuthill-McKee numbering would lead to very skinny partitions if the
+  processor number was similar to the number of Cuthill-McKee layers. Instead,
+  a hierarchical concept inspired by the Morton numbering has been applied to
+  define close cells in terms of mesh connectivity, see Fig.~\ref{fig:numbering}. This leads to much better
+  volume-to-surface ratios independently of the number of processors and
+  combines nicely with the partitioning of additional child cells generated by
+  p4est \cite{p4est} and speeds up certain iterative solvers.
+\begin{figure}
+\centering
+\includegraphics[height=6cm]{figures/83_cuthill_mckee_ordering.png}\quad
+\includegraphics[height=6cm]{figures/83_hierarchical_ordering.png}
+\caption{Comparison of old coarse-cell numbering by owner based on Cuthill-McKee (left) to the new hierarchical concept (right) on an unstructured mesh with 1100 elements on 17 MPI ranks.}
+\label{fig:numbering}
+\end{figure}
+\item New abstract C++11 interface to linear operators.
+\item All examples have been changed to use the new DynamicSparsityPattern.
+\item Improved support for periodic boundary conditions with arbitrary
+  orientations.
+  %\item Initial support for isogeometric analysis.
+\item New quadrature formulas.
+\item Full conversion to the new manifold mechanism (manifold\_id) for boundary
+  descriptions: \dealii{} previously utilized a mechanism in which one could
+  ask ``boundary'' objects for new points on the boundary, but new points
+  inside cells were always created by just averaging surrounding vertex
+  locations. A previous version of \dealii{} introduced ``manifold'' objects
+  for this, and they are now used consistently throughout the library.
+\item Better support for complex-valued problems by doing internal arithmetic in
+  the correct data types, rather than defaulting to double precision. In
+  particular, we now correctly deduce and store the resulting type when
+  multiplying pieces of data with different type (such as shape functions
+  evaluated at quadrature points -- which are represented in \texttt{double}
+  precision -- and the values of degrees of freedom -- which are represented
+  in ways chosen by the user, including complex-valued data types).
+\item An implementation of Bernstein polynomial-based finite elements.
+\item Interface to the new algebraic multilevel package MueLu of the
+  Trilinos project \cite{trilinos-web-page}.
+\item More descriptive exception messages in many places for improved user
+  productivity in code development.
+\item  More than 140 other features and bugfixes.
+\end{itemize}
+Some 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.3.0/doxygen/deal.II/changes_between_8_2_1_and_8_3.html}{in the file that lists all changes for this release}
+and that is linked to from the web site of each release as well as the
+release announcement.
+
+
+\subsection{Abstract concepts of linear operators}
+
+\dealii{} now offers a versatile mechanism for storing the concept of a
+linear operator as well as partially applied computations. The mechanism is
+inspired by the \emph{expression template} optimization strategy, where C++
+templates are used to create an arithmetic expression at compile time that can
+then be efficiently be evaluated at runtime. In contrast to the template
+approach, the implementation in \dealii{} utilizes C++11 features%
+\footnotemark\footnotetext{Consequently, the classes outlined here are only
+available in \dealii{} if the compiler in use supports C++11.}
+such as \emph{lambda expressions} and \texttt{std::function} objects that
+avoid the majority of the ``template overhead'' that usually comes with a
+pure template solution. In particular, it avoids the often very lengthy and
+cumbersome error messages associated with programming expression templates.
+
+Our implementation only requires a minimal vector and matrix interface,
+that all of \dealii's concrete vector and matrix types adhere to. For
+example, in essence a matrix only has to provide a \texttt{vmult} method
+for matrix-vector multiplication. This makes the interface fully
+transparent with respect to the concrete matrix, or vector type that is
+used, but naturally rules out further low-level optimization approaches
+that can be used for non-distributed linear algebra (such as loop fusion).
+
+The mechanism is centered around two classes, \texttt{LinearOperator} and
+\texttt{PackagedOperation}. Both essentially consist of several
+\texttt{std::function} objects that store the knowledge of how to apply a
+linear operator, or a packaged operation, as well as how to initialize
+vectors of range and domain space:
+\begin{c++}
+template <typename Range, typename Domain> class LinearOperator
+{
+public:
+  std::function<void(Range &v, const Domain &u)> vmult;
+  // ...
+  std::function<void(Range &v, bool fast)> reinit_range_vector;
+  std::function<void(Domain &v, bool fast)> reinit_domain_vector;
+};
+
+template <typename Range> class PackagedOperation
+{
+public:
+  std::function<void(Range &v)> apply;
+  // ...;
+  std::function<void(Range &v, bool fast)> reinit_vector;
+};
+ \end{c++}
+
+The primary purpose of the linear operator concept is to provide syntactic
+sugar for complex matrix-vector operations and free the user from having to
+create, set up, and handle intermediate storage locations by hand. As an
+example, consider the operation $(A+k\,B)\,C$, where $A$, $B$ and $C$ denote
+(possible different) matrices (or, in fact, other linear operators). In order
+to construct a \verb|LinearOperator|
+object \texttt{op} that encapsulates knowledge of this operation,
+\dealii{} now allows one to write:
+
+\begin{c++}
+  dealii::SparseMatrix<double> A, B, C;
+  const double k = ...;
+  // Setup and assembly of matrices
+  .
+  const auto op_a = linear_operator(A);
+  const auto op_b = linear_operator(B);
+  const auto op_c = linear_operator(C);
+
+  const auto op = (op_a + k * op_b) * op_c;
+\end{c++}
+Now, \texttt{op} can be used as a matrix object in its own right for
+further computation. This includes passing it to any of \dealii{}'s linear
+solver classes as the operator for which to solve a linear system. To make
+this work, \dealii{} appropriately overloads arithmetic operators to allow
+composition of linear operators as above.
+
+The \texttt{PackagedOperation} class allows lazy evaluation of expressions
+involving vectors and linear operators. This is done by storing the
+computational expression and only performing the computation when either
+the object is implicitly converted to a vector object, or if
+\texttt{apply()} is invoked by hand. This avoids unnecessary temporary
+storage of intermediate results. As an example consider the addition of
+multiple vectors:
+\begin{c++}
+   dealii::Vector<double> a, b, c, d;
+   // ..
+   dealii::Vector<double> result = a + b - c + d;
+\end{c++}
+
+\texttt{operator+} (with two vector arguments) is implemented to return a
+\texttt{PackagedOperation} whose \texttt{apply} function is implemented the
+following way:
+\begin{c++}
+  apply = [&a, &b](Range &x) {
+                                x = a;
+                                x += b;
+                             };
+\end{c++}
+Similarly, addition and subtraction of mixed vector and packaged operation
+types are implemented. If implemented in the most straightforward way,
+executing these additions would require the use of multiple temporary
+vectors, along with the necessary memory allocation and de-allocation. On
+the other hand, creating a \texttt{PackagedOperation} for the expression
+\texttt{a + b - c + d} and converting it to a vector results in code
+equivalent to the following:
+\begin{c++}
+   dealii::Vector<double> a, b, c, d;
+   // ..
+   dealii::Vector<double> result = a;
+   result += b;
+   result -= c;
+   result += d;
+\end{c++}
+Consequently, this operation avoids the use of any intermediate storage.
+
+Further, in addition to pure vector operations, scalar multiplication
+(and thus all vector space operations) and application of a
+\texttt{LinearOperator} to a vector can be expressed within a
+\texttt{PackagedOperation}. For example, a residual can be expressed as:
+\begin{c++}
+  dealii::Vector<double> residual =  b - op_a * x;
+\end{c++}
+In all of these cases, \texttt{PackagedOperation} only stores references to
+vector and linear operator arguments. As a consequence, creating a
+\texttt{PackagedOperation} object and evaluating it multiple times will always
+use the then-current values of the arguments, not the values at the time the
+packaged operation was created.
+
+\subsection{Initial support for iso-geometric analysis}
+
+Nonuniform rational B-splines (NURBS) are the basis of most modern CAD packages.
+Isogeometric analysis is a computational technique that aims at integrating
+finite element analysis (FEA) into conventional NURBS-based CAD design
+tools by directly using NURBS basis functions in
+the FEA application~\cite{Cottrell2009}. The preliminary
+implementation of the iso-geometric analysis concept in the \dealii{} library
+is based on two main classes: a new finite element based on Bernstein
+polynomials called \verb|FE_Bernstein| and a general mapping called
+\verb|MappingFEField|, which generalizes the iso-parametric model to allow
+the description of the geometry using arbitrary finite element displacement or
+location fields.
+
+The scalar Bernstein finite element \verb|FE_Bernstein|, in analogy
+with \verb|FE_Q|, yields the finite element space of continuous,
+piecewise Bernstein polynomials of degree $p$ in each coordinate
+direction~\cite{Cottrell2009}. This class is realized using tensor
+product polynomials of Bernstein basis polynomials.
+
+The \verb|MappingFEField| is a generalization of the
+\verb|MappingQEulerian| class, for arbitrary vector finite elements. The
+two main notable differences are that this class interprets the degrees of
+freedom of the underlying \verb|DoFHandler| as absolute positions
+instead of displacements; and it
+allows for arbitrary finite element types.
+This class effectively decouples topology from geometry, by relegating all
+geometrical information to the components of a FiniteElement vector field.
+The underlying \verb|Triangulation| class is only used to infer topological
+and connectivity information between cells.
+
+(This feature was primarily developed by Marco Tezzele.)
+
+
+\subsection{New quadrature formulas}
+
+Two specialized quadrature formulas have been added to the library.
+
+\subsubsection{Telles quadrature formulas}
+
+Many applications require the integration of functions which might be
+singular in some a-priori known point locations. A common strategy in such
+cases, which was already implemented in the library, is the use of
+Lachat-Watson quadrature formulas~\cite{Lachat1976}. These formulas are
+fairly accurate but very expensive. A new quadrature formula for singular
+integrals was introduced in \dealii{} that implements the quadrature formula
+developed by Telles in~\cite{Telles-2005-a}.
+
+The main idea of this quadrature formula is to create an iso-morphism of a
+standard Gauss quadrature formula according to a nonlinear transformation
+that has both first and second order derivatives equal to zero at the
+singularity point.  Such a transformation removes the singularity of the
+integrand and drops the approximation error from about the $10 \%$ to
+$0.3\%$ for a large class of singular integrands~\cite{Telles-2005-a}. These
+quadrature formulas are particularly relevant for approximation of Boundary
+Integral Equations (see, e.g.,~\cite{GiulianiMolaHeltai-2015-a}).
+
+(This feature was primarily developed by Nicola Giuliani.)
+
+
+\subsubsection{Gauss-Chebyshev quadrature formulas}
+
+Gauss-Chebyshev quadrature formulas~\cite{AbramowitzStegun} are used to
+approximate integrals of functions on the interval $[-1,1]$ with weight
+$w(x)=(1-x^2)^{-1/2}$.  In \dealii{} the reference interval is $[0,1]$, hence
+our implementation of Gauss-Chebyshev formulas are mapped to this interval,
+and the weight is changed to $w(x)=1/\sqrt{x(1-x)}$.
+
+As for the other Gaussian quadrature formulas, three flavors of
+Gauss-Chebyshev quadrature rules have been implemented for any order:
+\begin{description}
+\item[Gauss-Chebyshev (GC)] formulas with $N$ points that integrate
+  exactly polynomials up to the order $2N-1$;
+\item[Gauss-Radau-Chebyshev (GRC)] formulas with $N$ points where one of
+  the two endpoints of the interval can be specified as a constrained
+  quadrature point; these formulas are exact up to the order $2N-2$;
+\item[Gauss-Lobatto-Chebyshev (GLC)] formulas with $N$ points where two
+  quadrature nodes are constrained to lie on the boundary points of the
+  interval; these formulas exactly integrate polynomials up to the order $2N-3$.
+\end{description}
+
+One important application of the GLC quadrature formulas is in the context
+of Spectral Element Methods (SEM) using Lagrangian interpolants on GLC
+points as basis functions (this is a good choice for the composite
+interpolation of ``very regular'' continuous functions). This pair of basis
+functions and quadrature formulas generates diagonal mass matrices, that
+can be efficiently applied both in direct and in inverse form. For saddle
+point problems, one common choice in SEM~\cite{MadayPatera} is the
+$\mathbb{Q}_N-\mathbb{Q}_{N-2}$ (inf-sup stable) couple based on Lagrangian
+interpolants on $N+1$ GLC and $N-1$ GC nodes respectively.
+
+(This feature was primarily developed by Giuseppe Pitton.)
+
+
+\subsection{Better error messages}
+
+\dealii{} uses assertions extensively to validate that input arguments to
+functions are within their allowed ranges, are mutually consistent, and
+satisfy appropriate preconditions. We also use assertions to check for
+internal conditions as well as for postconditions of many functions. All told,
+the sources of \dealii{} contain around 9,000 assertions.
+
+Whenever an assertion is failed, \dealii{} aborts the program with an error
+message that includes the failing condition, its location, the surrounding
+function's name, the call stack, and additional information specific to the
+exception class associated with this particular error. For example, trying to
+read an element of a vector that does not exist would trigger the exception in
+the following code:
+\begin{c++}
+template <typename Number>
+inline
+Number Vector<Number>::operator() (const size_type i) const
+{
+  Assert (i<vec_size, ExcIndexRange(i,0,vec_size));
+  return val[i];
+}
+\end{c++}
+The error message produced from this code would look like this:
+\begin{verbatim}
+--------------------------------------------------------
+An error occurred in line <1222> of file <.../include/deal.II/lac/vector.h> in function
+    Number& dealii::Vector<number>::operator()(dealii::Vector<number>::size_type)
+      [with Number = double, dealii::Vector<number>::size_type = unsigned int]
+The violated condition was:
+    i<vec_size
+The name and call sequence of the exception was:
+    ExcIndexRangeType<size_type>(i,0,vec_size)
+Additional Information:
+Index 123456 is not in the half-open range [0,679).
+
+Stacktrace:
+-----------
+#0  ./step-22: dealii::Vector<double>::operator()(unsigned int)
+#1  ./step-22: Step22::StokesProblem<2>::assemble_system()
+#2  ./step-22: Step22::StokesProblem<2>::run()
+#3  ./step-22: main
+--------------------------------------------------------
+\end{verbatim}
+
+In this case, the error message does state the index that is being accessed,
+as well as the size of the vector, both under ``Additional Information''. The
+error message may not be overly clear, but it helps illustrate the values of
+variables that participated in the failed condition \verb|i<vec_size|.
+
+However, many error messages produced by \dealii{} either do not produce any
+additional information at all, or very little that is understandable to a
+novice user. Observing users deal with errors in the courses we teach has
+shown that poor error messages are a major obstacle to quickly identifying the
+causes of problems. Ideally, error messages would attempt to explain what is
+going wrong, what are typical causes for this, and what possible solutions
+are.
+
+In an effort to improve this situation, we have rewritten and augmented the
+error messages produced by several dozen classes of assertions. Going through
+the remainder of all error messages is a longer-term project.
+
+
+\subsection{Incompatible changes}
+
+This version of \dealii{} contains a number of changes that are
+incompatible with previous versions. A complete list can be found
+\href{https://www.dealii.org/8.3.0/doxygen/deal.II/changes_between_8_2_1_and_8_3.html}{in
+  the file that lists all changes for this release}. Most of these
+changes are corner cases that are not likely to affect a
+significant fraction of users. In particular, many of these changes
+remove functions and classes that were already deprecated (and
+produced a compiler warning); often these functions had been marked as
+depracted for several years already.
+
+The only change that has the potential to be of more general interest
+is a clarification of the \texttt{Tensor<1,dim>} and
+\texttt{Point<dim>} classes. As they both represent vectors in a
+\texttt{dim}-dimensional space, they were previously often used
+interchangeably. This has been changed in many places where we
+semantically now associate \texttt{Point<dim>} with a \textit{point}
+in space, i.e., a vector anchored at the origin; and where we
+semantically associate \texttt{Tensor<1,dim>} with vectors anchored
+anywhere.
+
+An example is that \texttt{operator-(Point<dim>, Point<dim>)} now
+returns a \texttt{Tensor<1,dim>}. Likewise, normal vectors to cells
+are also represented by this latter data type. Overall, there are few
+resulting incompatibilities, with the exception being assigning an
+expression that previously was a \texttt{Point<dim>} but now is a
+\texttt{Tensor<1,dim>} (such as the difference between two points) to
+a variable of type \texttt{Point<dim>}. In most contexts, however,
+everything will continue to work because a \texttt{Point<dim>} can
+automatically be (down-)cast to a \texttt{Tensor<1,dim>}.
+
+
+\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-2015-a}.
+\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}.
+
+\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 '^ *\(.*2015' 8.2.1-vs-8.3.0.h | perl -p -e 's/2015.*//g; s/,/\n/g; s/^ *\(?//g;' | sort | uniq
+% then sort by last name and remove the authors of this paper
+%
+Daniel Arndt,
+Mauro Bardelloni,
+Praveen C,
+Denis Davydov,
+Anton Evgrafov,
+Arezou Ghesmati,
+Nicola Giuliani,
+Lukas Korous,
+Ross Kynch,
+Giuseppe Pitton,
+Fernando Posada,
+Lei Qiao,
+Angel Rodriguez,
+Ian Rose,
+Florian Sonner,
+Martin Steigemann,
+Zhen Tao,
+Marco Tezzele,
+David Wells.
+
+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.
+
+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.
+
+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{deal83}{}
+\bibliographystyle{abbrv}
+
+\end{document}

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.